{"at":"2026-10-26T23:30:11.287Z","sourceCommit":"34e6b291fdbe38d5c761e0f342a4d879d89504dc","entry":"independent ESA production deployment, authenticated default debug domain","collectorNodeVersion":"v26.12.0","meta":{"probe":"unjs-esa-compat-v1","upstreamCommit":"34e6b291fdbe38d5c761e0f342a4d879d89504dc","collectorVersion":"10.16.1","total":10584,"groups":{"javascript":1094,"api":9431,"webassembly":59},"excludedNetworkInvocation":["api.EventSource","api.EventSource.close","api.EventSource.EventSource","api.EventSource.EventSource.options_withCredentials_parameter","api.EventSource.readyState","api.EventSource.url","api.EventSource.withCredentials","api.ReadableStream","api.ReadableStream.@@asyncIterator","api.ReadableStream.cancel","api.ReadableStream.getReader","api.ReadableStream.locked","api.ReadableStream.pipeThrough","api.ReadableStream.pipeTo","api.ReadableStream.tee","api.ReadableStream.values","api.ReadableStreamDefaultReader","api.ReadableStreamDefaultReader.cancel","api.ReadableStreamDefaultReader.closed","api.ReadableStreamDefaultReader.read","api.ReadableStreamDefaultReader.releaseLock","api.Response.Response.accept_readablestream"],"sampleIds":["api.ANGLE_instanced_arrays","api.ANGLE_instanced_arrays.drawArraysInstancedANGLE","api.ANGLE_instanced_arrays.drawElementsInstancedANGLE","api.ANGLE_instanced_arrays.vertexAttribDivisorANGLE"],"globalsBeforeHarness":{"navigator":"undefined","denoBuild":"undefined"}},"batches":[{"offset":0,"selected":24,"returned":21},{"offset":24,"selected":24,"returned":24},{"offset":48,"selected":24,"returned":24},{"offset":72,"selected":24,"returned":24},{"offset":96,"selected":24,"returned":22},{"offset":120,"selected":24,"returned":24},{"offset":144,"selected":24,"returned":24},{"offset":168,"selected":24,"returned":24},{"offset":192,"selected":24,"returned":24},{"offset":216,"selected":24,"returned":24},{"offset":240,"selected":24,"returned":24},{"offset":264,"selected":24,"returned":15},{"offset":288,"selected":24,"returned":20},{"offset":312,"selected":24,"returned":21},{"offset":336,"selected":24,"returned":24},{"offset":360,"selected":24,"returned":24},{"offset":384,"selected":24,"returned":24},{"offset":408,"selected":24,"returned":24},{"offset":432,"selected":24,"returned":24},{"offset":456,"selected":24,"returned":24},{"offset":480,"selected":24,"returned":24},{"offset":504,"selected":24,"returned":24},{"offset":528,"selected":24,"returned":21},{"offset":552,"selected":24,"returned":24},{"offset":576,"selected":24,"returned":24},{"offset":600,"selected":24,"returned":24},{"offset":624,"selected":24,"returned":24},{"offset":648,"selected":24,"returned":24},{"offset":672,"selected":24,"returned":24},{"offset":696,"selected":24,"returned":24},{"offset":720,"selected":24,"returned":24},{"offset":744,"selected":24,"returned":24},{"offset":768,"selected":24,"returned":24},{"offset":792,"selected":24,"returned":24},{"offset":816,"selected":24,"returned":24},{"offset":840,"selected":24,"returned":24},{"offset":864,"selected":24,"returned":24},{"offset":888,"selected":24,"returned":24},{"offset":912,"selected":24,"returned":24},{"offset":936,"selected":24,"returned":24},{"offset":960,"selected":24,"returned":24},{"offset":984,"selected":24,"returned":24},{"offset":1008,"selected":24,"returned":24},{"offset":1032,"selected":24,"returned":24},{"offset":1056,"selected":24,"returned":24},{"offset":1080,"selected":24,"returned":24},{"offset":1104,"selected":24,"returned":24},{"offset":1128,"selected":24,"returned":24},{"offset":1152,"selected":24,"returned":21},{"offset":1176,"selected":24,"returned":24},{"offset":1200,"selected":24,"returned":24},{"offset":1224,"selected":24,"returned":24},{"offset":1248,"selected":24,"returned":24},{"offset":1272,"selected":24,"returned":24},{"offset":1296,"selected":24,"returned":8},{"offset":1320,"selected":24,"returned":24},{"offset":1344,"selected":24,"returned":24},{"offset":1368,"selected":24,"returned":21},{"offset":1392,"selected":24,"returned":24},{"offset":1416,"selected":24,"returned":24},{"offset":1440,"selected":24,"returned":24},{"offset":1464,"selected":24,"returned":24},{"offset":1488,"selected":24,"returned":24},{"offset":1512,"selected":24,"returned":24},{"offset":1536,"selected":24,"returned":24},{"offset":1560,"selected":24,"returned":24},{"offset":1584,"selected":24,"returned":24},{"offset":1608,"selected":24,"returned":24},{"offset":1632,"selected":24,"returned":24},{"offset":1656,"selected":24,"returned":24},{"offset":1680,"selected":24,"returned":18},{"offset":1704,"selected":24,"returned":24},{"offset":1728,"selected":24,"returned":24},{"offset":1752,"selected":24,"returned":23},{"offset":1776,"selected":24,"returned":24},{"offset":1800,"selected":24,"returned":24},{"offset":1824,"selected":24,"returned":24},{"offset":1848,"selected":24,"returned":24},{"offset":1872,"selected":24,"returned":24},{"offset":1896,"selected":24,"returned":24},{"offset":1920,"selected":24,"returned":24},{"offset":1944,"selected":24,"returned":24},{"offset":1968,"selected":24,"returned":24},{"offset":1992,"selected":24,"returned":24},{"offset":2016,"selected":24,"returned":24},{"offset":2040,"selected":24,"returned":24},{"offset":2064,"selected":24,"returned":24},{"offset":2088,"selected":24,"returned":24},{"offset":2112,"selected":24,"returned":24},{"offset":2136,"selected":24,"returned":24},{"offset":2160,"selected":24,"returned":24},{"offset":2184,"selected":24,"returned":24},{"offset":2208,"selected":24,"returned":24},{"offset":2232,"selected":24,"returned":23},{"offset":2256,"selected":24,"returned":24},{"offset":2280,"selected":24,"returned":19},{"offset":2304,"selected":24,"returned":15},{"offset":2328,"selected":24,"returned":14},{"offset":2352,"selected":24,"returned":21},{"offset":2376,"selected":24,"returned":20},{"offset":2400,"selected":24,"returned":24},{"offset":2424,"selected":24,"returned":14},{"offset":2448,"selected":24,"returned":24},{"offset":2472,"selected":24,"returned":24},{"offset":2496,"selected":24,"returned":24},{"offset":2520,"selected":24,"returned":22},{"offset":2544,"selected":24,"returned":19},{"offset":2568,"selected":24,"returned":24},{"offset":2592,"selected":24,"returned":24},{"offset":2616,"selected":24,"returned":24},{"offset":2640,"selected":24,"returned":24},{"offset":2664,"selected":24,"returned":24},{"offset":2688,"selected":24,"returned":24},{"offset":2712,"selected":24,"returned":24},{"offset":2736,"selected":24,"returned":24},{"offset":2760,"selected":24,"returned":24},{"offset":2784,"selected":24,"returned":24},{"offset":2808,"selected":24,"returned":24},{"offset":2832,"selected":24,"returned":24},{"offset":2856,"selected":24,"returned":24},{"offset":2880,"selected":24,"returned":24},{"offset":2904,"selected":24,"returned":24},{"offset":2928,"selected":24,"returned":24},{"offset":2952,"selected":24,"returned":24},{"offset":2976,"selected":24,"returned":24},{"offset":3000,"selected":24,"returned":24},{"offset":3024,"selected":24,"returned":24},{"offset":3048,"selected":24,"returned":24},{"offset":3072,"selected":24,"returned":24},{"offset":3096,"selected":24,"returned":24},{"offset":3120,"selected":24,"returned":24},{"offset":3144,"selected":24,"returned":24},{"offset":3168,"selected":24,"returned":24},{"offset":3192,"selected":24,"returned":24},{"offset":3216,"selected":24,"returned":24},{"offset":3240,"selected":24,"returned":24},{"offset":3264,"selected":24,"returned":24},{"offset":3288,"selected":24,"returned":24},{"offset":3312,"selected":24,"returned":24},{"offset":3336,"selected":24,"returned":24},{"offset":3360,"selected":24,"returned":24},{"offset":3384,"selected":24,"returned":24},{"offset":3408,"selected":24,"returned":24},{"offset":3432,"selected":24,"returned":24},{"offset":3456,"selected":24,"returned":24},{"offset":3480,"selected":24,"returned":24},{"offset":3504,"selected":24,"returned":24},{"offset":3528,"selected":24,"returned":24},{"offset":3552,"selected":24,"returned":24},{"offset":3576,"selected":24,"returned":24},{"offset":3600,"selected":24,"returned":24},{"offset":3624,"selected":24,"returned":24},{"offset":3648,"selected":24,"returned":24},{"offset":3672,"selected":24,"returned":24},{"offset":3696,"selected":24,"returned":24},{"offset":3720,"selected":24,"returned":24},{"offset":3744,"selected":24,"returned":24},{"offset":3768,"selected":24,"returned":24},{"offset":3792,"selected":24,"returned":24},{"offset":3816,"selected":24,"returned":24},{"offset":3840,"selected":24,"returned":24},{"offset":3864,"selected":24,"returned":24},{"offset":3888,"selected":24,"returned":24},{"offset":3912,"selected":24,"returned":24},{"offset":3936,"selected":24,"returned":24},{"offset":3960,"selected":24,"returned":24},{"offset":3984,"selected":24,"returned":24},{"offset":4008,"selected":24,"returned":24},{"offset":4032,"selected":24,"returned":24},{"offset":4056,"selected":24,"returned":24},{"offset":4080,"selected":24,"returned":24},{"offset":4104,"selected":24,"returned":6},{"offset":4128,"selected":24,"returned":23},{"offset":4152,"selected":24,"returned":18},{"offset":4176,"selected":24,"returned":24},{"offset":4200,"selected":24,"returned":23},{"offset":4224,"selected":24,"returned":0},{"offset":4248,"selected":24,"returned":19},{"offset":4272,"selected":24,"returned":24},{"offset":4296,"selected":24,"returned":24},{"offset":4320,"selected":24,"returned":24},{"offset":4344,"selected":24,"returned":24},{"offset":4368,"selected":24,"returned":24},{"offset":4392,"selected":24,"returned":24},{"offset":4416,"selected":24,"returned":24},{"offset":4440,"selected":24,"returned":24},{"offset":4464,"selected":24,"returned":24},{"offset":4488,"selected":24,"returned":24},{"offset":4512,"selected":24,"returned":24},{"offset":4536,"selected":24,"returned":24},{"offset":4560,"selected":24,"returned":24},{"offset":4584,"selected":24,"returned":24},{"offset":4608,"selected":24,"returned":24},{"offset":4632,"selected":24,"returned":24},{"offset":4656,"selected":24,"returned":21},{"offset":4680,"selected":24,"returned":24},{"offset":4704,"selected":24,"returned":24},{"offset":4728,"selected":24,"returned":24},{"offset":4752,"selected":24,"returned":24},{"offset":4776,"selected":24,"returned":24},{"offset":4800,"selected":24,"returned":24},{"offset":4824,"selected":24,"returned":24},{"offset":4848,"selected":24,"returned":24},{"offset":4872,"selected":24,"returned":24},{"offset":4896,"selected":24,"returned":24},{"offset":4920,"selected":24,"returned":24},{"offset":4944,"selected":24,"returned":24},{"offset":4968,"selected":24,"returned":24},{"offset":4992,"selected":24,"returned":24},{"offset":5016,"selected":24,"returned":24},{"offset":5040,"selected":24,"returned":24},{"offset":5064,"selected":24,"returned":20},{"offset":5088,"selected":24,"returned":24},{"offset":5112,"selected":24,"returned":24},{"offset":5136,"selected":24,"returned":24},{"offset":5160,"selected":24,"returned":24},{"offset":5184,"selected":24,"returned":24},{"offset":5208,"selected":24,"returned":24},{"offset":5232,"selected":24,"returned":11},{"offset":5256,"selected":24,"returned":0},{"offset":5280,"selected":24,"returned":1},{"offset":5304,"selected":24,"returned":24},{"offset":5328,"selected":24,"returned":24},{"offset":5352,"selected":24,"returned":17},{"offset":5376,"selected":24,"returned":16},{"offset":5400,"selected":24,"returned":24},{"offset":5424,"selected":24,"returned":24},{"offset":5448,"selected":24,"returned":24},{"offset":5472,"selected":24,"returned":24},{"offset":5496,"selected":24,"returned":24},{"offset":5520,"selected":24,"returned":24},{"offset":5544,"selected":24,"returned":24},{"offset":5568,"selected":24,"returned":21},{"offset":5592,"selected":24,"returned":24},{"offset":5616,"selected":24,"returned":24},{"offset":5640,"selected":24,"returned":24},{"offset":5664,"selected":24,"returned":24},{"offset":5688,"selected":24,"returned":24},{"offset":5712,"selected":24,"returned":20},{"offset":5736,"selected":24,"returned":21},{"offset":5760,"selected":24,"returned":14},{"offset":5784,"selected":24,"returned":20},{"offset":5808,"selected":24,"returned":24},{"offset":5832,"selected":24,"returned":24},{"offset":5856,"selected":24,"returned":24},{"offset":5880,"selected":24,"returned":24},{"offset":5904,"selected":24,"returned":20},{"offset":5928,"selected":24,"returned":24},{"offset":5952,"selected":24,"returned":24},{"offset":5976,"selected":24,"returned":24},{"offset":6000,"selected":24,"returned":18},{"offset":6024,"selected":24,"returned":24},{"offset":6048,"selected":24,"returned":24},{"offset":6072,"selected":24,"returned":24},{"offset":6096,"selected":24,"returned":24},{"offset":6120,"selected":24,"returned":24},{"offset":6144,"selected":24,"returned":24},{"offset":6168,"selected":24,"returned":24},{"offset":6192,"selected":24,"returned":24},{"offset":6216,"selected":24,"returned":24},{"offset":6240,"selected":24,"returned":24},{"offset":6264,"selected":24,"returned":24},{"offset":6288,"selected":24,"returned":24},{"offset":6312,"selected":24,"returned":22},{"offset":6336,"selected":24,"returned":24},{"offset":6360,"selected":24,"returned":24},{"offset":6384,"selected":24,"returned":22},{"offset":6408,"selected":24,"returned":24},{"offset":6432,"selected":24,"returned":24},{"offset":6456,"selected":24,"returned":24},{"offset":6480,"selected":24,"returned":24},{"offset":6504,"selected":24,"returned":24},{"offset":6528,"selected":24,"returned":24},{"offset":6552,"selected":24,"returned":24},{"offset":6576,"selected":24,"returned":24},{"offset":6600,"selected":24,"returned":24},{"offset":6624,"selected":24,"returned":24},{"offset":6648,"selected":24,"returned":24},{"offset":6672,"selected":24,"returned":24},{"offset":6696,"selected":24,"returned":24},{"offset":6720,"selected":24,"returned":24},{"offset":6744,"selected":24,"returned":24},{"offset":6768,"selected":24,"returned":24},{"offset":6792,"selected":24,"returned":24},{"offset":6816,"selected":24,"returned":24},{"offset":6840,"selected":24,"returned":24},{"offset":6864,"selected":24,"returned":24},{"offset":6888,"selected":24,"returned":24},{"offset":6912,"selected":24,"returned":24},{"offset":6936,"selected":24,"returned":24},{"offset":6960,"selected":24,"returned":24},{"offset":6984,"selected":24,"returned":24},{"offset":7008,"selected":24,"returned":24},{"offset":7032,"selected":24,"returned":24},{"offset":7056,"selected":24,"returned":24},{"offset":7080,"selected":24,"returned":24},{"offset":7104,"selected":24,"returned":24},{"offset":7128,"selected":24,"returned":24},{"offset":7152,"selected":24,"returned":24},{"offset":7176,"selected":24,"returned":24},{"offset":7200,"selected":24,"returned":24},{"offset":7224,"selected":24,"returned":24},{"offset":7248,"selected":24,"returned":24},{"offset":7272,"selected":24,"returned":18},{"offset":7296,"selected":24,"returned":24},{"offset":7320,"selected":24,"returned":24},{"offset":7344,"selected":24,"returned":17},{"offset":7368,"selected":24,"returned":20},{"offset":7392,"selected":24,"returned":24},{"offset":7416,"selected":24,"returned":24},{"offset":7440,"selected":24,"returned":24},{"offset":7464,"selected":24,"returned":24},{"offset":7488,"selected":24,"returned":24},{"offset":7512,"selected":24,"returned":24},{"offset":7536,"selected":24,"returned":24},{"offset":7560,"selected":24,"returned":24},{"offset":7584,"selected":24,"returned":24},{"offset":7608,"selected":24,"returned":20},{"offset":7632,"selected":24,"returned":24},{"offset":7656,"selected":24,"returned":24},{"offset":7680,"selected":24,"returned":24},{"offset":7704,"selected":24,"returned":24},{"offset":7728,"selected":24,"returned":24},{"offset":7752,"selected":24,"returned":24},{"offset":7776,"selected":24,"returned":24},{"offset":7800,"selected":24,"returned":24},{"offset":7824,"selected":24,"returned":24},{"offset":7848,"selected":24,"returned":24},{"offset":7872,"selected":24,"returned":24},{"offset":7896,"selected":24,"returned":24},{"offset":7920,"selected":24,"returned":24},{"offset":7944,"selected":24,"returned":24},{"offset":7968,"selected":24,"returned":24},{"offset":7992,"selected":24,"returned":24},{"offset":8016,"selected":24,"returned":24},{"offset":8040,"selected":24,"returned":24},{"offset":8064,"selected":24,"returned":24},{"offset":8088,"selected":24,"returned":24},{"offset":8112,"selected":24,"returned":24},{"offset":8136,"selected":24,"returned":23},{"offset":8160,"selected":24,"returned":20},{"offset":8184,"selected":24,"returned":24},{"offset":8208,"selected":24,"returned":24},{"offset":8232,"selected":24,"returned":24},{"offset":8256,"selected":24,"returned":24},{"offset":8280,"selected":24,"returned":24},{"offset":8304,"selected":24,"returned":24},{"offset":8328,"selected":24,"returned":24},{"offset":8352,"selected":24,"returned":24},{"offset":8376,"selected":24,"returned":24},{"offset":8400,"selected":24,"returned":24},{"offset":8424,"selected":24,"returned":24},{"offset":8448,"selected":24,"returned":24},{"offset":8472,"selected":24,"returned":24},{"offset":8496,"selected":24,"returned":24},{"offset":8520,"selected":24,"returned":24},{"offset":8544,"selected":24,"returned":24},{"offset":8568,"selected":24,"returned":24},{"offset":8592,"selected":24,"returned":24},{"offset":8616,"selected":24,"returned":24},{"offset":8640,"selected":24,"returned":24},{"offset":8664,"selected":24,"returned":24},{"offset":8688,"selected":24,"returned":24},{"offset":8712,"selected":24,"returned":24},{"offset":8736,"selected":24,"returned":24},{"offset":8760,"selected":24,"returned":24},{"offset":8784,"selected":24,"returned":24},{"offset":8808,"selected":24,"returned":24},{"offset":8832,"selected":24,"returned":24},{"offset":8856,"selected":24,"returned":18},{"offset":8880,"selected":24,"returned":10},{"offset":8904,"selected":24,"returned":0},{"offset":8928,"selected":24,"returned":5},{"offset":8952,"selected":24,"returned":19},{"offset":8976,"selected":24,"returned":24},{"offset":9000,"selected":24,"returned":24},{"offset":9024,"selected":24,"returned":24},{"offset":9048,"selected":24,"returned":24},{"offset":9072,"selected":24,"returned":24},{"offset":9096,"selected":24,"returned":24},{"offset":9120,"selected":24,"returned":24},{"offset":9144,"selected":24,"returned":24},{"offset":9168,"selected":24,"returned":24},{"offset":9192,"selected":24,"returned":24},{"offset":9216,"selected":24,"returned":24},{"offset":9240,"selected":24,"returned":24},{"offset":9264,"selected":24,"returned":24},{"offset":9288,"selected":24,"returned":24},{"offset":9312,"selected":24,"returned":24},{"offset":9336,"selected":24,"returned":24},{"offset":9360,"selected":24,"returned":24},{"offset":9384,"selected":24,"returned":24},{"offset":9408,"selected":24,"returned":24},{"offset":9432,"selected":24,"returned":24},{"offset":9456,"selected":24,"returned":24},{"offset":9480,"selected":24,"returned":24},{"offset":9504,"selected":24,"returned":24},{"offset":9528,"selected":24,"returned":24},{"offset":9552,"selected":24,"returned":24},{"offset":9576,"selected":24,"returned":24},{"offset":9600,"selected":24,"returned":24},{"offset":9624,"selected":24,"returned":24},{"offset":9648,"selected":24,"returned":24},{"offset":9672,"selected":24,"returned":24},{"offset":9696,"selected":24,"returned":24},{"offset":9720,"selected":24,"returned":24},{"offset":9744,"selected":24,"returned":24},{"offset":9768,"selected":24,"returned":24},{"offset":9792,"selected":24,"returned":24},{"offset":9816,"selected":24,"returned":24},{"offset":9840,"selected":24,"returned":24},{"offset":9864,"selected":24,"returned":24},{"offset":9888,"selected":24,"returned":24},{"offset":9912,"selected":24,"returned":24},{"offset":9936,"selected":24,"returned":24},{"offset":9960,"selected":24,"returned":24},{"offset":9984,"selected":24,"returned":24},{"offset":10008,"selected":24,"returned":24},{"offset":10032,"selected":24,"returned":24},{"offset":10056,"selected":24,"returned":24},{"offset":10080,"selected":24,"returned":24},{"offset":10104,"selected":24,"returned":24},{"offset":10128,"selected":24,"returned":24},{"offset":10152,"selected":24,"returned":24},{"offset":10176,"selected":24,"returned":24},{"offset":10200,"selected":24,"returned":24},{"offset":10224,"selected":24,"returned":24},{"offset":10248,"selected":24,"returned":24},{"offset":10272,"selected":24,"returned":24},{"offset":10296,"selected":24,"returned":24},{"offset":10320,"selected":24,"returned":24},{"offset":10344,"selected":24,"returned":24},{"offset":10368,"selected":24,"returned":24},{"offset":10392,"selected":24,"returned":24},{"offset":10416,"selected":24,"returned":24},{"offset":10440,"selected":24,"returned":24},{"offset":10464,"selected":24,"returned":24},{"offset":10488,"selected":24,"returned":24},{"offset":10512,"selected":24,"returned":23},{"offset":10536,"selected":24,"returned":24},{"offset":10560,"selected":24,"returned":4}],"failures":[],"results":[{"name":"api.ANGLE_instanced_arrays","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"ANGLE_instanced_arrays\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.ANGLE_instanced_arrays.drawArraysInstancedANGLE","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"ANGLE_instanced_arrays\"\n  );\n  return !!instance && \"drawArraysInstancedANGLE\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.ANGLE_instanced_arrays.drawElementsInstancedANGLE","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"ANGLE_instanced_arrays\"\n  );\n  return !!instance && \"drawElementsInstancedANGLE\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.ANGLE_instanced_arrays.vertexAttribDivisorANGLE","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"ANGLE_instanced_arrays\"\n  );\n  return !!instance && \"vertexAttribDivisorANGLE\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.AbortController","info":{"code":"\"AbortController\" in self","exposure":"Window"},"result":true},{"name":"api.AbortController.AbortController","info":{"code":"bcd.testConstructor('AbortController')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.AbortController.abort","info":{"code":"\"AbortController\" in self && \"abort\" in AbortController.prototype","exposure":"Window"},"result":true},{"name":"api.AbortController.abort.reason_parameter","info":{"code":"(function () {\n  if (!(\"AbortController\" in self)) {\n    return { result: false, message: \"AbortController is not defined\" };\n  }\n  var controller = new AbortController();\n  if (!(\"abort\" in controller)) {\n    return { result: false, message: \"AbortController.abort is undefined\" };\n  }\n  controller.abort(\"foo bar\");\n  return controller.signal.aborted && controller.signal.reason == \"foo bar\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.AbortController.signal","info":{"code":"\"AbortController\" in self && \"signal\" in AbortController.prototype","exposure":"Window"},"result":true},{"name":"api.AbortSignal","info":{"code":"\"AbortSignal\" in self","exposure":"Window"},"result":true},{"name":"api.AbortSignal.abort_static","info":{"code":"\"AbortSignal\" in self && \"abort\" in AbortSignal","exposure":"Window"},"result":true},{"name":"api.AbortSignal.abort_static.reason_parameter","info":{"code":"(function () {\n  if (!(\"AbortSignal\" in self)) {\n    return { result: false, message: \"AbortSignal is not defined\" };\n  }\n  if (!(\"abort\" in AbortSignal)) {\n    return { result: false, message: \"AbortSignal.abort is undefined\" };\n  }\n  var instance = AbortSignal.abort(\"Foo bar\");\n  return instance.reason === \"Foo bar\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.AbortSignal.aborted","info":{"code":"\"AbortSignal\" in self && \"aborted\" in AbortSignal.prototype","exposure":"Window"},"result":true},{"name":"api.AbortSignal.any_static","info":{"code":"\"AbortSignal\" in self && \"any\" in AbortSignal","exposure":"Window"},"result":true},{"name":"api.AbortSignal.reason","info":{"code":"\"AbortSignal\" in self && \"reason\" in AbortSignal.prototype","exposure":"Window"},"result":true},{"name":"api.AbortSignal.throwIfAborted","info":{"code":"\"AbortSignal\" in self && \"throwIfAborted\" in AbortSignal.prototype","exposure":"Window"},"result":true},{"name":"api.AbortSignal.timeout_static","info":{"code":"\"AbortSignal\" in self && \"timeout\" in AbortSignal","exposure":"Window"},"result":true},{"name":"api.AbsoluteOrientationSensor","info":{"code":"\"AbsoluteOrientationSensor\" in self","exposure":"Window"},"result":false},{"name":"api.AbsoluteOrientationSensor.AbsoluteOrientationSensor","info":{"code":"bcd.testConstructor('AbsoluteOrientationSensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AbsoluteOrientationSensor is not defined"},{"name":"api.AbstractRange","info":{"code":"\"AbstractRange\" in self","exposure":"Window"},"result":false},{"name":"api.AbstractRange.collapsed","info":{"code":"\"AbstractRange\" in self && \"collapsed\" in AbstractRange.prototype","exposure":"Window"},"result":false},{"name":"api.AbstractRange.endContainer","info":{"code":"\"AbstractRange\" in self && \"endContainer\" in AbstractRange.prototype","exposure":"Window"},"result":false},{"name":"api.AbstractRange.endOffset","info":{"code":"\"AbstractRange\" in self && \"endOffset\" in AbstractRange.prototype","exposure":"Window"},"result":false},{"name":"api.AbstractRange.startContainer","info":{"code":"\"AbstractRange\" in self && \"startContainer\" in AbstractRange.prototype","exposure":"Window"},"result":false},{"name":"api.AbstractRange.startOffset","info":{"code":"\"AbstractRange\" in self && \"startOffset\" in AbstractRange.prototype","exposure":"Window"},"result":false},{"name":"api.Accelerometer","info":{"code":"\"Accelerometer\" in self","exposure":"Window"},"result":false},{"name":"api.Accelerometer.Accelerometer","info":{"code":"bcd.testConstructor('Accelerometer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Accelerometer is not defined"},{"name":"api.Accelerometer.x","info":{"code":"\"Accelerometer\" in self && \"x\" in Accelerometer.prototype","exposure":"Window"},"result":false},{"name":"api.Accelerometer.y","info":{"code":"\"Accelerometer\" in self && \"y\" in Accelerometer.prototype","exposure":"Window"},"result":false},{"name":"api.Accelerometer.z","info":{"code":"\"Accelerometer\" in self && \"z\" in Accelerometer.prototype","exposure":"Window"},"result":false},{"name":"api.AmbientLightSensor","info":{"code":"\"AmbientLightSensor\" in self","exposure":"Window"},"result":false},{"name":"api.AmbientLightSensor.AmbientLightSensor","info":{"code":"bcd.testConstructor('AmbientLightSensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AmbientLightSensor is not defined"},{"name":"api.AmbientLightSensor.illuminance","info":{"code":"\"AmbientLightSensor\" in self && \"illuminance\" in AmbientLightSensor.prototype","exposure":"Window"},"result":false},{"name":"api.AnalyserNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.AnalyserNode","info":{"code":"bcd.testConstructor('AnalyserNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AnalyserNode is not defined"},{"name":"api.AnalyserNode.fftSize","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"fftSize\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.frequencyBinCount","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"frequencyBinCount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.getByteFrequencyData","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"getByteFrequencyData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.getByteTimeDomainData","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"getByteTimeDomainData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.getFloatFrequencyData","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"getFloatFrequencyData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.getFloatTimeDomainData","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"getFloatTimeDomainData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.maxDecibels","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"maxDecibels\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.minDecibels","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"minDecibels\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AnalyserNode.smoothingTimeConstant","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"smoothingTimeConstant\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.Animation","info":{"code":"\"Animation\" in self","exposure":"Window"},"result":false},{"name":"api.Animation.Animation","info":{"code":"bcd.testConstructor('Animation')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Animation is not defined"},{"name":"api.Animation.cancel","info":{"code":"\"Animation\" in self && \"cancel\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.commitStyles","info":{"code":"\"Animation\" in self && \"commitStyles\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.currentTime","info":{"code":"\"Animation\" in self && \"currentTime\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.effect","info":{"code":"\"Animation\" in self && \"effect\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.finish","info":{"code":"\"Animation\" in self && \"finish\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.finished","info":{"code":"\"Animation\" in self && \"finished\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.id","info":{"code":"\"Animation\" in self && \"id\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.overallProgress","info":{"code":"\"Animation\" in self && \"overallProgress\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.pause","info":{"code":"\"Animation\" in self && \"pause\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.pending","info":{"code":"\"Animation\" in self && \"pending\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.persist","info":{"code":"\"Animation\" in self && \"persist\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.play","info":{"code":"\"Animation\" in self && \"play\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.playState","info":{"code":"\"Animation\" in self && \"playState\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.playbackRate","info":{"code":"\"Animation\" in self && \"playbackRate\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.ready","info":{"code":"\"Animation\" in self && \"ready\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.replaceState","info":{"code":"\"Animation\" in self && \"replaceState\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.reverse","info":{"code":"\"Animation\" in self && \"reverse\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.startTime","info":{"code":"\"Animation\" in self && \"startTime\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.timeline","info":{"code":"\"Animation\" in self && \"timeline\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.trigger","info":{"code":"\"Animation\" in self && \"trigger\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.Animation.updatePlaybackRate","info":{"code":"\"Animation\" in self && \"updatePlaybackRate\" in Animation.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect","info":{"code":"\"AnimationEffect\" in self","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.after","info":{"code":"\"AnimationEffect\" in self && \"after\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.before","info":{"code":"\"AnimationEffect\" in self && \"before\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.getComputedTiming","info":{"code":"\"AnimationEffect\" in self && \"getComputedTiming\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.getTiming","info":{"code":"\"AnimationEffect\" in self && \"getTiming\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.nextSibling","info":{"code":"\"AnimationEffect\" in self && \"nextSibling\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.parent","info":{"code":"\"AnimationEffect\" in self && \"parent\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.previousSibling","info":{"code":"\"AnimationEffect\" in self && \"previousSibling\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.remove","info":{"code":"\"AnimationEffect\" in self && \"remove\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.replace","info":{"code":"\"AnimationEffect\" in self && \"replace\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEffect.updateTiming","info":{"code":"\"AnimationEffect\" in self && \"updateTiming\" in AnimationEffect.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new AnimationEvent(\"animationend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AnimationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AnimationEvent.AnimationEvent","info":{"code":"bcd.testConstructor('AnimationEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AnimationEvent is not defined"},{"name":"api.AnimationEvent.animationName","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new AnimationEvent(\"animationend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AnimationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"animationName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AnimationEvent.elapsedTime","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new AnimationEvent(\"animationend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AnimationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"elapsedTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AnimationEvent.initAnimationEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new AnimationEvent(\"animationend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AnimationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initAnimationEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AnimationEvent.pseudoElement","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new AnimationEvent(\"animationend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AnimationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"pseudoElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AnimationNodeList","info":{"code":"\"AnimationNodeList\" in self","exposure":"Window"},"result":false},{"name":"api.AnimationNodeList.item","info":{"code":"\"AnimationNodeList\" in self && \"item\" in AnimationNodeList.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationNodeList.length","info":{"code":"\"AnimationNodeList\" in self && \"length\" in AnimationNodeList.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationPlaybackEvent","info":{"code":"\"AnimationPlaybackEvent\" in self","exposure":"Window"},"result":false},{"name":"api.AnimationPlaybackEvent.AnimationPlaybackEvent","info":{"code":"bcd.testConstructor('AnimationPlaybackEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AnimationPlaybackEvent is not defined"},{"name":"api.AnimationPlaybackEvent.currentTime","info":{"code":"\"AnimationPlaybackEvent\" in self && \"currentTime\" in AnimationPlaybackEvent.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationPlaybackEvent.timelineTime","info":{"code":"\"AnimationPlaybackEvent\" in self && \"timelineTime\" in AnimationPlaybackEvent.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTimeline","info":{"code":"\"AnimationTimeline\" in self","exposure":"Window"},"result":false},{"name":"api.AnimationTimeline.currentTime","info":{"code":"\"AnimationTimeline\" in self && \"currentTime\" in AnimationTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTimeline.duration","info":{"code":"\"AnimationTimeline\" in self && \"duration\" in AnimationTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTimeline.play","info":{"code":"\"AnimationTimeline\" in self && \"play\" in AnimationTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger","info":{"code":"\"AnimationTrigger\" in self","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger.AnimationTrigger","info":{"code":"bcd.testConstructor('AnimationTrigger')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AnimationTrigger is not defined"},{"name":"api.AnimationTrigger.behavior","info":{"code":"\"AnimationTrigger\" in self && \"behavior\" in AnimationTrigger.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger.exitRangeEnd","info":{"code":"\"AnimationTrigger\" in self && \"exitRangeEnd\" in AnimationTrigger.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger.exitRangeStart","info":{"code":"\"AnimationTrigger\" in self && \"exitRangeStart\" in AnimationTrigger.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger.rangeEnd","info":{"code":"\"AnimationTrigger\" in self && \"rangeEnd\" in AnimationTrigger.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger.rangeStart","info":{"code":"\"AnimationTrigger\" in self && \"rangeStart\" in AnimationTrigger.prototype","exposure":"Window"},"result":false},{"name":"api.AnimationTrigger.timeline","info":{"code":"\"AnimationTrigger\" in self && \"timeline\" in AnimationTrigger.prototype","exposure":"Window"},"result":false},{"name":"api.Attr","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.localName","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"localName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.name","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.namespaceURI","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"namespaceURI\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.ownerElement","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"ownerElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.prefix","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"prefix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.specified","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"specified\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attr.value","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.setAttribute(\"data-foo\", \"bar\");\n  var instance;\n  if (\"getAttributeNode\" in el) {\n    instance = el.getAttributeNode(\"data-foo\");\n  } else if (\"attributes\" in el) {\n    instance = el.attributes.item(0);\n  }\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Attribution","info":{"code":"\"Attribution\" in self","exposure":"Window"},"result":false},{"name":"api.Attribution.aggregationServices","info":{"code":"\"Attribution\" in self && \"aggregationServices\" in Attribution.prototype","exposure":"Window"},"result":false},{"name":"api.Attribution.measureConversion","info":{"code":"\"Attribution\" in self && \"measureConversion\" in Attribution.prototype","exposure":"Window"},"result":false},{"name":"api.Attribution.saveImpression","info":{"code":"\"Attribution\" in self && \"saveImpression\" in Attribution.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices","info":{"code":"\"AttributionAggregationServices\" in self","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"AttributionAggregationServices\" in self && !!(AttributionAggregationServices.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.entries","info":{"code":"\"AttributionAggregationServices\" in self && \"entries\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.forEach","info":{"code":"\"AttributionAggregationServices\" in self && \"forEach\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.get","info":{"code":"\"AttributionAggregationServices\" in self && \"get\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.has","info":{"code":"\"AttributionAggregationServices\" in self && \"has\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.keys","info":{"code":"\"AttributionAggregationServices\" in self && \"keys\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.size","info":{"code":"\"AttributionAggregationServices\" in self && \"size\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AttributionAggregationServices.values","info":{"code":"\"AttributionAggregationServices\" in self && \"values\" in AttributionAggregationServices.prototype","exposure":"Window"},"result":false},{"name":"api.AudioBuffer","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.AudioBuffer","info":{"code":"bcd.testConstructor('AudioBuffer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioBuffer is not defined"},{"name":"api.AudioBuffer.copyFromChannel","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"copyFromChannel\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.copyToChannel","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"copyToChannel\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.duration","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"duration\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.getChannelData","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"getChannelData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.length","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.numberOfChannels","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"numberOfChannels\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBuffer.sampleRate","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  return !!instance && \"sampleRate\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.AudioBufferSourceNode","info":{"code":"bcd.testConstructor('AudioBufferSourceNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioBufferSourceNode is not defined"},{"name":"api.AudioBufferSourceNode.buffer","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"buffer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.detune","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"detune\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.loop","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"loop\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.loopEnd","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"loopEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.loopStart","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"loopStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.playbackRate","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"playbackRate\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioBufferSourceNode.start","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioContext","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return \"AudioContext\" in self;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.AudioContext","info":{"code":"bcd.testConstructor('AudioContext')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioContext is not defined"},{"name":"api.AudioContext.AudioContext.options_latencyHint_parameter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return bcd.testOptionParam(\n    window.AudioContext || window.webkitAudioContext,\n    \"constructor\",\n    \"latencyHint\",\n    \"playback\"\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.AudioContext.AudioContext.options_sampleRate_parameter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return bcd.testOptionParam(\n    window.AudioContext || window.webkitAudioContext,\n    \"constructor\",\n    \"sampleRate\",\n    \"44100\"\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.AudioContext.AudioContext.options_sinkId_parameter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return bcd.testOptionParam(\n    window.AudioContext || window.webkitAudioContext,\n    \"constructor\",\n    \"sinkId\",\n    \"\"\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.AudioContext.baseLatency","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"baseLatency\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.close","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.createMediaElementSource","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createMediaElementSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.createMediaStreamDestination","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createMediaStreamDestination\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.createMediaStreamSource","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createMediaStreamSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.createMediaStreamTrackSource","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createMediaStreamTrackSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.getOutputTimestamp","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"getOutputTimestamp\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.outputLatency","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"outputLatency\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.resume","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"resume\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.setSinkId","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"setSinkId\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.sinkId","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"sinkId\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioContext.suspend","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"suspend\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.AudioData","info":{"code":"\"AudioData\" in self","exposure":"Window"},"result":false},{"name":"api.AudioData.AudioData","info":{"code":"bcd.testConstructor('AudioData')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioData is not defined"},{"name":"api.AudioData.allocationSize","info":{"code":"\"AudioData\" in self && \"allocationSize\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.clone","info":{"code":"\"AudioData\" in self && \"clone\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.close","info":{"code":"\"AudioData\" in self && \"close\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.copyTo","info":{"code":"\"AudioData\" in self && \"copyTo\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.duration","info":{"code":"\"AudioData\" in self && \"duration\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.format","info":{"code":"\"AudioData\" in self && \"format\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.numberOfChannels","info":{"code":"\"AudioData\" in self && \"numberOfChannels\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.numberOfFrames","info":{"code":"\"AudioData\" in self && \"numberOfFrames\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.sampleRate","info":{"code":"\"AudioData\" in self && \"sampleRate\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioData.timestamp","info":{"code":"\"AudioData\" in self && \"timestamp\" in AudioData.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder","info":{"code":"\"AudioDecoder\" in self","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.AudioDecoder","info":{"code":"bcd.testConstructor('AudioDecoder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioDecoder is not defined"},{"name":"api.AudioDecoder.close","info":{"code":"\"AudioDecoder\" in self && \"close\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.configure","info":{"code":"\"AudioDecoder\" in self && \"configure\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.decode","info":{"code":"\"AudioDecoder\" in self && \"decode\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.decodeQueueSize","info":{"code":"\"AudioDecoder\" in self && \"decodeQueueSize\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.flush","info":{"code":"\"AudioDecoder\" in self && \"flush\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.isConfigSupported_static","info":{"code":"\"AudioDecoder\" in self && \"isConfigSupported\" in AudioDecoder","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.reset","info":{"code":"\"AudioDecoder\" in self && \"reset\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDecoder.state","info":{"code":"\"AudioDecoder\" in self && \"state\" in AudioDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.AudioDestinationNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.destination;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioDestinationNode.maxChannelCount","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.destination;\n  return !!instance && \"maxChannelCount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioEncoder","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.AudioEncoder","info":{"code":"bcd.testConstructor('AudioEncoder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioEncoder is not defined"},{"name":"api.AudioEncoder.close","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.configure","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"configure\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.configure.bitrateMode","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return bcd.testOptionParam(instance, \"configure\", \"bitrateMode\", \"constant\", {\n    bitrate: 320000,\n    codec: \"mp3\",\n    numberOfChannels: 2,\n    sampleRate: 44100\n  });\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.configure.opus","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return bcd.testOptionParam(\n    instance,\n    \"configure\",\n    \"opus\",\n    {},\n    { bitrate: 320000, codec: \"mp3\", numberOfChannels: 2, sampleRate: 44100 }\n  );\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.configure.opus.opus_application","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  function configure(opus) {\n    instance.configure({\n      bitrate: 320000,\n      codec: \"mp3\",\n      numberOfChannels: 2,\n      sampleRate: 44100,\n      opus: opus\n    });\n  }\n  return bcd.testOptionParam(configure, null, \"application\", \"voip\");\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.configure.opus.opus_signal","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  function configure(opus) {\n    instance.configure({\n      bitrate: 320000,\n      codec: \"mp3\",\n      numberOfChannels: 2,\n      sampleRate: 44100,\n      opus: opus\n    });\n  }\n  return bcd.testOptionParam(configure, null, \"signal\", \"voice\");\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.encode","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"encode\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.encodeQueueSize","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"encodeQueueSize\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.flush","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"flush\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.isConfigSupported_static","info":{"code":"\"AudioEncoder\" in self && \"isConfigSupported\" in AudioEncoder","exposure":"Window"},"result":false},{"name":"api.AudioEncoder.reset","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"reset\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioEncoder.state","info":{"code":"(function () {\n  if (!(\"AudioEncoder\" in self)) {\n    return { result: false, message: \"AudioEncoder is not defined\" };\n  }\n  var instance = new AudioEncoder({\n    output: function () {},\n    error: function () {}\n  });\n  return !!instance && \"state\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"AudioEncoder is not defined"},{"name":"api.AudioListener","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.dopplerFactor","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"dopplerFactor\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.forwardX","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"forwardX\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.forwardY","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"forwardY\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.forwardZ","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"forwardZ\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.positionX","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"positionX\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.positionY","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"positionY\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.positionZ","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"positionZ\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.setOrientation","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"setOrientation\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.setPosition","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"setPosition\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.speedOfSound","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"speedOfSound\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.upX","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"upX\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.upY","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"upY\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioListener.upZ","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var instance = reusableInstances.audioContext.listener;\n  return !!instance && \"upZ\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.channelCount","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"channelCount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.channelCountMode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"channelCountMode\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.channelInterpretation","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"channelInterpretation\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.connect","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"connect\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.context","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"context\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.disconnect","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"disconnect\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.disconnect.destination_parameter","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser(); // XXX testOptionParam doesn't work here\n  return {\n    result: null,\n    message: \"Detection methods are unsupported for this method\"\n  };\n\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var node2 = reusableInstances.audioContext.createAnalyser();\n  if (!node2) {\n    return { result: false, message: \"node2 is falsy\" };\n  }\n  instance.connect(node2);\n  return bcd.testOptionParam(instance, \"disconnect\", null, node2);\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.disconnect.input_parameter","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser(); // XXX testOptionParam doesn't work here\n  return {\n    result: null,\n    message: \"Detection methods are unsupported for this method\"\n  };\n\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var node2 = reusableInstances.audioContext.createAnalyser();\n  if (!node2) {\n    return { result: false, message: \"node2 is falsy\" };\n  }\n  instance.connect(node2);\n  function disconnect(input) {\n    instance.disconnect(node2, 0, input);\n  }\n  return bcd.testOptionParam(disconnect, null, null, 0);\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.disconnect.output_parameter","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser(); // XXX testOptionParam doesn't work here\n  return {\n    result: null,\n    message: \"Detection methods are unsupported for this method\"\n  };\n\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var node2 = reusableInstances.audioContext.createAnalyser();\n  if (!node2) {\n    return { result: false, message: \"node2 is falsy\" };\n  }\n  instance.connect(node2);\n  function disconnect(output) {\n    instance.disconnect(node2, output);\n  }\n  return bcd.testOptionParam(disconnect, null, null, 0);\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.numberOfInputs","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"numberOfInputs\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioNode.numberOfOutputs","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createAnalyser\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createAnalyser is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createAnalyser();\n  return !!instance && \"numberOfOutputs\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.automationRate","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"automationRate\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.cancelAndHoldAtTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"cancelAndHoldAtTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.cancelScheduledValues","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"cancelScheduledValues\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.defaultValue","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"defaultValue\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.exponentialRampToValueAtTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"exponentialRampToValueAtTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.linearRampToValueAtTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"linearRampToValueAtTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.maxValue","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"maxValue\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.minValue","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"minValue\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.setTargetAtTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"setTargetAtTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.setValueAtTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"setValueAtTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.setValueCurveAtTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"setValueCurveAtTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParam.value","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var biquadFilterNode = reusableInstances.audioContext.createBiquadFilter();\n  if (!biquadFilterNode) {\n    return { result: false, message: \"biquadFilterNode is falsy\" };\n  }\n  var instance = biquadFilterNode.gain;\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioParamMap","info":{"code":"\"AudioParamMap\" in self","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"AudioParamMap\" in self && !!(AudioParamMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.entries","info":{"code":"\"AudioParamMap\" in self && \"entries\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.forEach","info":{"code":"\"AudioParamMap\" in self && \"forEach\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.get","info":{"code":"\"AudioParamMap\" in self && \"get\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.has","info":{"code":"\"AudioParamMap\" in self && \"has\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.keys","info":{"code":"\"AudioParamMap\" in self && \"keys\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.size","info":{"code":"\"AudioParamMap\" in self && \"size\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioParamMap.values","info":{"code":"\"AudioParamMap\" in self && \"values\" in AudioParamMap.prototype","exposure":"Window"},"result":false},{"name":"api.AudioProcessingEvent","info":{"code":"(function () {\n  var instance;\n  var inputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  var outputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  try {\n    instance = new AudioProcessingEvent(\"audioprocess\", {\n      inputBuffer: inputBuffer,\n      outputBuffer: outputBuffer,\n      playbackTime: 0\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AudioProcessingEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: AudioBuffer is not defined"},{"name":"api.AudioProcessingEvent.AudioProcessingEvent","info":{"code":"bcd.testConstructor('AudioProcessingEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioProcessingEvent is not defined"},{"name":"api.AudioProcessingEvent.inputBuffer","info":{"code":"(function () {\n  var instance;\n  var inputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  var outputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  try {\n    instance = new AudioProcessingEvent(\"audioprocess\", {\n      inputBuffer: inputBuffer,\n      outputBuffer: outputBuffer,\n      playbackTime: 0\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AudioProcessingEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"inputBuffer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: AudioBuffer is not defined"},{"name":"api.AudioProcessingEvent.outputBuffer","info":{"code":"(function () {\n  var instance;\n  var inputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  var outputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  try {\n    instance = new AudioProcessingEvent(\"audioprocess\", {\n      inputBuffer: inputBuffer,\n      outputBuffer: outputBuffer,\n      playbackTime: 0\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AudioProcessingEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"outputBuffer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: AudioBuffer is not defined"},{"name":"api.AudioProcessingEvent.playbackTime","info":{"code":"(function () {\n  var instance;\n  var inputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  var outputBuffer = new AudioBuffer({ length: 1, sampleRate: 30000 });\n  try {\n    instance = new AudioProcessingEvent(\"audioprocess\", {\n      inputBuffer: inputBuffer,\n      outputBuffer: outputBuffer,\n      playbackTime: 0\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"AudioProcessingEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"playbackTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: AudioBuffer is not defined"},{"name":"api.AudioScheduledSourceNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return \"AudioScheduledSourceNode\" in self;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioScheduledSourceNode.start","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioScheduledSourceNode.stop","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBufferSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBufferSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBufferSource();\n  return !!instance && \"stop\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioSession","info":{"code":"\"AudioSession\" in self","exposure":"Window"},"result":false},{"name":"api.AudioSession.state","info":{"code":"\"AudioSession\" in self && \"state\" in AudioSession.prototype","exposure":"Window"},"result":false},{"name":"api.AudioSession.type","info":{"code":"\"AudioSession\" in self && \"type\" in AudioSession.prototype","exposure":"Window"},"result":false},{"name":"api.AudioSinkInfo","info":{"code":"\"AudioSinkInfo\" in self","exposure":"Window"},"result":false},{"name":"api.AudioSinkInfo.type","info":{"code":"\"AudioSinkInfo\" in self && \"type\" in AudioSinkInfo.prototype","exposure":"Window"},"result":false},{"name":"api.AudioTrack","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrack.enabled","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance && \"enabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrack.id","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrack.kind","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance && \"kind\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrack.label","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrack.language","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance && \"language\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrack.sourceBuffer","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var audioTracks = el.audioTracks;\n  if (!audioTracks) {\n    return { result: false, message: \"audioTracks is falsy\" };\n  }\n  var instance = audioTracks[0];\n  return !!instance && \"sourceBuffer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrackList","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var instance = el.audioTracks;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrackList.getTrackById","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var instance = el.audioTracks;\n  return !!instance && \"getTrackById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioTrackList.length","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-audio-blip\");\n  var instance = el.audioTracks;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.AudioWorklet","info":{"code":"\"AudioWorklet\" in self","exposure":"Window"},"result":false},{"name":"api.AudioWorklet.port","info":{"code":"\"AudioWorklet\" in self && \"port\" in AudioWorklet.prototype","exposure":"Window"},"result":false},{"name":"api.AudioWorkletNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!reusableInstances.audioContext.audioWorklet) {\n    return { result: false, message: \"Audio worklets are not available\" };\n  }\n  var promise = reusableInstances.audioContext.audioWorklet\n    .addModule(\n      \"/resources/custom-tests/api/AudioWorkletNode/WhiteNoiseProcessor.js\"\n    )\n    .then(function () {\n      return new AudioWorkletNode(\n        reusableInstances.audioContext,\n        \"white-noise-processor\"\n      );\n    });\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioWorkletNode.AudioWorkletNode","info":{"code":"bcd.testConstructor('AudioWorkletNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: AudioWorkletNode is not defined"},{"name":"api.AudioWorkletNode.parameters","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!reusableInstances.audioContext.audioWorklet) {\n    return { result: false, message: \"Audio worklets are not available\" };\n  }\n  var promise = reusableInstances.audioContext.audioWorklet\n    .addModule(\n      \"/resources/custom-tests/api/AudioWorkletNode/WhiteNoiseProcessor.js\"\n    )\n    .then(function () {\n      return new AudioWorkletNode(\n        reusableInstances.audioContext,\n        \"white-noise-processor\"\n      );\n    });\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"parameters\" in instance;\n  });\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AudioWorkletNode.port","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!reusableInstances.audioContext.audioWorklet) {\n    return { result: false, message: \"Audio worklets are not available\" };\n  }\n  var promise = reusableInstances.audioContext.audioWorklet\n    .addModule(\n      \"/resources/custom-tests/api/AudioWorkletNode/WhiteNoiseProcessor.js\"\n    )\n    .then(function () {\n      return new AudioWorkletNode(\n        reusableInstances.audioContext,\n        \"white-noise-processor\"\n      );\n    });\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"port\" in instance;\n  });\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.AuthenticatorAssertionResponse","info":{"code":"\"AuthenticatorAssertionResponse\" in self","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAssertionResponse.authenticatorData","info":{"code":"\"AuthenticatorAssertionResponse\" in self && \"authenticatorData\" in AuthenticatorAssertionResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAssertionResponse.signature","info":{"code":"\"AuthenticatorAssertionResponse\" in self && \"signature\" in AuthenticatorAssertionResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAssertionResponse.userHandle","info":{"code":"\"AuthenticatorAssertionResponse\" in self && \"userHandle\" in AuthenticatorAssertionResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAttestationResponse","info":{"code":"\"AuthenticatorAttestationResponse\" in self","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAttestationResponse.attestationObject","info":{"code":"\"AuthenticatorAttestationResponse\" in self && \"attestationObject\" in AuthenticatorAttestationResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAttestationResponse.getAuthenticatorData","info":{"code":"\"AuthenticatorAttestationResponse\" in self && \"getAuthenticatorData\" in AuthenticatorAttestationResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAttestationResponse.getPublicKey","info":{"code":"\"AuthenticatorAttestationResponse\" in self && \"getPublicKey\" in AuthenticatorAttestationResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAttestationResponse.getPublicKeyAlgorithm","info":{"code":"\"AuthenticatorAttestationResponse\" in self && \"getPublicKeyAlgorithm\" in AuthenticatorAttestationResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorAttestationResponse.getTransports","info":{"code":"\"AuthenticatorAttestationResponse\" in self && \"getTransports\" in AuthenticatorAttestationResponse.prototype","exposure":"Window"},"result":false},{"name":"api.AuthenticatorResponse","info":{"code":"\"AuthenticatorResponse\" in self","exposure":"Window"},"result":false},{"name":"api.AuthenticatorResponse.clientDataJSON","info":{"code":"\"AuthenticatorResponse\" in self && \"clientDataJSON\" in AuthenticatorResponse.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchManager","info":{"code":"\"BackgroundFetchManager\" in self","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchManager.fetch","info":{"code":"\"BackgroundFetchManager\" in self && \"fetch\" in BackgroundFetchManager.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchManager.get","info":{"code":"\"BackgroundFetchManager\" in self && \"get\" in BackgroundFetchManager.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchManager.getIds","info":{"code":"\"BackgroundFetchManager\" in self && \"getIds\" in BackgroundFetchManager.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRecord","info":{"code":"\"BackgroundFetchRecord\" in self","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRecord.request","info":{"code":"\"BackgroundFetchRecord\" in self && \"request\" in BackgroundFetchRecord.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRecord.responseReady","info":{"code":"\"BackgroundFetchRecord\" in self && \"responseReady\" in BackgroundFetchRecord.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration","info":{"code":"\"BackgroundFetchRegistration\" in self","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.abort","info":{"code":"\"BackgroundFetchRegistration\" in self && \"abort\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.downloadTotal","info":{"code":"\"BackgroundFetchRegistration\" in self && \"downloadTotal\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.downloaded","info":{"code":"\"BackgroundFetchRegistration\" in self && \"downloaded\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.failureReason","info":{"code":"\"BackgroundFetchRegistration\" in self && \"failureReason\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.id","info":{"code":"\"BackgroundFetchRegistration\" in self && \"id\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.match","info":{"code":"\"BackgroundFetchRegistration\" in self && \"match\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.matchAll","info":{"code":"\"BackgroundFetchRegistration\" in self && \"matchAll\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.recordsAvailable","info":{"code":"\"BackgroundFetchRegistration\" in self && \"recordsAvailable\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.result","info":{"code":"\"BackgroundFetchRegistration\" in self && \"result\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.uploadTotal","info":{"code":"\"BackgroundFetchRegistration\" in self && \"uploadTotal\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BackgroundFetchRegistration.uploaded","info":{"code":"\"BackgroundFetchRegistration\" in self && \"uploaded\" in BackgroundFetchRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.BarProp","info":{"code":"(function () {\n  var instance = window.toolbar;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.BarProp.visible","info":{"code":"(function () {\n  var instance = window.toolbar;\n  return !!instance && \"visible\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.BarcodeDetector","info":{"code":"\"BarcodeDetector\" in self","exposure":"Window"},"result":false},{"name":"api.BarcodeDetector.BarcodeDetector","info":{"code":"bcd.testConstructor('BarcodeDetector')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BarcodeDetector is not defined"},{"name":"api.BarcodeDetector.detect","info":{"code":"\"BarcodeDetector\" in self && \"detect\" in BarcodeDetector.prototype","exposure":"Window"},"result":false},{"name":"api.BarcodeDetector.getSupportedFormats_static","info":{"code":"\"BarcodeDetector\" in self && \"getSupportedFormats\" in BarcodeDetector","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return \"BaseAudioContext\" in self;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.audioWorklet","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"audioWorklet\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createAnalyser","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createAnalyser\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createBiquadFilter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createBiquadFilter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createBufferSource","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createBufferSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createChannelMerger","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createChannelMerger\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createChannelSplitter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createChannelSplitter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createConstantSource","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createConstantSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createConvolver","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createConvolver\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createDelay","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createDelay\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createDynamicsCompressor","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createDynamicsCompressor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createGain","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createGain\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createIIRFilter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createIIRFilter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createOscillator","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createOscillator\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createPanner","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createPanner\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createPeriodicWave","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createPeriodicWave\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createPeriodicWave.constraints_disableNormalization_parameter","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  if (!(instance && instance.createPeriodicWave)) {\n    return {\n      result: false,\n      message: \"instance.createPeriodicWave is not defined\"\n    };\n  }\n  function create(constraints) {\n    var real = new Float32Array(2);\n    var imag = new Float32Array(2);\n\n    real[0] = 0;\n    real[1] = 1;\n    imag[0] = 0;\n    imag[1] = 0;\n\n    instance.createPeriodicWave(real, imag, constraints);\n  }\n  return bcd.testOptionParam(create, null, \"disableNormalization\", true);\n})();\n","exposure":"Window"},"result":false,"message":"instance.createPeriodicWave is not defined"},{"name":"api.BaseAudioContext.createScriptProcessor","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createScriptProcessor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createStereoPanner","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createStereoPanner\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.createWaveShaper","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"createWaveShaper\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.currentTime","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"currentTime\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.decodeAudioData","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"decodeAudioData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.decodeAudioData.returns_promise","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  var ctx = reusableInstances.audioContext;\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  if (!(instance && instance.decodeAudioData)) {\n    return {\n      result: false,\n      message: \"instance.decodeAudioData is not defined\"\n    };\n  }\n  var value = instance.decodeAudioData(new ArrayBuffer());\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":false,"message":"ctx is falsy"},{"name":"api.BaseAudioContext.destination","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"destination\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.listener","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"listener\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.renderQuantumSize","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"renderQuantumSize\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.sampleRate","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"sampleRate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.BaseAudioContext.state","info":{"code":"(function () {\n  var instance = reusableInstances.audioContext;\n  return !!instance && \"state\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Baseline","info":{"code":"\"Baseline\" in self","exposure":"Window"},"result":false},{"name":"api.Baseline.name","info":{"code":"\"Baseline\" in self && \"name\" in Baseline.prototype","exposure":"Window"},"result":false},{"name":"api.Baseline.value","info":{"code":"\"Baseline\" in self && \"value\" in Baseline.prototype","exposure":"Window"},"result":false},{"name":"api.BatteryManager","info":{"code":"(function () {\n  if (!(\"getBattery\" in navigator)) {\n    return { result: false, message: \"navigator.getBattery() is not defined\" };\n  }\n  var promise = navigator.getBattery();\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.BatteryManager.charging","info":{"code":"(function () {\n  if (!(\"getBattery\" in navigator)) {\n    return { result: false, message: \"navigator.getBattery() is not defined\" };\n  }\n  var promise = navigator.getBattery();\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"charging\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.BatteryManager.chargingTime","info":{"code":"(function () {\n  if (!(\"getBattery\" in navigator)) {\n    return { result: false, message: \"navigator.getBattery() is not defined\" };\n  }\n  var promise = navigator.getBattery();\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"chargingTime\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.BatteryManager.dischargingTime","info":{"code":"(function () {\n  if (!(\"getBattery\" in navigator)) {\n    return { result: false, message: \"navigator.getBattery() is not defined\" };\n  }\n  var promise = navigator.getBattery();\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"dischargingTime\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.BatteryManager.level","info":{"code":"(function () {\n  if (!(\"getBattery\" in navigator)) {\n    return { result: false, message: \"navigator.getBattery() is not defined\" };\n  }\n  var promise = navigator.getBattery();\n  promise.then(function () {});\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"level\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.BeforeInstallPromptEvent","info":{"code":"(function () {\n  try {\n    var instance = new BeforeInstallPromptEvent(\"\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: BeforeInstallPromptEvent is not defined"},{"name":"api.BeforeInstallPromptEvent.BeforeInstallPromptEvent","info":{"code":"bcd.testConstructor('BeforeInstallPromptEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BeforeInstallPromptEvent is not defined"},{"name":"api.BeforeInstallPromptEvent.platforms","info":{"code":"(function () {\n  try {\n    var instance = new BeforeInstallPromptEvent(\"\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"platforms\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: BeforeInstallPromptEvent is not defined"},{"name":"api.BeforeInstallPromptEvent.prompt","info":{"code":"(function () {\n  try {\n    var instance = new BeforeInstallPromptEvent(\"\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"prompt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: BeforeInstallPromptEvent is not defined"},{"name":"api.BeforeInstallPromptEvent.userChoice","info":{"code":"(function () {\n  try {\n    var instance = new BeforeInstallPromptEvent(\"\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"userChoice\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: BeforeInstallPromptEvent is not defined"},{"name":"api.BeforeUnloadEvent","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"BeforeUnloadEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.BeforeUnloadEvent.returnValue","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"BeforeUnloadEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"returnValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.BiquadFilterNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.BiquadFilterNode.BiquadFilterNode","info":{"code":"bcd.testConstructor('BiquadFilterNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BiquadFilterNode is not defined"},{"name":"api.BiquadFilterNode.Q","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance && \"Q\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.BiquadFilterNode.detune","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance && \"detune\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.BiquadFilterNode.frequency","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance && \"frequency\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.BiquadFilterNode.gain","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance && \"gain\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.BiquadFilterNode.getFrequencyResponse","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance && \"getFrequencyResponse\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.BiquadFilterNode.type","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createBiquadFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createBiquadFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createBiquadFilter();\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.Blob","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Blob.Blob","info":{"code":"bcd.testConstructor('Blob')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.Blob.arrayBuffer","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"arrayBuffer\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Blob.bytes","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"bytes\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Blob.size","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Blob.slice","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"slice\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Blob.stream","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"stream\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Blob.text","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Blob.type","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Blob();\n  } catch (e) {\n    instance = new BlobBuilder();\n  }\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.BlobEvent","info":{"code":"\"BlobEvent\" in self","exposure":"Window"},"result":false},{"name":"api.BlobEvent.BlobEvent","info":{"code":"bcd.testConstructor('BlobEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BlobEvent is not defined"},{"name":"api.BlobEvent.data","info":{"code":"\"BlobEvent\" in self && \"data\" in BlobEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BlobEvent.timecode","info":{"code":"\"BlobEvent\" in self && \"timecode\" in BlobEvent.prototype","exposure":"Window"},"result":false},{"name":"api.Bluetooth","info":{"code":"(function () {\n  var instance = navigator.bluetooth;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Bluetooth.getAvailability","info":{"code":"(function () {\n  var instance = navigator.bluetooth;\n  return !!instance && \"getAvailability\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Bluetooth.getDevices","info":{"code":"(function () {\n  var instance = navigator.bluetooth;\n  return !!instance && \"getDevices\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Bluetooth.referringDevice","info":{"code":"(function () {\n  var instance = navigator.bluetooth;\n  return !!instance && \"referringDevice\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Bluetooth.requestDevice","info":{"code":"(function () {\n  var instance = navigator.bluetooth;\n  return !!instance && \"requestDevice\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Bluetooth.requestLEScan","info":{"code":"(function () {\n  var instance = navigator.bluetooth;\n  return !!instance && \"requestLEScan\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.BluetoothAdvertisingEvent","info":{"code":"\"BluetoothAdvertisingEvent\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.BluetoothAdvertisingEvent","info":{"code":"bcd.testConstructor('BluetoothAdvertisingEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BluetoothAdvertisingEvent is not defined"},{"name":"api.BluetoothAdvertisingEvent.appearance","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"appearance\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.device","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"device\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.manufacturerData","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"manufacturerData\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.name","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"name\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.rssi","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"rssi\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.serviceData","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"serviceData\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.txPower","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"txPower\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothAdvertisingEvent.uuids","info":{"code":"\"BluetoothAdvertisingEvent\" in self && \"uuids\" in BluetoothAdvertisingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties","info":{"code":"\"BluetoothCharacteristicProperties\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.authenticatedSignedWrites","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"authenticatedSignedWrites\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.broadcast","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"broadcast\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.indicate","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"indicate\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.notify","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"notify\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.read","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"read\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.reliableWrite","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"reliableWrite\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.writableAuxiliaries","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"writableAuxiliaries\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.write","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"write\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothCharacteristicProperties.writeWithoutResponse","info":{"code":"\"BluetoothCharacteristicProperties\" in self && \"writeWithoutResponse\" in BluetoothCharacteristicProperties.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDataFilter","info":{"code":"\"BluetoothDataFilter\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothDataFilter.BluetoothDataFilter","info":{"code":"bcd.testConstructor('BluetoothDataFilter')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BluetoothDataFilter is not defined"},{"name":"api.BluetoothDataFilter.dataPrefix","info":{"code":"\"BluetoothDataFilter\" in self && \"dataPrefix\" in BluetoothDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDataFilter.mask","info":{"code":"\"BluetoothDataFilter\" in self && \"mask\" in BluetoothDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice","info":{"code":"\"BluetoothDevice\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice.forget","info":{"code":"\"BluetoothDevice\" in self && \"forget\" in BluetoothDevice.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice.gatt","info":{"code":"\"BluetoothDevice\" in self && \"gatt\" in BluetoothDevice.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice.id","info":{"code":"\"BluetoothDevice\" in self && \"id\" in BluetoothDevice.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice.name","info":{"code":"\"BluetoothDevice\" in self && \"name\" in BluetoothDevice.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice.watchAdvertisements","info":{"code":"\"BluetoothDevice\" in self && \"watchAdvertisements\" in BluetoothDevice.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothDevice.watchingAdvertisements","info":{"code":"\"BluetoothDevice\" in self && \"watchingAdvertisements\" in BluetoothDevice.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScan","info":{"code":"\"BluetoothLEScan\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScan.acceptAllAdvertisements","info":{"code":"\"BluetoothLEScan\" in self && \"acceptAllAdvertisements\" in BluetoothLEScan.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScan.active","info":{"code":"\"BluetoothLEScan\" in self && \"active\" in BluetoothLEScan.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScan.filters","info":{"code":"\"BluetoothLEScan\" in self && \"filters\" in BluetoothLEScan.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScan.keepRepeatedDevices","info":{"code":"\"BluetoothLEScan\" in self && \"keepRepeatedDevices\" in BluetoothLEScan.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScan.stop","info":{"code":"\"BluetoothLEScan\" in self && \"stop\" in BluetoothLEScan.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanFilter","info":{"code":"\"BluetoothLEScanFilter\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanFilter.BluetoothLEScanFilter","info":{"code":"bcd.testConstructor('BluetoothLEScanFilter')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BluetoothLEScanFilter is not defined"},{"name":"api.BluetoothLEScanFilter.manufacturerData","info":{"code":"\"BluetoothLEScanFilter\" in self && \"manufacturerData\" in BluetoothLEScanFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanFilter.name","info":{"code":"\"BluetoothLEScanFilter\" in self && \"name\" in BluetoothLEScanFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanFilter.namePrefix","info":{"code":"\"BluetoothLEScanFilter\" in self && \"namePrefix\" in BluetoothLEScanFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanFilter.serviceData","info":{"code":"\"BluetoothLEScanFilter\" in self && \"serviceData\" in BluetoothLEScanFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanFilter.services","info":{"code":"\"BluetoothLEScanFilter\" in self && \"services\" in BluetoothLEScanFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanPermissionResult","info":{"code":"\"BluetoothLEScanPermissionResult\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothLEScanPermissionResult.scans","info":{"code":"\"BluetoothLEScanPermissionResult\" in self && \"scans\" in BluetoothLEScanPermissionResult.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter","info":{"code":"\"BluetoothManufacturerDataFilter\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"BluetoothManufacturerDataFilter\" in self && !!(BluetoothManufacturerDataFilter.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.BluetoothManufacturerDataFilter","info":{"code":"bcd.testConstructor('BluetoothManufacturerDataFilter')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BluetoothManufacturerDataFilter is not defined"},{"name":"api.BluetoothManufacturerDataFilter.entries","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"entries\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.forEach","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"forEach\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.get","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"get\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.has","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"has\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.keys","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"keys\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.size","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"size\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataFilter.values","info":{"code":"\"BluetoothManufacturerDataFilter\" in self && \"values\" in BluetoothManufacturerDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap","info":{"code":"\"BluetoothManufacturerDataMap\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"BluetoothManufacturerDataMap\" in self && !!(BluetoothManufacturerDataMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.entries","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"entries\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.forEach","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"forEach\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.get","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"get\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.has","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"has\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.keys","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"keys\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.size","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"size\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothManufacturerDataMap.values","info":{"code":"\"BluetoothManufacturerDataMap\" in self && \"values\" in BluetoothManufacturerDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothPermissionResult","info":{"code":"\"BluetoothPermissionResult\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothPermissionResult.devices","info":{"code":"\"BluetoothPermissionResult\" in self && \"devices\" in BluetoothPermissionResult.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.getDescriptor","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"getDescriptor\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.getDescriptors","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"getDescriptors\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.properties","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"properties\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.readValue","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"readValue\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.service","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"service\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.startNotifications","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"startNotifications\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.stopNotifications","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"stopNotifications\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.uuid","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"uuid\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.value","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"value\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.writeValue","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"writeValue\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.writeValueWithResponse","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"writeValueWithResponse\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTCharacteristic.writeValueWithoutResponse","info":{"code":"\"BluetoothRemoteGATTCharacteristic\" in self && \"writeValueWithoutResponse\" in BluetoothRemoteGATTCharacteristic.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTDescriptor","info":{"code":"\"BluetoothRemoteGATTDescriptor\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTDescriptor.characteristic","info":{"code":"\"BluetoothRemoteGATTDescriptor\" in self && \"characteristic\" in BluetoothRemoteGATTDescriptor.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTDescriptor.readValue","info":{"code":"\"BluetoothRemoteGATTDescriptor\" in self && \"readValue\" in BluetoothRemoteGATTDescriptor.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTDescriptor.uuid","info":{"code":"\"BluetoothRemoteGATTDescriptor\" in self && \"uuid\" in BluetoothRemoteGATTDescriptor.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTDescriptor.value","info":{"code":"\"BluetoothRemoteGATTDescriptor\" in self && \"value\" in BluetoothRemoteGATTDescriptor.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTDescriptor.writeValue","info":{"code":"\"BluetoothRemoteGATTDescriptor\" in self && \"writeValue\" in BluetoothRemoteGATTDescriptor.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer","info":{"code":"\"BluetoothRemoteGATTServer\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer.connect","info":{"code":"\"BluetoothRemoteGATTServer\" in self && \"connect\" in BluetoothRemoteGATTServer.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer.connected","info":{"code":"\"BluetoothRemoteGATTServer\" in self && \"connected\" in BluetoothRemoteGATTServer.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer.device","info":{"code":"\"BluetoothRemoteGATTServer\" in self && \"device\" in BluetoothRemoteGATTServer.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer.disconnect","info":{"code":"\"BluetoothRemoteGATTServer\" in self && \"disconnect\" in BluetoothRemoteGATTServer.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer.getPrimaryService","info":{"code":"\"BluetoothRemoteGATTServer\" in self && \"getPrimaryService\" in BluetoothRemoteGATTServer.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTServer.getPrimaryServices","info":{"code":"\"BluetoothRemoteGATTServer\" in self && \"getPrimaryServices\" in BluetoothRemoteGATTServer.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService","info":{"code":"\"BluetoothRemoteGATTService\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.device","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"device\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.getCharacteristic","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"getCharacteristic\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.getCharacteristics","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"getCharacteristics\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.getIncludedService","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"getIncludedService\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.getIncludedServices","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"getIncludedServices\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.isPrimary","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"isPrimary\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothRemoteGATTService.uuid","info":{"code":"\"BluetoothRemoteGATTService\" in self && \"uuid\" in BluetoothRemoteGATTService.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter","info":{"code":"\"BluetoothServiceDataFilter\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"BluetoothServiceDataFilter\" in self && !!(BluetoothServiceDataFilter.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.BluetoothServiceDataFilter","info":{"code":"bcd.testConstructor('BluetoothServiceDataFilter')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BluetoothServiceDataFilter is not defined"},{"name":"api.BluetoothServiceDataFilter.entries","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"entries\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.forEach","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"forEach\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.get","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"get\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.has","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"has\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.keys","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"keys\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.size","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"size\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataFilter.values","info":{"code":"\"BluetoothServiceDataFilter\" in self && \"values\" in BluetoothServiceDataFilter.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap","info":{"code":"\"BluetoothServiceDataMap\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"BluetoothServiceDataMap\" in self && !!(BluetoothServiceDataMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.entries","info":{"code":"\"BluetoothServiceDataMap\" in self && \"entries\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.forEach","info":{"code":"\"BluetoothServiceDataMap\" in self && \"forEach\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.get","info":{"code":"\"BluetoothServiceDataMap\" in self && \"get\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.has","info":{"code":"\"BluetoothServiceDataMap\" in self && \"has\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.keys","info":{"code":"\"BluetoothServiceDataMap\" in self && \"keys\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.size","info":{"code":"\"BluetoothServiceDataMap\" in self && \"size\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothServiceDataMap.values","info":{"code":"\"BluetoothServiceDataMap\" in self && \"values\" in BluetoothServiceDataMap.prototype","exposure":"Window"},"result":false},{"name":"api.BluetoothUUID","info":{"code":"\"BluetoothUUID\" in self","exposure":"Window"},"result":false},{"name":"api.BluetoothUUID.canonicalUUID_static","info":{"code":"\"BluetoothUUID\" in self && \"canonicalUUID\" in BluetoothUUID","exposure":"Window"},"result":false},{"name":"api.BluetoothUUID.getCharacteristic_static","info":{"code":"\"BluetoothUUID\" in self && \"getCharacteristic\" in BluetoothUUID","exposure":"Window"},"result":false},{"name":"api.BluetoothUUID.getDescriptor_static","info":{"code":"\"BluetoothUUID\" in self && \"getDescriptor\" in BluetoothUUID","exposure":"Window"},"result":false},{"name":"api.BluetoothUUID.getService_static","info":{"code":"\"BluetoothUUID\" in self && \"getService\" in BluetoothUUID","exposure":"Window"},"result":false},{"name":"api.BroadcastChannel","info":{"code":"\"BroadcastChannel\" in self","exposure":"Window"},"result":false},{"name":"api.BroadcastChannel.BroadcastChannel","info":{"code":"bcd.testConstructor('BroadcastChannel')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BroadcastChannel is not defined"},{"name":"api.BroadcastChannel.close","info":{"code":"\"BroadcastChannel\" in self && \"close\" in BroadcastChannel.prototype","exposure":"Window"},"result":false},{"name":"api.BroadcastChannel.name","info":{"code":"\"BroadcastChannel\" in self && \"name\" in BroadcastChannel.prototype","exposure":"Window"},"result":false},{"name":"api.BroadcastChannel.postMessage","info":{"code":"\"BroadcastChannel\" in self && \"postMessage\" in BroadcastChannel.prototype","exposure":"Window"},"result":false},{"name":"api.BrowserCaptureMediaStreamTrack","info":{"code":"\"BrowserCaptureMediaStreamTrack\" in self","exposure":"Window"},"result":false},{"name":"api.BrowserCaptureMediaStreamTrack.clone","info":{"code":"\"BrowserCaptureMediaStreamTrack\" in self && \"clone\" in BrowserCaptureMediaStreamTrack.prototype","exposure":"Window"},"result":false},{"name":"api.BrowserCaptureMediaStreamTrack.cropTo","info":{"code":"\"BrowserCaptureMediaStreamTrack\" in self && \"cropTo\" in BrowserCaptureMediaStreamTrack.prototype","exposure":"Window"},"result":false},{"name":"api.BrowserCaptureMediaStreamTrack.restrictTo","info":{"code":"\"BrowserCaptureMediaStreamTrack\" in self && \"restrictTo\" in BrowserCaptureMediaStreamTrack.prototype","exposure":"Window"},"result":false},{"name":"api.BufferedChangeEvent","info":{"code":"\"BufferedChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.BufferedChangeEvent.BufferedChangeEvent","info":{"code":"bcd.testConstructor('BufferedChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: BufferedChangeEvent is not defined"},{"name":"api.BufferedChangeEvent.addedRanges","info":{"code":"\"BufferedChangeEvent\" in self && \"addedRanges\" in BufferedChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.BufferedChangeEvent.removedRanges","info":{"code":"\"BufferedChangeEvent\" in self && \"removedRanges\" in BufferedChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.ByteLengthQueuingStrategy","info":{"code":"(function () {\n  if (!(\"ByteLengthQueuingStrategy\" in self)) {\n    return {\n      result: false,\n      message: \"ByteLengthQueuingStrategy is not defined\"\n    };\n  }\n  var instance = new ByteLengthQueuingStrategy({ highWaterMark: 1 });\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ByteLengthQueuingStrategy.ByteLengthQueuingStrategy","info":{"code":"bcd.testConstructor('ByteLengthQueuingStrategy')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'ByteLengthQueuingStrategy': 1 argument required, but only 0 present."},{"name":"api.ByteLengthQueuingStrategy.highWaterMark","info":{"code":"(function () {\n  if (!(\"ByteLengthQueuingStrategy\" in self)) {\n    return {\n      result: false,\n      message: \"ByteLengthQueuingStrategy is not defined\"\n    };\n  }\n  var instance = new ByteLengthQueuingStrategy({ highWaterMark: 1 });\n  return !!instance && \"highWaterMark\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ByteLengthQueuingStrategy.size","info":{"code":"(function () {\n  if (!(\"ByteLengthQueuingStrategy\" in self)) {\n    return {\n      result: false,\n      message: \"ByteLengthQueuingStrategy is not defined\"\n    };\n  }\n  var instance = new ByteLengthQueuingStrategy({ highWaterMark: 1 });\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CDATASection","info":{"code":"\"CDATASection\" in self","exposure":"Window"},"result":false},{"name":"api.CSS","info":{"code":"\"CSS\" in self","exposure":"Window"},"result":false},{"name":"api.CSS.Hz_static","info":{"code":"\"CSS\" in self && \"Hz\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.Q_static","info":{"code":"\"CSS\" in self && \"Q\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.animationWorklet_static","info":{"code":"\"CSS\" in self && \"animationWorklet\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cap_static","info":{"code":"\"CSS\" in self && \"cap\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.ch_static","info":{"code":"\"CSS\" in self && \"ch\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cm_static","info":{"code":"\"CSS\" in self && \"cm\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cqb_static","info":{"code":"\"CSS\" in self && \"cqb\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cqh_static","info":{"code":"\"CSS\" in self && \"cqh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cqi_static","info":{"code":"\"CSS\" in self && \"cqi\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cqmax_static","info":{"code":"\"CSS\" in self && \"cqmax\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cqmin_static","info":{"code":"\"CSS\" in self && \"cqmin\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.cqw_static","info":{"code":"\"CSS\" in self && \"cqw\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.deg_static","info":{"code":"\"CSS\" in self && \"deg\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dpcm_static","info":{"code":"\"CSS\" in self && \"dpcm\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dpi_static","info":{"code":"\"CSS\" in self && \"dpi\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dppx_static","info":{"code":"\"CSS\" in self && \"dppx\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dvb_static","info":{"code":"\"CSS\" in self && \"dvb\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dvh_static","info":{"code":"\"CSS\" in self && \"dvh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dvi_static","info":{"code":"\"CSS\" in self && \"dvi\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dvmax_static","info":{"code":"\"CSS\" in self && \"dvmax\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dvmin_static","info":{"code":"\"CSS\" in self && \"dvmin\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.dvw_static","info":{"code":"\"CSS\" in self && \"dvw\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.elementSources_static","info":{"code":"\"CSS\" in self && \"elementSources\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.em_static","info":{"code":"\"CSS\" in self && \"em\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.escape_static","info":{"code":"\"CSS\" in self && \"escape\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.ex_static","info":{"code":"\"CSS\" in self && \"ex\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.fr_static","info":{"code":"\"CSS\" in self && \"fr\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.grad_static","info":{"code":"\"CSS\" in self && \"grad\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.highlights_static","info":{"code":"\"CSS\" in self && \"highlights\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.ic_static","info":{"code":"\"CSS\" in self && \"ic\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.in_static","info":{"code":"\"CSS\" in self && \"in\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.kHz_static","info":{"code":"\"CSS\" in self && \"kHz\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.layoutWorklet_static","info":{"code":"\"CSS\" in self && \"layoutWorklet\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lh_static","info":{"code":"\"CSS\" in self && \"lh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lvb_static","info":{"code":"\"CSS\" in self && \"lvb\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lvh_static","info":{"code":"\"CSS\" in self && \"lvh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lvi_static","info":{"code":"\"CSS\" in self && \"lvi\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lvmax_static","info":{"code":"\"CSS\" in self && \"lvmax\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lvmin_static","info":{"code":"\"CSS\" in self && \"lvmin\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.lvw_static","info":{"code":"\"CSS\" in self && \"lvw\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.mm_static","info":{"code":"\"CSS\" in self && \"mm\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.ms_static","info":{"code":"\"CSS\" in self && \"ms\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.number_static","info":{"code":"\"CSS\" in self && \"number\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.paintWorklet_static","info":{"code":"\"CSS\" in self && \"paintWorklet\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseCommaValueList_static","info":{"code":"\"CSS\" in self && \"parseCommaValueList\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseDeclarationList_static","info":{"code":"\"CSS\" in self && \"parseDeclarationList\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseDeclaration_static","info":{"code":"\"CSS\" in self && \"parseDeclaration\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseRuleList_static","info":{"code":"\"CSS\" in self && \"parseRuleList\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseRule_static","info":{"code":"\"CSS\" in self && \"parseRule\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseStylesheet_static","info":{"code":"\"CSS\" in self && \"parseStylesheet\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseValueList_static","info":{"code":"\"CSS\" in self && \"parseValueList\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.parseValue_static","info":{"code":"\"CSS\" in self && \"parseValue\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.pc_static","info":{"code":"\"CSS\" in self && \"pc\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.percent_static","info":{"code":"\"CSS\" in self && \"percent\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.pt_static","info":{"code":"\"CSS\" in self && \"pt\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.px_static","info":{"code":"\"CSS\" in self && \"px\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.rad_static","info":{"code":"\"CSS\" in self && \"rad\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.rcap_static","info":{"code":"\"CSS\" in self && \"rcap\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.rch_static","info":{"code":"\"CSS\" in self && \"rch\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.registerProperty_static","info":{"code":"\"CSS\" in self && \"registerProperty\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.rem_static","info":{"code":"\"CSS\" in self && \"rem\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.rex_static","info":{"code":"\"CSS\" in self && \"rex\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.ric_static","info":{"code":"\"CSS\" in self && \"ric\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.rlh_static","info":{"code":"\"CSS\" in self && \"rlh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.s_static","info":{"code":"\"CSS\" in self && \"s\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.supports_static","info":{"code":"\"CSS\" in self && \"supports\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.supports_static.optional_parens","info":{"code":"(function () {\n  return CSS.supports(\"display: block\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: CSS is not defined"},{"name":"api.CSS.svb_static","info":{"code":"\"CSS\" in self && \"svb\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.svh_static","info":{"code":"\"CSS\" in self && \"svh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.svi_static","info":{"code":"\"CSS\" in self && \"svi\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.svmax_static","info":{"code":"\"CSS\" in self && \"svmax\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.svmin_static","info":{"code":"\"CSS\" in self && \"svmin\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.svw_static","info":{"code":"\"CSS\" in self && \"svw\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.turn_static","info":{"code":"\"CSS\" in self && \"turn\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.vb_static","info":{"code":"\"CSS\" in self && \"vb\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.vh_static","info":{"code":"\"CSS\" in self && \"vh\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.vi_static","info":{"code":"\"CSS\" in self && \"vi\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.vmax_static","info":{"code":"\"CSS\" in self && \"vmax\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.vmin_static","info":{"code":"\"CSS\" in self && \"vmin\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSS.vw_static","info":{"code":"\"CSS\" in self && \"vw\" in CSS","exposure":"Window"},"result":false},{"name":"api.CSSAnimation","info":{"code":"\"CSSAnimation\" in self","exposure":"Window"},"result":false},{"name":"api.CSSAnimation.animationName","info":{"code":"\"CSSAnimation\" in self && \"animationName\" in CSSAnimation.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColor","info":{"code":"\"CSSColor\" in self","exposure":"Window"},"result":false},{"name":"api.CSSColor.CSSColor","info":{"code":"bcd.testConstructor('CSSColor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSColor is not defined"},{"name":"api.CSSColor.alpha","info":{"code":"\"CSSColor\" in self && \"alpha\" in CSSColor.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColor.channels","info":{"code":"\"CSSColor\" in self && \"channels\" in CSSColor.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColor.colorSpace","info":{"code":"\"CSSColor\" in self && \"colorSpace\" in CSSColor.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColorProfileRule","info":{"code":"\"CSSColorProfileRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSColorProfileRule.components","info":{"code":"\"CSSColorProfileRule\" in self && \"components\" in CSSColorProfileRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColorProfileRule.name","info":{"code":"\"CSSColorProfileRule\" in self && \"name\" in CSSColorProfileRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColorProfileRule.renderingIntent","info":{"code":"\"CSSColorProfileRule\" in self && \"renderingIntent\" in CSSColorProfileRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColorProfileRule.src","info":{"code":"\"CSSColorProfileRule\" in self && \"src\" in CSSColorProfileRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSColorValue","info":{"code":"\"CSSColorValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSColorValue.parse_static","info":{"code":"\"CSSColorValue\" in self && \"parse\" in CSSColorValue","exposure":"Window"},"result":false},{"name":"api.CSSConditionRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  if (!(\"conditionText\" in instance)) {\n    return {\n      result: false,\n      message:\n        'CSSConditionRule instance must have \"conditionText\" property, which is missing from this instance'\n    };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSConditionRule.conditionText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  if (!(\"conditionText\" in instance)) {\n    return {\n      result: false,\n      message:\n        'CSSConditionRule instance must have \"conditionText\" property, which is missing from this instance'\n    };\n  }\n  return !!instance && \"conditionText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSContainerRule","info":{"code":"\"CSSContainerRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSContainerRule.containerName","info":{"code":"\"CSSContainerRule\" in self && \"containerName\" in CSSContainerRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSContainerRule.containerQuery","info":{"code":"\"CSSContainerRule\" in self && \"containerQuery\" in CSSContainerRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSCounterStyleRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.additiveSymbols","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"additiveSymbols\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.fallback","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"fallback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.name","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.negative","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"negative\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.pad","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"pad\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.prefix","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"prefix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.range","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"range\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.speakAs","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"speakAs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.suffix","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"suffix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.symbols","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"symbols\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCounterStyleRule.system","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    '@counter-style thumbs {system: cyclic; symbols: \"👍\"; suffix: \" \";}'\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"system\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSCustomMediaRule","info":{"code":"\"CSSCustomMediaRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSCustomMediaRule.name","info":{"code":"\"CSSCustomMediaRule\" in self && \"name\" in CSSCustomMediaRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSCustomMediaRule.query","info":{"code":"\"CSSCustomMediaRule\" in self && \"query\" in CSSCustomMediaRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors","info":{"code":"\"CSSFontFaceDescriptors\" in self","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.ascent-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"ascent-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.ascentOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"ascentOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.descent-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"descent-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.descentOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"descentOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-display","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-display\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-family","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-family\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-feature-settings","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-feature-settings\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-language-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-language-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-named-instance","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-named-instance\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-size","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-size\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-stretch","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-stretch\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-style","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-style\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-variation-settings","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-variation-settings\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-weight","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-weight\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.font-width","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"font-width\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontDisplay","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontDisplay\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontFamily","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontFamily\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontFeatureSettings","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontFeatureSettings\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontLanguageOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontLanguageOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontNamedInstance","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontNamedInstance\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontSize","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontSize\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontStretch","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontStretch\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontStyle","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontStyle\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontVariationSettings","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontVariationSettings\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontWeight","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontWeight\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.fontWidth","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"fontWidth\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.line-gap-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"line-gap-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.lineGapOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"lineGapOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.size-adjust","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"size-adjust\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.sizeAdjust","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"sizeAdjust\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.src","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"src\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.subscript-position-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"subscript-position-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.subscript-size-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"subscript-size-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.subscriptPositionOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"subscriptPositionOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.subscriptSizeOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"subscriptSizeOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.superscript-position-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"superscript-position-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.superscript-size-override","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"superscript-size-override\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.superscriptPositionOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"superscriptPositionOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.superscriptSizeOverride","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"superscriptSizeOverride\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.unicode-range","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"unicode-range\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceDescriptors.unicodeRange","info":{"code":"\"CSSFontFaceDescriptors\" in self && \"unicodeRange\" in CSSFontFaceDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontFaceRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-face {font-family: somefont; src: url(somefont.ttf);}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFaceRule.style","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-face {font-family: somefont; src: url(somefont.ttf);}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.@@iterator","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.clear","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.delete","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"delete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.entries","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.forEach","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.get","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.has","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"has\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.keys","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.set","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"set\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.size","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesMap.values","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var rule = stylesheet.cssRules.item(0);\n  if (!rule) {\n    return { result: false, message: \"rule is falsy\" };\n  }\n  var instance = rule.annotation;\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.annotation","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"annotation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.characterVariant","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"characterVariant\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.fontFamily","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"fontFamily\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.historicalForms","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"historicalForms\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.ornaments","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"ornaments\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.styleset","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"styleset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.stylistic","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"stylistic\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontFeatureValuesRule.swash","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@font-feature-values Font {@styleset {nice-style: 12;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"swash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSFontPaletteValuesRule","info":{"code":"\"CSSFontPaletteValuesRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSFontPaletteValuesRule.basePalette","info":{"code":"\"CSSFontPaletteValuesRule\" in self && \"basePalette\" in CSSFontPaletteValuesRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontPaletteValuesRule.fontFamily","info":{"code":"\"CSSFontPaletteValuesRule\" in self && \"fontFamily\" in CSSFontPaletteValuesRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontPaletteValuesRule.name","info":{"code":"\"CSSFontPaletteValuesRule\" in self && \"name\" in CSSFontPaletteValuesRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFontPaletteValuesRule.overrideColors","info":{"code":"\"CSSFontPaletteValuesRule\" in self && \"overrideColors\" in CSSFontPaletteValuesRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFunctionDeclarations","info":{"code":"\"CSSFunctionDeclarations\" in self","exposure":"Window"},"result":false},{"name":"api.CSSFunctionDeclarations.style","info":{"code":"\"CSSFunctionDeclarations\" in self && \"style\" in CSSFunctionDeclarations.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFunctionDescriptors","info":{"code":"\"CSSFunctionDescriptors\" in self","exposure":"Window"},"result":false},{"name":"api.CSSFunctionDescriptors.result","info":{"code":"\"CSSFunctionDescriptors\" in self && \"result\" in CSSFunctionDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFunctionRule","info":{"code":"\"CSSFunctionRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSFunctionRule.getParameters","info":{"code":"\"CSSFunctionRule\" in self && \"getParameters\" in CSSFunctionRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFunctionRule.name","info":{"code":"\"CSSFunctionRule\" in self && \"name\" in CSSFunctionRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSFunctionRule.returnType","info":{"code":"\"CSSFunctionRule\" in self && \"returnType\" in CSSFunctionRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSGroupingRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  if (!(\"cssRules\" in instance)) {\n    return {\n      result: false,\n      message:\n        'CSSGroupingRule instance must have \"cssRules\" property, which is missing from this instance'\n    };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSGroupingRule.cssRules","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  if (!(\"cssRules\" in instance)) {\n    return {\n      result: false,\n      message:\n        'CSSGroupingRule instance must have \"cssRules\" property, which is missing from this instance'\n    };\n  }\n  return !!instance && \"cssRules\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSGroupingRule.deleteRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  if (!(\"cssRules\" in instance)) {\n    return {\n      result: false,\n      message:\n        'CSSGroupingRule instance must have \"cssRules\" property, which is missing from this instance'\n    };\n  }\n  return !!instance && \"deleteRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSGroupingRule.insertRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  if (!(\"cssRules\" in instance)) {\n    return {\n      result: false,\n      message:\n        'CSSGroupingRule instance must have \"cssRules\" property, which is missing from this instance'\n    };\n  }\n  return !!instance && \"insertRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSHSL","info":{"code":"\"CSSHSL\" in self","exposure":"Window"},"result":false},{"name":"api.CSSHSL.CSSHSL","info":{"code":"bcd.testConstructor('CSSHSL')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSHSL is not defined"},{"name":"api.CSSHSL.alpha","info":{"code":"\"CSSHSL\" in self && \"alpha\" in CSSHSL.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHSL.h","info":{"code":"\"CSSHSL\" in self && \"h\" in CSSHSL.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHSL.l","info":{"code":"\"CSSHSL\" in self && \"l\" in CSSHSL.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHSL.s","info":{"code":"\"CSSHSL\" in self && \"s\" in CSSHSL.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHWB","info":{"code":"\"CSSHWB\" in self","exposure":"Window"},"result":false},{"name":"api.CSSHWB.CSSHWB","info":{"code":"bcd.testConstructor('CSSHWB')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSHWB is not defined"},{"name":"api.CSSHWB.alpha","info":{"code":"\"CSSHWB\" in self && \"alpha\" in CSSHWB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHWB.b","info":{"code":"\"CSSHWB\" in self && \"b\" in CSSHWB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHWB.h","info":{"code":"\"CSSHWB\" in self && \"h\" in CSSHWB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSHWB.w","info":{"code":"\"CSSHWB\" in self && \"w\" in CSSHWB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSImageValue","info":{"code":"\"CSSImageValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSImportRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@import url(/resources/style.css);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSImportRule.href","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@import url(/resources/style.css);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSImportRule.layerName","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@import url(/resources/style.css);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"layerName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSImportRule.media","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@import url(/resources/style.css);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSImportRule.styleSheet","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@import url(/resources/style.css);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"styleSheet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSImportRule.supportsText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@import url(/resources/style.css);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"supportsText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframeRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var keyframes = stylesheet.cssRules.item(0);\n  if (!keyframes) {\n    return { result: false, message: \"keyframes is falsy\" };\n  }\n  var instance = keyframes.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframeRule.keyText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var keyframes = stylesheet.cssRules.item(0);\n  if (!keyframes) {\n    return { result: false, message: \"keyframes is falsy\" };\n  }\n  var instance = keyframes.cssRules.item(0);\n  return !!instance && \"keyText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframeRule.style","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var keyframes = stylesheet.cssRules.item(0);\n  if (!keyframes) {\n    return { result: false, message: \"keyframes is falsy\" };\n  }\n  var instance = keyframes.cssRules.item(0);\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule.appendRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"appendRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule.cssRules","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"cssRules\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule.deleteRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"deleteRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule.findRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"findRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule.length","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeyframesRule.name","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@keyframes test {0% {top: 0 } 100% { top: 100px; }} @-webkit-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-moz-keyframes test {0% { top: 0 } 100% { top: 100px; }} @-o-keyframes test {0% { top: 0 } 100% { top: 100px; }}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSKeywordValue","info":{"code":"\"CSSKeywordValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSKeywordValue.CSSKeywordValue","info":{"code":"bcd.testConstructor('CSSKeywordValue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSKeywordValue is not defined"},{"name":"api.CSSKeywordValue.value","info":{"code":"\"CSSKeywordValue\" in self && \"value\" in CSSKeywordValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLCH","info":{"code":"\"CSSLCH\" in self","exposure":"Window"},"result":false},{"name":"api.CSSLCH.CSSLCH","info":{"code":"bcd.testConstructor('CSSLCH')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSLCH is not defined"},{"name":"api.CSSLCH.alpha","info":{"code":"\"CSSLCH\" in self && \"alpha\" in CSSLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLCH.c","info":{"code":"\"CSSLCH\" in self && \"c\" in CSSLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLCH.h","info":{"code":"\"CSSLCH\" in self && \"h\" in CSSLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLCH.l","info":{"code":"\"CSSLCH\" in self && \"l\" in CSSLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLab","info":{"code":"\"CSSLab\" in self","exposure":"Window"},"result":false},{"name":"api.CSSLab.CSSLab","info":{"code":"bcd.testConstructor('CSSLab')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSLab is not defined"},{"name":"api.CSSLab.a","info":{"code":"\"CSSLab\" in self && \"a\" in CSSLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLab.alpha","info":{"code":"\"CSSLab\" in self && \"alpha\" in CSSLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLab.b","info":{"code":"\"CSSLab\" in self && \"b\" in CSSLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLab.l","info":{"code":"\"CSSLab\" in self && \"l\" in CSSLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLayerBlockRule","info":{"code":"\"CSSLayerBlockRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSLayerBlockRule.name","info":{"code":"\"CSSLayerBlockRule\" in self && \"name\" in CSSLayerBlockRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSLayerStatementRule","info":{"code":"\"CSSLayerStatementRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSLayerStatementRule.nameList","info":{"code":"\"CSSLayerStatementRule\" in self && \"nameList\" in CSSLayerStatementRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMarginRule","info":{"code":"\"CSSMarginRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMarginRule.name","info":{"code":"\"CSSMarginRule\" in self && \"name\" in CSSMarginRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMarginRule.style","info":{"code":"\"CSSMarginRule\" in self && \"style\" in CSSMarginRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathClamp","info":{"code":"\"CSSMathClamp\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathClamp.CSSMathClamp","info":{"code":"bcd.testConstructor('CSSMathClamp')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathClamp is not defined"},{"name":"api.CSSMathClamp.lower","info":{"code":"\"CSSMathClamp\" in self && \"lower\" in CSSMathClamp.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathClamp.upper","info":{"code":"\"CSSMathClamp\" in self && \"upper\" in CSSMathClamp.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathClamp.value","info":{"code":"\"CSSMathClamp\" in self && \"value\" in CSSMathClamp.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathInvert","info":{"code":"\"CSSMathInvert\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathInvert.CSSMathInvert","info":{"code":"bcd.testConstructor('CSSMathInvert')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathInvert is not defined"},{"name":"api.CSSMathInvert.value","info":{"code":"\"CSSMathInvert\" in self && \"value\" in CSSMathInvert.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathMax","info":{"code":"\"CSSMathMax\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathMax.CSSMathMax","info":{"code":"bcd.testConstructor('CSSMathMax')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathMax is not defined"},{"name":"api.CSSMathMax.values","info":{"code":"\"CSSMathMax\" in self && \"values\" in CSSMathMax.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathMin","info":{"code":"\"CSSMathMin\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathMin.CSSMathMin","info":{"code":"bcd.testConstructor('CSSMathMin')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathMin is not defined"},{"name":"api.CSSMathMin.values","info":{"code":"\"CSSMathMin\" in self && \"values\" in CSSMathMin.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathNegate","info":{"code":"\"CSSMathNegate\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathNegate.CSSMathNegate","info":{"code":"bcd.testConstructor('CSSMathNegate')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathNegate is not defined"},{"name":"api.CSSMathNegate.value","info":{"code":"\"CSSMathNegate\" in self && \"value\" in CSSMathNegate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathProduct","info":{"code":"\"CSSMathProduct\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathProduct.CSSMathProduct","info":{"code":"bcd.testConstructor('CSSMathProduct')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathProduct is not defined"},{"name":"api.CSSMathProduct.values","info":{"code":"\"CSSMathProduct\" in self && \"values\" in CSSMathProduct.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathSum","info":{"code":"\"CSSMathSum\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathSum.CSSMathSum","info":{"code":"bcd.testConstructor('CSSMathSum')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMathSum is not defined"},{"name":"api.CSSMathSum.values","info":{"code":"\"CSSMathSum\" in self && \"values\" in CSSMathSum.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMathValue","info":{"code":"\"CSSMathValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMathValue.operator","info":{"code":"\"CSSMathValue\" in self && \"operator\" in CSSMathValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMatrixComponent","info":{"code":"\"CSSMatrixComponent\" in self","exposure":"Window"},"result":false},{"name":"api.CSSMatrixComponent.CSSMatrixComponent","info":{"code":"bcd.testConstructor('CSSMatrixComponent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSMatrixComponent is not defined"},{"name":"api.CSSMatrixComponent.matrix","info":{"code":"\"CSSMatrixComponent\" in self && \"matrix\" in CSSMatrixComponent.prototype","exposure":"Window"},"result":false},{"name":"api.CSSMediaRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSMediaRule.matches","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"matches\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSMediaRule.media","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSNamespaceRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@namespace svg url(http://www.w3.org/2000/svg);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSNamespaceRule.namespaceURI","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@namespace svg url(http://www.w3.org/2000/svg);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"namespaceURI\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSNamespaceRule.prefix","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@namespace svg url(http://www.w3.org/2000/svg);\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"prefix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSNestedDeclarations","info":{"code":"\"CSSNestedDeclarations\" in self","exposure":"Window"},"result":false},{"name":"api.CSSNestedDeclarations.style","info":{"code":"\"CSSNestedDeclarations\" in self && \"style\" in CSSNestedDeclarations.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray","info":{"code":"\"CSSNumericArray\" in self","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"CSSNumericArray\" in self && !!(CSSNumericArray.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray.entries","info":{"code":"\"CSSNumericArray\" in self && \"entries\" in CSSNumericArray.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray.forEach","info":{"code":"\"CSSNumericArray\" in self && \"forEach\" in CSSNumericArray.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray.keys","info":{"code":"\"CSSNumericArray\" in self && \"keys\" in CSSNumericArray.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray.length","info":{"code":"\"CSSNumericArray\" in self && \"length\" in CSSNumericArray.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericArray.values","info":{"code":"\"CSSNumericArray\" in self && \"values\" in CSSNumericArray.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue","info":{"code":"\"CSSNumericValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.add","info":{"code":"\"CSSNumericValue\" in self && \"add\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.div","info":{"code":"\"CSSNumericValue\" in self && \"div\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.equals","info":{"code":"\"CSSNumericValue\" in self && \"equals\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.max","info":{"code":"\"CSSNumericValue\" in self && \"max\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.min","info":{"code":"\"CSSNumericValue\" in self && \"min\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.mul","info":{"code":"\"CSSNumericValue\" in self && \"mul\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.parse_static","info":{"code":"\"CSSNumericValue\" in self && \"parse\" in CSSNumericValue","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.sub","info":{"code":"\"CSSNumericValue\" in self && \"sub\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.to","info":{"code":"\"CSSNumericValue\" in self && \"to\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.toSum","info":{"code":"\"CSSNumericValue\" in self && \"toSum\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSNumericValue.type","info":{"code":"\"CSSNumericValue\" in self && \"type\" in CSSNumericValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLCH","info":{"code":"\"CSSOKLCH\" in self","exposure":"Window"},"result":false},{"name":"api.CSSOKLCH.CSSOKLCH","info":{"code":"bcd.testConstructor('CSSOKLCH')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSOKLCH is not defined"},{"name":"api.CSSOKLCH.alpha","info":{"code":"\"CSSOKLCH\" in self && \"alpha\" in CSSOKLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLCH.c","info":{"code":"\"CSSOKLCH\" in self && \"c\" in CSSOKLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLCH.h","info":{"code":"\"CSSOKLCH\" in self && \"h\" in CSSOKLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLCH.l","info":{"code":"\"CSSOKLCH\" in self && \"l\" in CSSOKLCH.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLab","info":{"code":"\"CSSOKLab\" in self","exposure":"Window"},"result":false},{"name":"api.CSSOKLab.CSSOKLab","info":{"code":"bcd.testConstructor('CSSOKLab')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSOKLab is not defined"},{"name":"api.CSSOKLab.a","info":{"code":"\"CSSOKLab\" in self && \"a\" in CSSOKLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLab.alpha","info":{"code":"\"CSSOKLab\" in self && \"alpha\" in CSSOKLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLab.b","info":{"code":"\"CSSOKLab\" in self && \"b\" in CSSOKLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSOKLab.l","info":{"code":"\"CSSOKLab\" in self && \"l\" in CSSOKLab.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors","info":{"code":"\"CSSPageDescriptors\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.bleed","info":{"code":"\"CSSPageDescriptors\" in self && \"bleed\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.margin","info":{"code":"\"CSSPageDescriptors\" in self && \"margin\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.margin-bottom","info":{"code":"\"CSSPageDescriptors\" in self && \"margin-bottom\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.margin-left","info":{"code":"\"CSSPageDescriptors\" in self && \"margin-left\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.margin-right","info":{"code":"\"CSSPageDescriptors\" in self && \"margin-right\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.margin-top","info":{"code":"\"CSSPageDescriptors\" in self && \"margin-top\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.marginBottom","info":{"code":"\"CSSPageDescriptors\" in self && \"marginBottom\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.marginLeft","info":{"code":"\"CSSPageDescriptors\" in self && \"marginLeft\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.marginRight","info":{"code":"\"CSSPageDescriptors\" in self && \"marginRight\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.marginTop","info":{"code":"\"CSSPageDescriptors\" in self && \"marginTop\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.marks","info":{"code":"\"CSSPageDescriptors\" in self && \"marks\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.page-orientation","info":{"code":"\"CSSPageDescriptors\" in self && \"page-orientation\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.pageOrientation","info":{"code":"\"CSSPageDescriptors\" in self && \"pageOrientation\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageDescriptors.size","info":{"code":"\"CSSPageDescriptors\" in self && \"size\" in CSSPageDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPageRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"@page {margin: 1cm;}\");\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSPageRule.selectorText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"@page {margin: 1cm;}\");\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"selectorText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSPageRule.style","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"@page {margin: 1cm;}\");\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSPageRule.style.type_CSSPageDescriptors","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"@page {margin: 1cm;}\");\n  var instance = stylesheet.cssRules.item(0);\n  return bcd.testObjectName(instance.style, \"CSSPageDescriptors\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSParserAtRule","info":{"code":"\"CSSParserAtRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSParserAtRule.CSSParserAtRule","info":{"code":"bcd.testConstructor('CSSParserAtRule')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSParserAtRule is not defined"},{"name":"api.CSSParserAtRule.body","info":{"code":"\"CSSParserAtRule\" in self && \"body\" in CSSParserAtRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserAtRule.name","info":{"code":"\"CSSParserAtRule\" in self && \"name\" in CSSParserAtRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserAtRule.prelude","info":{"code":"\"CSSParserAtRule\" in self && \"prelude\" in CSSParserAtRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserAtRule.toString","info":{"code":"\"CSSParserAtRule\" in self && \"toString\" in CSSParserAtRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserBlock","info":{"code":"\"CSSParserBlock\" in self","exposure":"Window"},"result":false},{"name":"api.CSSParserBlock.CSSParserBlock","info":{"code":"bcd.testConstructor('CSSParserBlock')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSParserBlock is not defined"},{"name":"api.CSSParserBlock.body","info":{"code":"\"CSSParserBlock\" in self && \"body\" in CSSParserBlock.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserBlock.name","info":{"code":"\"CSSParserBlock\" in self && \"name\" in CSSParserBlock.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserBlock.toString","info":{"code":"\"CSSParserBlock\" in self && \"toString\" in CSSParserBlock.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserDeclaration","info":{"code":"\"CSSParserDeclaration\" in self","exposure":"Window"},"result":false},{"name":"api.CSSParserDeclaration.CSSParserDeclaration","info":{"code":"bcd.testConstructor('CSSParserDeclaration')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSParserDeclaration is not defined"},{"name":"api.CSSParserDeclaration.body","info":{"code":"\"CSSParserDeclaration\" in self && \"body\" in CSSParserDeclaration.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserDeclaration.name","info":{"code":"\"CSSParserDeclaration\" in self && \"name\" in CSSParserDeclaration.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserDeclaration.toString","info":{"code":"\"CSSParserDeclaration\" in self && \"toString\" in CSSParserDeclaration.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserFunction","info":{"code":"\"CSSParserFunction\" in self","exposure":"Window"},"result":false},{"name":"api.CSSParserFunction.CSSParserFunction","info":{"code":"bcd.testConstructor('CSSParserFunction')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSParserFunction is not defined"},{"name":"api.CSSParserFunction.args","info":{"code":"\"CSSParserFunction\" in self && \"args\" in CSSParserFunction.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserFunction.name","info":{"code":"\"CSSParserFunction\" in self && \"name\" in CSSParserFunction.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserFunction.toString","info":{"code":"\"CSSParserFunction\" in self && \"toString\" in CSSParserFunction.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserQualifiedRule","info":{"code":"\"CSSParserQualifiedRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSParserQualifiedRule.CSSParserQualifiedRule","info":{"code":"bcd.testConstructor('CSSParserQualifiedRule')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSParserQualifiedRule is not defined"},{"name":"api.CSSParserQualifiedRule.body","info":{"code":"\"CSSParserQualifiedRule\" in self && \"body\" in CSSParserQualifiedRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserQualifiedRule.prelude","info":{"code":"\"CSSParserQualifiedRule\" in self && \"prelude\" in CSSParserQualifiedRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserQualifiedRule.toString","info":{"code":"\"CSSParserQualifiedRule\" in self && \"toString\" in CSSParserQualifiedRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSParserRule","info":{"code":"\"CSSParserRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSParserValue","info":{"code":"\"CSSParserValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPerspective","info":{"code":"\"CSSPerspective\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPerspective.CSSPerspective","info":{"code":"bcd.testConstructor('CSSPerspective')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSPerspective is not defined"},{"name":"api.CSSPerspective.length","info":{"code":"\"CSSPerspective\" in self && \"length\" in CSSPerspective.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors","info":{"code":"\"CSSPositionTryDescriptors\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.align-self","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"align-self\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.alignSelf","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"alignSelf\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.block-size","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"block-size\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.blockSize","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"blockSize\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.bottom","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"bottom\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.height","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"height\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inline-size","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inline-size\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inlineSize","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inlineSize\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset-block","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset-block\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset-block-end","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset-block-end\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset-block-start","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset-block-start\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset-inline","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset-inline\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset-inline-end","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset-inline-end\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.inset-inline-start","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"inset-inline-start\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.insetBlock","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"insetBlock\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.insetBlockEnd","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"insetBlockEnd\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.insetBlockStart","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"insetBlockStart\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.insetInline","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"insetInline\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.insetInlineEnd","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"insetInlineEnd\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.insetInlineStart","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"insetInlineStart\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.justify-self","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"justify-self\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.justifySelf","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"justifySelf\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.left","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"left\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-block","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-block\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-block-end","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-block-end\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-block-start","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-block-start\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-bottom","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-bottom\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-inline","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-inline\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-inline-end","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-inline-end\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-inline-start","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-inline-start\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-left","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-left\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-right","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-right\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.margin-top","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"margin-top\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginBlock","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginBlock\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginBlockEnd","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginBlockEnd\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginBlockStart","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginBlockStart\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginBottom","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginBottom\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginInline","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginInline\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginInlineEnd","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginInlineEnd\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginInlineStart","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginInlineStart\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginLeft","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginLeft\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginRight","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginRight\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.marginTop","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"marginTop\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.max-block-size","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"max-block-size\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.max-height","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"max-height\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.max-inline-size","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"max-inline-size\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.max-width","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"max-width\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.maxBlockSize","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"maxBlockSize\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.maxHeight","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"maxHeight\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.maxInlineSize","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"maxInlineSize\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.maxWidth","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"maxWidth\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.min-block-size","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"min-block-size\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.min-height","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"min-height\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.min-inline-size","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"min-inline-size\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.min-width","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"min-width\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.minBlockSize","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"minBlockSize\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.minHeight","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"minHeight\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.minInlineSize","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"minInlineSize\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.minWidth","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"minWidth\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.place-self","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"place-self\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.placeSelf","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"placeSelf\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.position-anchor","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"position-anchor\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.position-area","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"position-area\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.positionAnchor","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"positionAnchor\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.positionArea","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"positionArea\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.right","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"right\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.top","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"top\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryDescriptors.width","info":{"code":"\"CSSPositionTryDescriptors\" in self && \"width\" in CSSPositionTryDescriptors.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryRule","info":{"code":"\"CSSPositionTryRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryRule.name","info":{"code":"\"CSSPositionTryRule\" in self && \"name\" in CSSPositionTryRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionTryRule.style","info":{"code":"\"CSSPositionTryRule\" in self && \"style\" in CSSPositionTryRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionValue","info":{"code":"\"CSSPositionValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPositionValue.CSSPositionValue","info":{"code":"bcd.testConstructor('CSSPositionValue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSPositionValue is not defined"},{"name":"api.CSSPositionValue.x","info":{"code":"\"CSSPositionValue\" in self && \"x\" in CSSPositionValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPositionValue.y","info":{"code":"\"CSSPositionValue\" in self && \"y\" in CSSPositionValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue","info":{"code":"\"CSSPrimitiveValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.getCounterValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"getCounterValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.getFloatValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"getFloatValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.getRGBColorValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"getRGBColorValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.getRectValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"getRectValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.getStringValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"getStringValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.primitiveType","info":{"code":"\"CSSPrimitiveValue\" in self && \"primitiveType\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.setFloatValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"setFloatValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPrimitiveValue.setStringValue","info":{"code":"\"CSSPrimitiveValue\" in self && \"setStringValue\" in CSSPrimitiveValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPropertyRule","info":{"code":"\"CSSPropertyRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPropertyRule.inherits","info":{"code":"\"CSSPropertyRule\" in self && \"inherits\" in CSSPropertyRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPropertyRule.initialValue","info":{"code":"\"CSSPropertyRule\" in self && \"initialValue\" in CSSPropertyRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPropertyRule.name","info":{"code":"\"CSSPropertyRule\" in self && \"name\" in CSSPropertyRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPropertyRule.syntax","info":{"code":"\"CSSPropertyRule\" in self && \"syntax\" in CSSPropertyRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement","info":{"code":"\"CSSPseudoElement\" in self","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.convertPointFromNode","info":{"code":"\"CSSPseudoElement\" in self && \"convertPointFromNode\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.convertQuadFromNode","info":{"code":"\"CSSPseudoElement\" in self && \"convertQuadFromNode\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.convertRectFromNode","info":{"code":"\"CSSPseudoElement\" in self && \"convertRectFromNode\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.element","info":{"code":"\"CSSPseudoElement\" in self && \"element\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.getBoxQuads","info":{"code":"\"CSSPseudoElement\" in self && \"getBoxQuads\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.parent","info":{"code":"\"CSSPseudoElement\" in self && \"parent\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.pseudo","info":{"code":"\"CSSPseudoElement\" in self && \"pseudo\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSPseudoElement.type","info":{"code":"\"CSSPseudoElement\" in self && \"type\" in CSSPseudoElement.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRGB","info":{"code":"\"CSSRGB\" in self","exposure":"Window"},"result":false},{"name":"api.CSSRGB.CSSRGB","info":{"code":"bcd.testConstructor('CSSRGB')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSRGB is not defined"},{"name":"api.CSSRGB.alpha","info":{"code":"\"CSSRGB\" in self && \"alpha\" in CSSRGB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRGB.b","info":{"code":"\"CSSRGB\" in self && \"b\" in CSSRGB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRGB.g","info":{"code":"\"CSSRGB\" in self && \"g\" in CSSRGB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRGB.r","info":{"code":"\"CSSRGB\" in self && \"r\" in CSSRGB.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRotate","info":{"code":"\"CSSRotate\" in self","exposure":"Window"},"result":false},{"name":"api.CSSRotate.CSSRotate","info":{"code":"bcd.testConstructor('CSSRotate')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSRotate is not defined"},{"name":"api.CSSRotate.angle","info":{"code":"\"CSSRotate\" in self && \"angle\" in CSSRotate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRotate.x","info":{"code":"\"CSSRotate\" in self && \"x\" in CSSRotate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRotate.y","info":{"code":"\"CSSRotate\" in self && \"y\" in CSSRotate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRotate.z","info":{"code":"\"CSSRotate\" in self && \"z\" in CSSRotate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRule.cssText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"cssText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRule.parentRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"parentRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRule.parentStyleSheet","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"parentStyleSheet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRule.type","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRuleList","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var instance = stylesheet.cssRules;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRuleList.item","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var instance = stylesheet.cssRules;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSRuleList.length","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var instance = stylesheet.cssRules;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSScale","info":{"code":"\"CSSScale\" in self","exposure":"Window"},"result":false},{"name":"api.CSSScale.CSSScale","info":{"code":"bcd.testConstructor('CSSScale')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSScale is not defined"},{"name":"api.CSSScale.x","info":{"code":"\"CSSScale\" in self && \"x\" in CSSScale.prototype","exposure":"Window"},"result":false},{"name":"api.CSSScale.y","info":{"code":"\"CSSScale\" in self && \"y\" in CSSScale.prototype","exposure":"Window"},"result":false},{"name":"api.CSSScale.z","info":{"code":"\"CSSScale\" in self && \"z\" in CSSScale.prototype","exposure":"Window"},"result":false},{"name":"api.CSSScopeRule","info":{"code":"\"CSSScopeRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSScopeRule.end","info":{"code":"\"CSSScopeRule\" in self && \"end\" in CSSScopeRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSScopeRule.start","info":{"code":"\"CSSScopeRule\" in self && \"start\" in CSSScopeRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSSkew","info":{"code":"\"CSSSkew\" in self","exposure":"Window"},"result":false},{"name":"api.CSSSkew.CSSSkew","info":{"code":"bcd.testConstructor('CSSSkew')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSSkew is not defined"},{"name":"api.CSSSkew.ax","info":{"code":"\"CSSSkew\" in self && \"ax\" in CSSSkew.prototype","exposure":"Window"},"result":false},{"name":"api.CSSSkew.ay","info":{"code":"\"CSSSkew\" in self && \"ay\" in CSSSkew.prototype","exposure":"Window"},"result":false},{"name":"api.CSSSkewX","info":{"code":"\"CSSSkewX\" in self","exposure":"Window"},"result":false},{"name":"api.CSSSkewX.CSSSkewX","info":{"code":"bcd.testConstructor('CSSSkewX')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSSkewX is not defined"},{"name":"api.CSSSkewX.ax","info":{"code":"\"CSSSkewX\" in self && \"ax\" in CSSSkewX.prototype","exposure":"Window"},"result":false},{"name":"api.CSSSkewY","info":{"code":"\"CSSSkewY\" in self","exposure":"Window"},"result":false},{"name":"api.CSSSkewY.CSSSkewY","info":{"code":"bcd.testConstructor('CSSSkewY')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSSkewY is not defined"},{"name":"api.CSSSkewY.ay","info":{"code":"\"CSSSkewY\" in self && \"ay\" in CSSSkewY.prototype","exposure":"Window"},"result":false},{"name":"api.CSSStartingStyleRule","info":{"code":"\"CSSStartingStyleRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSStyleDeclaration","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.@@iterator","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.cssFloat","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"cssFloat\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.cssText","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"cssText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.entries","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.forEach","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.getPropertyCSSValue","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"getPropertyCSSValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.getPropertyPriority","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"getPropertyPriority\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.getPropertyValue","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"getPropertyValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.item","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.keys","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.length","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.parentRule","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"parentRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.removeProperty","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"removeProperty\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.setProperty","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"setProperty\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleDeclaration.values","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.style;\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleProperties","info":{"code":"\"CSSStyleProperties\" in self","exposure":"Window"},"result":false},{"name":"api.CSSStyleProperties.cssFloat","info":{"code":"\"CSSStyleProperties\" in self && \"cssFloat\" in CSSStyleProperties.prototype","exposure":"Window"},"result":false},{"name":"api.CSSStyleRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleRule.cssRules","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"cssRules\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleRule.deleteRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"deleteRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleRule.insertRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"insertRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleRule.selectorText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"selectorText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleRule.style","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleRule.styleMap","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!stylesheet) {\n    return { result: false, message: \"stylesheet is falsy\" };\n  }\n  var cssRules = stylesheet.cssRules;\n  if (!cssRules) {\n    return { result: false, message: \"cssRules is falsy\" };\n  }\n  var instance = cssRules.item(0);\n  return !!instance && \"styleMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.CSSStyleSheet","info":{"code":"bcd.testConstructor('CSSStyleSheet')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSStyleSheet is not defined"},{"name":"api.CSSStyleSheet.CSSStyleSheet.options_baseURL_parameter","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  function construct(options) {\n    new CSSStyleSheet(options);\n  }\n  return bcd.testOptionParam(\n    construct,\n    null,\n    \"baseURL\",\n    \"https://mdn-bcd-collector.gooborg.com\",\n    { media: \"screen\" }\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.addRule","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"addRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.cssRules","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"cssRules\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.deleteRule","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"deleteRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.insertRule","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"insertRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.insertRule.index_parameter_optional","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  if (!(instance && instance.insertRule)) {\n    return { result: false, message: \"instance.insertRule is not defined\" };\n  }\n  try {\n    instance.insertRule(\"a {color: blue;}\");\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.ownerRule","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"ownerRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.removeRule","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"removeRule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.replace","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"replace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.replaceSync","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"replaceSync\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleSheet.rules","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"rules\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSStyleValue","info":{"code":"\"CSSStyleValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSStyleValue.parseAll_static","info":{"code":"\"CSSStyleValue\" in self && \"parseAll\" in CSSStyleValue","exposure":"Window"},"result":false},{"name":"api.CSSStyleValue.parse_static","info":{"code":"\"CSSStyleValue\" in self && \"parse\" in CSSStyleValue","exposure":"Window"},"result":false},{"name":"api.CSSStyleValue.toString","info":{"code":"\"CSSStyleValue\" in self && \"toString\" in CSSStyleValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSSupportsConditionRule","info":{"code":"\"CSSSupportsConditionRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSSupportsConditionRule.name","info":{"code":"\"CSSSupportsConditionRule\" in self && \"name\" in CSSSupportsConditionRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSSupportsRule","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@supports (display: grid) {div {display: grid;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSSupportsRule.matches","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@supports (display: grid) {div {display: grid;}}\"\n  );\n  var instance = stylesheet.cssRules.item(0);\n  return !!instance && \"matches\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CSSTransformComponent","info":{"code":"\"CSSTransformComponent\" in self","exposure":"Window"},"result":false},{"name":"api.CSSTransformComponent.is2D","info":{"code":"\"CSSTransformComponent\" in self && \"is2D\" in CSSTransformComponent.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformComponent.toMatrix","info":{"code":"\"CSSTransformComponent\" in self && \"toMatrix\" in CSSTransformComponent.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformComponent.toString","info":{"code":"\"CSSTransformComponent\" in self && \"toString\" in CSSTransformComponent.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue","info":{"code":"\"CSSTransformValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"CSSTransformValue\" in self && !!(CSSTransformValue.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.CSSTransformValue","info":{"code":"bcd.testConstructor('CSSTransformValue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSTransformValue is not defined"},{"name":"api.CSSTransformValue.entries","info":{"code":"\"CSSTransformValue\" in self && \"entries\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.forEach","info":{"code":"\"CSSTransformValue\" in self && \"forEach\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.is2D","info":{"code":"\"CSSTransformValue\" in self && \"is2D\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.keys","info":{"code":"\"CSSTransformValue\" in self && \"keys\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.length","info":{"code":"\"CSSTransformValue\" in self && \"length\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.toMatrix","info":{"code":"\"CSSTransformValue\" in self && \"toMatrix\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransformValue.values","info":{"code":"\"CSSTransformValue\" in self && \"values\" in CSSTransformValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTransition","info":{"code":"\"CSSTransition\" in self","exposure":"Window"},"result":false},{"name":"api.CSSTransition.transitionProperty","info":{"code":"\"CSSTransition\" in self && \"transitionProperty\" in CSSTransition.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTranslate","info":{"code":"\"CSSTranslate\" in self","exposure":"Window"},"result":false},{"name":"api.CSSTranslate.CSSTranslate","info":{"code":"bcd.testConstructor('CSSTranslate')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSTranslate is not defined"},{"name":"api.CSSTranslate.x","info":{"code":"\"CSSTranslate\" in self && \"x\" in CSSTranslate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTranslate.y","info":{"code":"\"CSSTranslate\" in self && \"y\" in CSSTranslate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSTranslate.z","info":{"code":"\"CSSTranslate\" in self && \"z\" in CSSTranslate.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnitValue","info":{"code":"\"CSSUnitValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSUnitValue.CSSUnitValue","info":{"code":"bcd.testConstructor('CSSUnitValue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSUnitValue is not defined"},{"name":"api.CSSUnitValue.unit","info":{"code":"\"CSSUnitValue\" in self && \"unit\" in CSSUnitValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnitValue.value","info":{"code":"\"CSSUnitValue\" in self && \"value\" in CSSUnitValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue","info":{"code":"\"CSSUnparsedValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"CSSUnparsedValue\" in self && !!(CSSUnparsedValue.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue.CSSUnparsedValue","info":{"code":"bcd.testConstructor('CSSUnparsedValue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSUnparsedValue is not defined"},{"name":"api.CSSUnparsedValue.entries","info":{"code":"\"CSSUnparsedValue\" in self && \"entries\" in CSSUnparsedValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue.forEach","info":{"code":"\"CSSUnparsedValue\" in self && \"forEach\" in CSSUnparsedValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue.keys","info":{"code":"\"CSSUnparsedValue\" in self && \"keys\" in CSSUnparsedValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue.length","info":{"code":"\"CSSUnparsedValue\" in self && \"length\" in CSSUnparsedValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSUnparsedValue.values","info":{"code":"\"CSSUnparsedValue\" in self && \"values\" in CSSUnparsedValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSValue","info":{"code":"\"CSSValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSValue.cssText","info":{"code":"\"CSSValue\" in self && \"cssText\" in CSSValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSValue.cssValueType","info":{"code":"\"CSSValue\" in self && \"cssValueType\" in CSSValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSValueList","info":{"code":"\"CSSValueList\" in self","exposure":"Window"},"result":false},{"name":"api.CSSValueList.item","info":{"code":"\"CSSValueList\" in self && \"item\" in CSSValueList.prototype","exposure":"Window"},"result":false},{"name":"api.CSSValueList.length","info":{"code":"\"CSSValueList\" in self && \"length\" in CSSValueList.prototype","exposure":"Window"},"result":false},{"name":"api.CSSVariableReferenceValue","info":{"code":"\"CSSVariableReferenceValue\" in self","exposure":"Window"},"result":false},{"name":"api.CSSVariableReferenceValue.CSSVariableReferenceValue","info":{"code":"bcd.testConstructor('CSSVariableReferenceValue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CSSVariableReferenceValue is not defined"},{"name":"api.CSSVariableReferenceValue.fallback","info":{"code":"\"CSSVariableReferenceValue\" in self && \"fallback\" in CSSVariableReferenceValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSVariableReferenceValue.variable","info":{"code":"\"CSSVariableReferenceValue\" in self && \"variable\" in CSSVariableReferenceValue.prototype","exposure":"Window"},"result":false},{"name":"api.CSSViewTransitionRule","info":{"code":"\"CSSViewTransitionRule\" in self","exposure":"Window"},"result":false},{"name":"api.CSSViewTransitionRule.navigation","info":{"code":"\"CSSViewTransitionRule\" in self && \"navigation\" in CSSViewTransitionRule.prototype","exposure":"Window"},"result":false},{"name":"api.CSSViewTransitionRule.types","info":{"code":"\"CSSViewTransitionRule\" in self && \"types\" in CSSViewTransitionRule.prototype","exposure":"Window"},"result":false},{"name":"api.Cache","info":{"code":"\"Cache\" in self","exposure":"Window"},"result":false},{"name":"api.Cache.add","info":{"code":"\"Cache\" in self && \"add\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.Cache.addAll","info":{"code":"\"Cache\" in self && \"addAll\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.Cache.delete","info":{"code":"\"Cache\" in self && \"delete\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.Cache.keys","info":{"code":"\"Cache\" in self && \"keys\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.Cache.match","info":{"code":"\"Cache\" in self && \"match\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.Cache.matchAll","info":{"code":"\"Cache\" in self && \"matchAll\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.Cache.put","info":{"code":"\"Cache\" in self && \"put\" in Cache.prototype","exposure":"Window"},"result":false},{"name":"api.CacheStorage","info":{"code":"(function () {\n  if (!(\"caches\" in self)) {\n    return { result: false, message: \"caches is not defined\" };\n  }\n  var instance = caches;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"caches is not defined"},{"name":"api.CacheStorage.delete","info":{"code":"(function () {\n  if (!(\"caches\" in self)) {\n    return { result: false, message: \"caches is not defined\" };\n  }\n  var instance = caches;\n  return !!instance && \"delete\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"caches is not defined"},{"name":"api.CacheStorage.has","info":{"code":"(function () {\n  if (!(\"caches\" in self)) {\n    return { result: false, message: \"caches is not defined\" };\n  }\n  var instance = caches;\n  return !!instance && \"has\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"caches is not defined"},{"name":"api.CacheStorage.keys","info":{"code":"(function () {\n  if (!(\"caches\" in self)) {\n    return { result: false, message: \"caches is not defined\" };\n  }\n  var instance = caches;\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"caches is not defined"},{"name":"api.CacheStorage.match","info":{"code":"(function () {\n  if (!(\"caches\" in self)) {\n    return { result: false, message: \"caches is not defined\" };\n  }\n  var instance = caches;\n  return !!instance && \"match\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"caches is not defined"},{"name":"api.CacheStorage.open","info":{"code":"(function () {\n  if (!(\"caches\" in self)) {\n    return { result: false, message: \"caches is not defined\" };\n  }\n  var instance = caches;\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"caches is not defined"},{"name":"api.CanvasCaptureMediaStreamTrack","info":{"code":"(function () {\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var stream = canvas.captureStream(60);\n  var tracks = stream.getTracks();\n  var instance = tracks[0];\n\n  var nameResult = bcd.testObjectName(\n    instance,\n    \"CanvasCaptureMediaStreamTrack\"\n  );\n  if (!nameResult.result) {\n    return nameResult;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CanvasCaptureMediaStreamTrack.canvas","info":{"code":"(function () {\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var stream = canvas.captureStream(60);\n  var tracks = stream.getTracks();\n  var instance = tracks[0];\n\n  var nameResult = bcd.testObjectName(\n    instance,\n    \"CanvasCaptureMediaStreamTrack\"\n  );\n  if (!nameResult.result) {\n    return nameResult;\n  }\n  return !!instance && \"canvas\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CanvasCaptureMediaStreamTrack.requestFrame","info":{"code":"(function () {\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var stream = canvas.captureStream(60);\n  var tracks = stream.getTracks();\n  var instance = tracks[0];\n\n  var nameResult = bcd.testObjectName(\n    instance,\n    \"CanvasCaptureMediaStreamTrack\"\n  );\n  if (!nameResult.result) {\n    return nameResult;\n  }\n  return !!instance && \"requestFrame\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CanvasFilter","info":{"code":"\"CanvasFilter\" in self","exposure":"Window"},"result":false},{"name":"api.CanvasFilter.CanvasFilter","info":{"code":"bcd.testConstructor('CanvasFilter')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CanvasFilter is not defined"},{"name":"api.CanvasGradient","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance;\n  if (ctx.createLinearGradient) {\n    instance = ctx.createLinearGradient(0, 0, 1, 1);\n  } else if (ctx.createRadialGradient) {\n    instance = ctx.createRadialGradient(0, 0, 0, 1, 1, 1);\n  } else {\n    return {\n      result: false,\n      message: \"Could not create linear or radial gradient\"\n    };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasGradient.addColorStop","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance;\n  if (ctx.createLinearGradient) {\n    instance = ctx.createLinearGradient(0, 0, 1, 1);\n  } else if (ctx.createRadialGradient) {\n    instance = ctx.createRadialGradient(0, 0, 0, 1, 1, 1);\n  } else {\n    return {\n      result: false,\n      message: \"Could not create linear or radial gradient\"\n    };\n  }\n  return !!instance && \"addColorStop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasPattern","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.createPattern(\n    document.getElementById(\"resource-image-black\"),\n    \"repeat\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasPattern.setTransform","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.createPattern(\n    document.getElementById(\"resource-image-black\"),\n    \"repeat\"\n  );\n  return !!instance && \"setTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasPattern.setTransform.dommatrix","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.createPattern(\n    document.getElementById(\"resource-image-black\"),\n    \"repeat\"\n  );\n  var matrix;\n  if (\"DOMMatrix\" in self) {\n    matrix = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    matrix = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    matrix = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  if (!matrix) {\n    return { result: false, message: \"matrix is falsy\" };\n  }\n  if (!(instance && instance.setTransform)) {\n    return { result: false, message: \"instance.setTransform is not defined\" };\n  }\n  try {\n    instance.setTransform(matrix);\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.arc","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"arc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.arcTo","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"arcTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.beginPath","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"beginPath\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.bezierCurveTo","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"bezierCurveTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.canvas","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"canvas\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.clearRect","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"clearRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.clip","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"clip\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.clip.path_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var path = new Path2D();\n  if (!path) {\n    return { result: false, message: \"path is falsy\" };\n  }\n  if (!(instance && instance.clip)) {\n    return { result: false, message: \"instance.clip is not defined\" };\n  }\n  try {\n    instance.clip(path);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.closePath","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"closePath\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.createConicGradient","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"createConicGradient\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.createImageData","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"createImageData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.createLinearGradient","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"createLinearGradient\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.createPattern","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"createPattern\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.createRadialGradient","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"createRadialGradient\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.direction","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"direction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.drawFocusIfNeeded","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"drawFocusIfNeeded\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.drawFocusIfNeeded.path_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var path = new Path2D();\n  if (!path) {\n    return { result: false, message: \"path is falsy\" };\n  }\n  var el = document.createElement(\"b\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  if (!(instance && instance.drawFocusIfNeeded)) {\n    return {\n      result: false,\n      message: \"instance.drawFocusIfNeeded is not defined\"\n    };\n  }\n  try {\n    instance.drawFocusIfNeeded(path, el);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.drawImage","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"drawImage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.drawImage.ImageBitmap_source_image","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmap\n    return {\n      result: null,\n      message: \"Testing ImageBitmap in workers is not yet implemented\"\n    };\n  }\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"Cannot create image bitmap\" };\n  }\n  var imgbmpPromise = createImageBitmap(\n    document.getElementById(\"resource-image-black\")\n  );\n  if (!imgbmpPromise) {\n    return { result: false, message: \"imgbmpPromise is falsy\" };\n  }\n  var promise = imgbmpPromise\n    .then(function (imgbmp) {\n      instance.drawImage(imgbmp, 0, 0);\n      return true;\n    })\n    .catch(function (e) {\n      if (e.name === \"TypeError\") {\n        // A TypeError is thrown for lack of support\n        return { result: false, message: e.message };\n      }\n      throw e;\n    });\n\n  return promise;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.drawImage.SVGImageElement_source_image","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  var image = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!image) {\n    return { result: false, message: \"image is falsy\" };\n  }\n  try {\n    instance.drawImage(image, 0, 0);\n    return true;\n  } catch (e) {\n    if (e.name === \"TypeError\") {\n      // A TypeError is thrown for lack of support\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.ellipse","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"ellipse\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fill","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fill\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fill.path_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var path = new Path2D();\n  if (!path) {\n    return { result: false, message: \"path is falsy\" };\n  }\n  try {\n    instance.fill(path);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fillRect","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fillRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fillStyle","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fillStyle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fillText","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fillText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.filter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"filter\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.font","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"font\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fontKerning","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fontKerning\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fontStretch","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fontStretch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.fontVariantCaps","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"fontVariantCaps\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.getContextAttributes","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"getContextAttributes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.getImageData","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"getImageData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.getLineDash","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"getLineDash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.getTransform","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"getTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.globalAlpha","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"globalAlpha\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.globalCompositeOperation","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"globalCompositeOperation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.imageSmoothingEnabled","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"imageSmoothingEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.imageSmoothingQuality","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"imageSmoothingQuality\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.isContextLost","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"isContextLost\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.isPointInPath","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"isPointInPath\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.isPointInPath.path_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var path = new Path2D();\n  if (!path) {\n    return { result: false, message: \"path is falsy\" };\n  }\n  try {\n    instance.isPointInPath(path, 0, 0);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.isPointInStroke","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"isPointInStroke\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.isPointInStroke.path_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var path = new Path2D();\n  if (!path) {\n    return { result: false, message: \"path is falsy\" };\n  }\n  try {\n    instance.isPointInStroke(path, 0, 0);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.lang","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"lang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.letterSpacing","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"letterSpacing\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.lineCap","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"lineCap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.lineDashOffset","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"lineDashOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.lineJoin","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"lineJoin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.lineTo","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"lineTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.lineWidth","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"lineWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.measureText","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"measureText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.miterLimit","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"miterLimit\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.moveTo","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"moveTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.putImageData","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"putImageData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.quadraticCurveTo","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"quadraticCurveTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.rect","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"rect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.reset","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"reset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.resetTransform","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"resetTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.restore","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"restore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.rotate","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"rotate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.roundRect","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"roundRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.save","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"save\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.scale","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"scale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.setLineDash","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"setLineDash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.setTransform","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"setTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.setTransform.matrix_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  var matrix = new DOMMatrix([1, 0.2, 0.8, 1, 0, 0]);\n  try {\n    instance.setTransform(matrix);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.shadowBlur","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"shadowBlur\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.shadowColor","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"shadowColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.shadowOffsetX","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"shadowOffsetX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.shadowOffsetY","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"shadowOffsetY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.stroke","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"stroke\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.stroke.path_parameter","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var path = new Path2D();\n  if (!path) {\n    return { result: false, message: \"path is falsy\" };\n  }\n  try {\n    instance.stroke(path);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.strokeRect","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"strokeRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.strokeStyle","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"strokeStyle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.strokeText","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"strokeText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.textAlign","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"textAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.textBaseline","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"textBaseline\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.textRendering","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"textRendering\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.transform","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"transform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.translate","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"translate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CanvasRenderingContext2D.wordSpacing","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"2d\");\n  return !!instance && \"wordSpacing\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.CaptureActionEvent","info":{"code":"\"CaptureActionEvent\" in self","exposure":"Window"},"result":false},{"name":"api.CaptureActionEvent.CaptureActionEvent","info":{"code":"bcd.testConstructor('CaptureActionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CaptureActionEvent is not defined"},{"name":"api.CaptureActionEvent.action","info":{"code":"\"CaptureActionEvent\" in self && \"action\" in CaptureActionEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController","info":{"code":"\"CaptureController\" in self","exposure":"Window"},"result":false},{"name":"api.CaptureController.CaptureController","info":{"code":"bcd.testConstructor('CaptureController')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CaptureController is not defined"},{"name":"api.CaptureController.decreaseZoomLevel","info":{"code":"\"CaptureController\" in self && \"decreaseZoomLevel\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController.forwardWheel","info":{"code":"\"CaptureController\" in self && \"forwardWheel\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController.getSupportedZoomLevels","info":{"code":"\"CaptureController\" in self && \"getSupportedZoomLevels\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController.increaseZoomLevel","info":{"code":"\"CaptureController\" in self && \"increaseZoomLevel\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController.resetZoomLevel","info":{"code":"\"CaptureController\" in self && \"resetZoomLevel\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController.setFocusBehavior","info":{"code":"\"CaptureController\" in self && \"setFocusBehavior\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CaptureController.zoomLevel","info":{"code":"\"CaptureController\" in self && \"zoomLevel\" in CaptureController.prototype","exposure":"Window"},"result":false},{"name":"api.CapturedMouseEvent","info":{"code":"\"CapturedMouseEvent\" in self","exposure":"Window"},"result":false},{"name":"api.CapturedMouseEvent.CapturedMouseEvent","info":{"code":"bcd.testConstructor('CapturedMouseEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CapturedMouseEvent is not defined"},{"name":"api.CapturedMouseEvent.surfaceX","info":{"code":"\"CapturedMouseEvent\" in self && \"surfaceX\" in CapturedMouseEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CapturedMouseEvent.surfaceY","info":{"code":"\"CapturedMouseEvent\" in self && \"surfaceY\" in CapturedMouseEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CaretPosition","info":{"code":"\"CaretPosition\" in self","exposure":"Window"},"result":false},{"name":"api.CaretPosition.getClientRect","info":{"code":"\"CaretPosition\" in self && \"getClientRect\" in CaretPosition.prototype","exposure":"Window"},"result":false},{"name":"api.CaretPosition.offset","info":{"code":"\"CaretPosition\" in self && \"offset\" in CaretPosition.prototype","exposure":"Window"},"result":false},{"name":"api.CaretPosition.offsetNode","info":{"code":"\"CaretPosition\" in self && \"offsetNode\" in CaretPosition.prototype","exposure":"Window"},"result":false},{"name":"api.ChannelMergerNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createChannelMerger\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createChannelMerger is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createChannelMerger();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ChannelMergerNode.ChannelMergerNode","info":{"code":"bcd.testConstructor('ChannelMergerNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ChannelMergerNode is not defined"},{"name":"api.ChannelSplitterNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createChannelSplitter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createChannelSplitter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createChannelSplitter();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ChannelSplitterNode.ChannelSplitterNode","info":{"code":"bcd.testConstructor('ChannelSplitterNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ChannelSplitterNode is not defined"},{"name":"api.ChapterInformation","info":{"code":"\"ChapterInformation\" in self","exposure":"Window"},"result":false},{"name":"api.ChapterInformation.artwork","info":{"code":"\"ChapterInformation\" in self && \"artwork\" in ChapterInformation.prototype","exposure":"Window"},"result":false},{"name":"api.ChapterInformation.startTime","info":{"code":"\"ChapterInformation\" in self && \"startTime\" in ChapterInformation.prototype","exposure":"Window"},"result":false},{"name":"api.ChapterInformation.title","info":{"code":"\"ChapterInformation\" in self && \"title\" in ChapterInformation.prototype","exposure":"Window"},"result":false},{"name":"api.CharacterBoundsUpdateEvent","info":{"code":"\"CharacterBoundsUpdateEvent\" in self","exposure":"Window"},"result":false},{"name":"api.CharacterBoundsUpdateEvent.CharacterBoundsUpdateEvent","info":{"code":"bcd.testConstructor('CharacterBoundsUpdateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CharacterBoundsUpdateEvent is not defined"},{"name":"api.CharacterBoundsUpdateEvent.rangeEnd","info":{"code":"\"CharacterBoundsUpdateEvent\" in self && \"rangeEnd\" in CharacterBoundsUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CharacterBoundsUpdateEvent.rangeStart","info":{"code":"\"CharacterBoundsUpdateEvent\" in self && \"rangeStart\" in CharacterBoundsUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CharacterData","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.after","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"after\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.appendData","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"appendData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.before","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"before\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.data","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.deleteData","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"deleteData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.insertData","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"insertData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.length","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.nextElementSibling","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"nextElementSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.previousElementSibling","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"previousElementSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.remove","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"remove\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.replaceData","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"replaceData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.replaceWith","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"replaceWith\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CharacterData.substringData","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"substringData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Clipboard","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.read","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return !!instance && \"read\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.read.formats_unsanitized_parameter","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return bcd.testOptionParam(instance, \"read\", \"unsanitized\", [\"text/html\"]);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.readText","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return !!instance && \"readText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.type_image-png","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return ClipboardItem.supports(\"image/png\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.type_text-html","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return ClipboardItem.supports(\"text/html\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.type_text-plain","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return ClipboardItem.supports(\"text/plain\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.write","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return !!instance && \"write\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Clipboard.writeText","info":{"code":"(function () {\n  var instance = navigator.clipboard;\n  return !!instance && \"writeText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ClipboardEvent","info":{"code":"\"ClipboardEvent\" in self","exposure":"Window"},"result":false},{"name":"api.ClipboardEvent.ClipboardEvent","info":{"code":"bcd.testConstructor('ClipboardEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ClipboardEvent is not defined"},{"name":"api.ClipboardEvent.clipboardData","info":{"code":"\"ClipboardEvent\" in self && \"clipboardData\" in ClipboardEvent.prototype","exposure":"Window"},"result":false},{"name":"api.ClipboardItem","info":{"code":"\"ClipboardItem\" in self","exposure":"Window"},"result":false},{"name":"api.ClipboardItem.ClipboardItem","info":{"code":"bcd.testConstructor('ClipboardItem')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ClipboardItem is not defined"},{"name":"api.ClipboardItem.getType","info":{"code":"\"ClipboardItem\" in self && \"getType\" in ClipboardItem.prototype","exposure":"Window"},"result":false},{"name":"api.ClipboardItem.presentationStyle","info":{"code":"\"ClipboardItem\" in self && \"presentationStyle\" in ClipboardItem.prototype","exposure":"Window"},"result":false},{"name":"api.ClipboardItem.supports_static","info":{"code":"\"ClipboardItem\" in self && \"supports\" in ClipboardItem","exposure":"Window"},"result":false},{"name":"api.ClipboardItem.types","info":{"code":"\"ClipboardItem\" in self && \"types\" in ClipboardItem.prototype","exposure":"Window"},"result":false},{"name":"api.CloseEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CloseEvent(\"close\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CloseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CloseEvent.CloseEvent","info":{"code":"bcd.testConstructor('CloseEvent')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.CloseEvent.code","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CloseEvent(\"close\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CloseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"code\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CloseEvent.reason","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CloseEvent(\"close\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CloseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"reason\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CloseEvent.wasClean","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CloseEvent(\"close\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CloseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"wasClean\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CloseWatcher","info":{"code":"\"CloseWatcher\" in self","exposure":"Window"},"result":false},{"name":"api.CloseWatcher.CloseWatcher","info":{"code":"bcd.testConstructor('CloseWatcher')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CloseWatcher is not defined"},{"name":"api.CloseWatcher.close","info":{"code":"\"CloseWatcher\" in self && \"close\" in CloseWatcher.prototype","exposure":"Window"},"result":false},{"name":"api.CloseWatcher.destroy","info":{"code":"\"CloseWatcher\" in self && \"destroy\" in CloseWatcher.prototype","exposure":"Window"},"result":false},{"name":"api.CloseWatcher.requestClose","info":{"code":"\"CloseWatcher\" in self && \"requestClose\" in CloseWatcher.prototype","exposure":"Window"},"result":false},{"name":"api.CommandEvent","info":{"code":"\"CommandEvent\" in self","exposure":"Window"},"result":false},{"name":"api.CommandEvent.CommandEvent","info":{"code":"bcd.testConstructor('CommandEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CommandEvent is not defined"},{"name":"api.CommandEvent.command","info":{"code":"\"CommandEvent\" in self && \"command\" in CommandEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CommandEvent.source","info":{"code":"\"CommandEvent\" in self && \"source\" in CommandEvent.prototype","exposure":"Window"},"result":false},{"name":"api.Comment","info":{"code":"\"Comment\" in self","exposure":"Window"},"result":false},{"name":"api.Comment.Comment","info":{"code":"bcd.testConstructor('Comment')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Comment is not defined"},{"name":"api.CompositionEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CompositionEvent(\"compositionstart\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CompositionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CompositionEvent.CompositionEvent","info":{"code":"bcd.testConstructor('CompositionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CompositionEvent is not defined"},{"name":"api.CompositionEvent.data","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CompositionEvent(\"compositionstart\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CompositionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CompositionEvent.initCompositionEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CompositionEvent(\"compositionstart\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CompositionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initCompositionEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CompositionEvent.locale","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CompositionEvent(\"compositionstart\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CompositionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"locale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.CompressionStream","info":{"code":"(function () {\n  if (!(\"CompressionStream\" in self)) {\n    return { result: false, message: \"CompressionStream is not defined\" };\n  }\n  var instance = new CompressionStream(\"gzip\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CompressionStream.CompressionStream","info":{"code":"bcd.testConstructor('CompressionStream')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'CompressionStream': 1 argument required, but only 0 present."},{"name":"api.CompressionStream.CompressionStream.deflate","info":{"code":"(function () {\n  if (!(\"CompressionStream\" in self)) {\n    return { result: false, message: \"CompressionStream is not defined\" };\n  }\n  var instance = new CompressionStream(\"gzip\");\n  try {\n    new CompressionStream(\"deflate\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.CompressionStream.CompressionStream.deflate-raw","info":{"code":"(function () {\n  if (!(\"CompressionStream\" in self)) {\n    return { result: false, message: \"CompressionStream is not defined\" };\n  }\n  var instance = new CompressionStream(\"gzip\");\n  try {\n    new CompressionStream(\"deflate-raw\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.CompressionStream.CompressionStream.gzip","info":{"code":"(function () {\n  if (!(\"CompressionStream\" in self)) {\n    return { result: false, message: \"CompressionStream is not defined\" };\n  }\n  var instance = new CompressionStream(\"gzip\");\n  try {\n    new CompressionStream(\"gzip\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.CompressionStream.readable","info":{"code":"(function () {\n  if (!(\"CompressionStream\" in self)) {\n    return { result: false, message: \"CompressionStream is not defined\" };\n  }\n  var instance = new CompressionStream(\"gzip\");\n  return !!instance && \"readable\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CompressionStream.writable","info":{"code":"(function () {\n  if (!(\"CompressionStream\" in self)) {\n    return { result: false, message: \"CompressionStream is not defined\" };\n  }\n  var instance = new CompressionStream(\"gzip\");\n  return !!instance && \"writable\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ConstantSourceNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createConstantSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createConstantSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createConstantSource();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ConstantSourceNode.ConstantSourceNode","info":{"code":"bcd.testConstructor('ConstantSourceNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ConstantSourceNode is not defined"},{"name":"api.ConstantSourceNode.offset","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createConstantSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createConstantSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createConstantSource();\n  return !!instance && \"offset\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ContactAddress","info":{"code":"\"ContactAddress\" in self","exposure":"Window"},"result":false},{"name":"api.ContactAddress.addressLine","info":{"code":"\"ContactAddress\" in self && \"addressLine\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.city","info":{"code":"\"ContactAddress\" in self && \"city\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.country","info":{"code":"\"ContactAddress\" in self && \"country\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.dependentLocality","info":{"code":"\"ContactAddress\" in self && \"dependentLocality\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.organization","info":{"code":"\"ContactAddress\" in self && \"organization\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.phone","info":{"code":"\"ContactAddress\" in self && \"phone\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.postalCode","info":{"code":"\"ContactAddress\" in self && \"postalCode\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.recipient","info":{"code":"\"ContactAddress\" in self && \"recipient\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.region","info":{"code":"\"ContactAddress\" in self && \"region\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.sortingCode","info":{"code":"\"ContactAddress\" in self && \"sortingCode\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactAddress.toJSON","info":{"code":"\"ContactAddress\" in self && \"toJSON\" in ContactAddress.prototype","exposure":"Window"},"result":false},{"name":"api.ContactsManager","info":{"code":"\"ContactsManager\" in self","exposure":"Window"},"result":false},{"name":"api.ContactsManager.getProperties","info":{"code":"\"ContactsManager\" in self && \"getProperties\" in ContactsManager.prototype","exposure":"Window"},"result":false},{"name":"api.ContactsManager.select","info":{"code":"\"ContactsManager\" in self && \"select\" in ContactsManager.prototype","exposure":"Window"},"result":false},{"name":"api.ContentIndex","info":{"code":"\"ContentIndex\" in self","exposure":"Window"},"result":false},{"name":"api.ContentIndex.add","info":{"code":"\"ContentIndex\" in self && \"add\" in ContentIndex.prototype","exposure":"Window"},"result":false},{"name":"api.ContentIndex.delete","info":{"code":"\"ContentIndex\" in self && \"delete\" in ContentIndex.prototype","exposure":"Window"},"result":false},{"name":"api.ContentIndex.getAll","info":{"code":"\"ContentIndex\" in self && \"getAll\" in ContentIndex.prototype","exposure":"Window"},"result":false},{"name":"api.ContentVisibilityAutoStateChangeEvent","info":{"code":"\"ContentVisibilityAutoStateChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.ContentVisibilityAutoStateChangeEvent.ContentVisibilityAutoStateChangeEvent","info":{"code":"bcd.testConstructor('ContentVisibilityAutoStateChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ContentVisibilityAutoStateChangeEvent is not defined"},{"name":"api.ContentVisibilityAutoStateChangeEvent.skipped","info":{"code":"\"ContentVisibilityAutoStateChangeEvent\" in self && \"skipped\" in ContentVisibilityAutoStateChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.ConvolverNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createConvolver\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createConvolver is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createConvolver();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ConvolverNode.ConvolverNode","info":{"code":"bcd.testConstructor('ConvolverNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ConvolverNode is not defined"},{"name":"api.ConvolverNode.buffer","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createConvolver\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createConvolver is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createConvolver();\n  return !!instance && \"buffer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ConvolverNode.normalize","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createConvolver\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createConvolver is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createConvolver();\n  return !!instance && \"normalize\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.CookieChangeEvent","info":{"code":"\"CookieChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.CookieChangeEvent.CookieChangeEvent","info":{"code":"bcd.testConstructor('CookieChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CookieChangeEvent is not defined"},{"name":"api.CookieChangeEvent.changed","info":{"code":"\"CookieChangeEvent\" in self && \"changed\" in CookieChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CookieChangeEvent.deleted","info":{"code":"\"CookieChangeEvent\" in self && \"deleted\" in CookieChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.CookieStore","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.delete","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  return !!instance && \"delete\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.delete.partitioned_option","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  return bcd.testOptionParam(cookieStore, \"delete\", \"partitioned\", true, {\n    name: \"test_delete_partitioned\"\n  });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.domain_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_domain\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_domain\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_domain\");\n    })\n    .then(function (cookie) {\n      return \"domain\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.expires_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_expires\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_expires\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_expires\");\n    })\n    .then(function (cookie) {\n      return \"expires\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.name_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_name\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_name\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_name\");\n    })\n    .then(function (cookie) {\n      return \"name\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.partitioned_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_partitioned\", partitioned: true });\n  });\n  return cookieStore\n    .set({ name: \"test_get_partitioned\", value: \"bar\", partitioned: true })\n    .then(function () {\n      return cookieStore.get(\"test_get_partitioned\");\n    })\n    .then(function (cookie) {\n      return \"partitioned\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.path_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_path\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_path\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_path\");\n    })\n    .then(function (cookie) {\n      return \"path\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.sameSite_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_sameSite\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_sameSite\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_sameSite\");\n    })\n    .then(function (cookie) {\n      return \"sameSite\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.secure_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_secure\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_secure\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_secure\");\n    })\n    .then(function (cookie) {\n      return \"secure\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.get.value_return_property","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_get_value\" });\n  });\n  return cookieStore\n    .set({ name: \"test_get_value\", value: \"bar\" })\n    .then(function () {\n      return cookieStore.get(\"test_get_value\");\n    })\n    .then(function (cookie) {\n      return \"value\" in cookie;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.getAll","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  return !!instance && \"getAll\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.set","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  return !!instance && \"set\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStore.set.partitioned_option","info":{"code":"(function () {\n  if (!(\"cookieStore\" in self)) {\n    return { result: false, message: \"cookieStore is not defined\" };\n  }\n  var instance = cookieStore;\n  bcd.addCleanup(function () {\n    cookieStore.delete({ name: \"test_set_partitioned\", partitioned: true });\n  });\n  return bcd.testOptionParam(cookieStore, \"set\", \"partitioned\", true, {\n    name: \"test_set_partitioned\",\n    value: \"bar\"\n  });\n})();\n","exposure":"Window"},"result":false,"message":"cookieStore is not defined"},{"name":"api.CookieStoreManager","info":{"code":"\"CookieStoreManager\" in self","exposure":"Window"},"result":false},{"name":"api.CookieStoreManager.getSubscriptions","info":{"code":"\"CookieStoreManager\" in self && \"getSubscriptions\" in CookieStoreManager.prototype","exposure":"Window"},"result":false},{"name":"api.CookieStoreManager.subscribe","info":{"code":"\"CookieStoreManager\" in self && \"subscribe\" in CookieStoreManager.prototype","exposure":"Window"},"result":false},{"name":"api.CookieStoreManager.unsubscribe","info":{"code":"\"CookieStoreManager\" in self && \"unsubscribe\" in CookieStoreManager.prototype","exposure":"Window"},"result":false},{"name":"api.CountQueuingStrategy","info":{"code":"(function () {\n  if (!(\"CountQueuingStrategy\" in self)) {\n    return { result: false, message: \"CountQueuingStrategy is not defined\" };\n  }\n  var instance = new CountQueuingStrategy({ highWaterMark: 1 });\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CountQueuingStrategy.CountQueuingStrategy","info":{"code":"bcd.testConstructor('CountQueuingStrategy')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'CountQueuingStrategy': 1 argument required, but only 0 present."},{"name":"api.CountQueuingStrategy.highWaterMark","info":{"code":"(function () {\n  if (!(\"CountQueuingStrategy\" in self)) {\n    return { result: false, message: \"CountQueuingStrategy is not defined\" };\n  }\n  var instance = new CountQueuingStrategy({ highWaterMark: 1 });\n  return !!instance && \"highWaterMark\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CountQueuingStrategy.size","info":{"code":"(function () {\n  if (!(\"CountQueuingStrategy\" in self)) {\n    return { result: false, message: \"CountQueuingStrategy is not defined\" };\n  }\n  var instance = new CountQueuingStrategy({ highWaterMark: 1 });\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Counter","info":{"code":"\"Counter\" in self","exposure":"Window"},"result":false},{"name":"api.Counter.identifier","info":{"code":"\"Counter\" in self && \"identifier\" in Counter.prototype","exposure":"Window"},"result":false},{"name":"api.Counter.listStyle","info":{"code":"\"Counter\" in self && \"listStyle\" in Counter.prototype","exposure":"Window"},"result":false},{"name":"api.Counter.separator","info":{"code":"\"Counter\" in self && \"separator\" in Counter.prototype","exposure":"Window"},"result":false},{"name":"api.CreateMonitor","info":{"code":"\"CreateMonitor\" in self","exposure":"Window"},"result":false},{"name":"api.Credential","info":{"code":"\"Credential\" in self","exposure":"Window"},"result":false},{"name":"api.Credential.id","info":{"code":"\"Credential\" in self && \"id\" in Credential.prototype","exposure":"Window"},"result":false},{"name":"api.Credential.isConditionalMediationAvailable_static","info":{"code":"\"Credential\" in self && \"isConditionalMediationAvailable\" in Credential","exposure":"Window"},"result":false},{"name":"api.Credential.type","info":{"code":"\"Credential\" in self && \"type\" in Credential.prototype","exposure":"Window"},"result":false},{"name":"api.Credential.willRequestConditionalCreation_static","info":{"code":"\"Credential\" in self && \"willRequestConditionalCreation\" in Credential","exposure":"Window"},"result":false},{"name":"api.CredentialsContainer","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.create","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return !!instance && \"create\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.get","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.get.identity_option","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return bcd.testOptionParam(instance, \"get\", \"identity\", {});\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.get.identity_option.context_option","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  function get(identity) {\n    instance.get({ identity: identity });\n  }\n  return bcd.testOptionParam(get, null, \"context\", \"use\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.get.identity_option.providers_option_loginHint","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  function get(provider) {\n    instance.get({ identity: { providers: [provider] } });\n  }\n  return bcd.testOptionParam(get, null, \"loginHint\", \"foo\", {\n    configURL: \"\",\n    clientId: \"\"\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.get.otp_option","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return bcd.testOptionParam(instance, \"get\", \"otp\", { transport: \"sms\" });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.get.publicKey_option","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return bcd.testOptionParam(\n    instance,\n    \"get\",\n    \"publicKey\",\n    reusableInstances.cryptoKey\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.preventSilentAccess","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return !!instance && \"preventSilentAccess\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CredentialsContainer.store","info":{"code":"(function () {\n  var instance = navigator.credentials;\n  return !!instance && \"store\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.CropTarget","info":{"code":"\"CropTarget\" in self","exposure":"Window"},"result":false},{"name":"api.CropTarget.fromElement_static","info":{"code":"\"CropTarget\" in self && \"fromElement\" in CropTarget","exposure":"Window"},"result":false},{"name":"api.Crypto","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto;\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Crypto.getRandomValues","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto;\n  return !!instance && \"getRandomValues\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Crypto.randomUUID","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto;\n  return !!instance && \"randomUUID\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Crypto.subtle","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto;\n  return !!instance && \"subtle\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CustomElementRegistry","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.CustomElementRegistry","info":{"code":"bcd.testConstructor('CustomElementRegistry')","exposure":"Window"},"result":false,"message":"threw ReferenceError: CustomElementRegistry is not defined"},{"name":"api.CustomElementRegistry.builtin_element_support","info":{"code":"(function () {\n  var instance = window.customElements; // Create a class for the element\n  class MyCustomElement extends HTMLParagraphElement {\n    constructor() {\n      // Always call super first in constructor\n      super();\n    }\n  }\n\n  function define(options) {\n    customElements.define(\"my-custom-element\", MyCustomElement, options);\n  }\n  return bcd.testOptionParam(define, null, \"extends\", \"p\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.define","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance && \"define\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.get","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.getName","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance && \"getName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.initialize","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance && \"initialize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.upgrade","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance && \"upgrade\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomElementRegistry.whenDefined","info":{"code":"(function () {\n  var instance = window.customElements;\n  return !!instance && \"whenDefined\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.CustomEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CustomEvent(\"custom\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CustomEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CryptoKey","info":{"code":"(function () {\n  var promise = reusableInstances.cryptoKey;\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.CryptoKey.algorithm","info":{"code":"(function () {\n  var promise = reusableInstances.cryptoKey;\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"algorithm\" in instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.CryptoKey.extractable","info":{"code":"(function () {\n  var promise = reusableInstances.cryptoKey;\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"extractable\" in instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.CryptoKey.type","info":{"code":"(function () {\n  var promise = reusableInstances.cryptoKey;\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"type\" in instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.CryptoKey.usages","info":{"code":"(function () {\n  var promise = reusableInstances.cryptoKey;\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"usages\" in instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.CustomEvent.CustomEvent","info":{"code":"bcd.testConstructor('CustomEvent')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'CustomEvent': 1 argument required, but only 0 present."},{"name":"api.CustomEvent.detail","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CustomEvent(\"custom\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CustomEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"detail\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.CustomEvent.initCustomEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new CustomEvent(\"custom\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"CustomEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initCustomEvent\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.CustomStateSet","info":{"code":"\"CustomStateSet\" in self","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"CustomStateSet\" in self && !!(CustomStateSet.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.add","info":{"code":"\"CustomStateSet\" in self && \"add\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.clear","info":{"code":"\"CustomStateSet\" in self && \"clear\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.delete","info":{"code":"\"CustomStateSet\" in self && \"delete\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.entries","info":{"code":"\"CustomStateSet\" in self && \"entries\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.forEach","info":{"code":"\"CustomStateSet\" in self && \"forEach\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.has","info":{"code":"\"CustomStateSet\" in self && \"has\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.keys","info":{"code":"\"CustomStateSet\" in self && \"keys\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.size","info":{"code":"\"CustomStateSet\" in self && \"size\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.CustomStateSet.values","info":{"code":"\"CustomStateSet\" in self && \"values\" in CustomStateSet.prototype","exposure":"Window"},"result":false},{"name":"api.DOMError","info":{"code":"(function () {\n  if (!(\"DOMError\" in self)) {\n    return { result: false, message: \"DOMError is not defined\" };\n  }\n  var instance = new DOMError(\"name\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMError is not defined"},{"name":"api.DOMError.message","info":{"code":"(function () {\n  if (!(\"DOMError\" in self)) {\n    return { result: false, message: \"DOMError is not defined\" };\n  }\n  var instance = new DOMError(\"name\");\n  return !!instance && \"message\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMError is not defined"},{"name":"api.DOMError.name","info":{"code":"(function () {\n  if (!(\"DOMError\" in self)) {\n    return { result: false, message: \"DOMError is not defined\" };\n  }\n  var instance = new DOMError(\"name\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMError is not defined"},{"name":"api.DOMError.type","info":{"code":"(function () {\n  if (!(\"DOMError\" in self)) {\n    return { result: false, message: \"DOMError is not defined\" };\n  }\n  var instance = new DOMError(\"name\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMError is not defined"},{"name":"api.DOMException","info":{"code":"(function () {\n  var instance;\n  if (\"DOMException\" in self) {\n    instance = new DOMException();\n  } else if (\"document\" in self) {\n    try {\n      document.createElement(\"1\");\n    } catch (e) {\n      instance = e;\n    }\n  } else {\n    return {\n      result: false,\n      message: \"DOMException and document are both undefined\"\n    };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DOMException.DOMException","info":{"code":"bcd.testConstructor('DOMException')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.DOMException.code","info":{"code":"(function () {\n  var instance;\n  if (\"DOMException\" in self) {\n    instance = new DOMException();\n  } else if (\"document\" in self) {\n    try {\n      document.createElement(\"1\");\n    } catch (e) {\n      instance = e;\n    }\n  } else {\n    return {\n      result: false,\n      message: \"DOMException and document are both undefined\"\n    };\n  }\n  return !!instance && \"code\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DOMException.message","info":{"code":"(function () {\n  var instance;\n  if (\"DOMException\" in self) {\n    instance = new DOMException();\n  } else if (\"document\" in self) {\n    try {\n      document.createElement(\"1\");\n    } catch (e) {\n      instance = e;\n    }\n  } else {\n    return {\n      result: false,\n      message: \"DOMException and document are both undefined\"\n    };\n  }\n  return !!instance && \"message\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DOMException.name","info":{"code":"(function () {\n  var instance;\n  if (\"DOMException\" in self) {\n    instance = new DOMException();\n  } else if (\"document\" in self) {\n    try {\n      document.createElement(\"1\");\n    } catch (e) {\n      instance = e;\n    }\n  } else {\n    return {\n      result: false,\n      message: \"DOMException and document are both undefined\"\n    };\n  }\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DOMImplementation","info":{"code":"(function () {\n  var instance = document.implementation;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMImplementation.createDocument","info":{"code":"(function () {\n  var instance = document.implementation;\n  return !!instance && \"createDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMImplementation.createDocumentType","info":{"code":"(function () {\n  var instance = document.implementation;\n  return !!instance && \"createDocumentType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMImplementation.createHTMLDocument","info":{"code":"(function () {\n  var instance = document.implementation;\n  return !!instance && \"createHTMLDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMImplementation.hasFeature","info":{"code":"(function () {\n  var instance = document.implementation;\n  return !!instance && \"hasFeature\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMMatrix","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.DOMMatrix","info":{"code":"bcd.testConstructor('DOMMatrix')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMMatrix is not defined"},{"name":"api.DOMMatrix.a","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"a\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.b","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"b\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.c","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"c\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.d","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"d\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.e","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"e\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.f","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"f\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.fromFloat32Array_static","info":{"code":"\"DOMMatrix\" in self && \"fromFloat32Array\" in DOMMatrix","exposure":"Window"},"result":false},{"name":"api.DOMMatrix.fromFloat64Array_static","info":{"code":"\"DOMMatrix\" in self && \"fromFloat64Array\" in DOMMatrix","exposure":"Window"},"result":false},{"name":"api.DOMMatrix.fromMatrix_static","info":{"code":"\"DOMMatrix\" in self && \"fromMatrix\" in DOMMatrix","exposure":"Window"},"result":false},{"name":"api.DOMMatrix.invertSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"invertSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m11","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m11\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m12","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m12\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m13","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m13\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m14","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m14\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m21","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m21\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m22","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m22\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m23","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m23\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m24","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m24\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m31","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m31\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m32","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m32\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m33","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m33\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m34","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m34\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m41","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m41\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m42","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m42\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m43","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m43\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.m44","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"m44\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.multiplySelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"multiplySelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.preMultiplySelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"preMultiplySelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.rotateAxisAngleSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"rotateAxisAngleSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.rotateFromVectorSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"rotateFromVectorSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.rotateSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"rotateSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.scale3dSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"scale3dSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.scaleSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"scaleSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.setMatrixValue","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"setMatrixValue\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.skewXSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"skewXSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.skewYSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"skewYSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrix.translateSelf","info":{"code":"(function () {\n  var instance;\n  if (\"DOMMatrix\" in self) {\n    instance = new DOMMatrix();\n  } else if (\"WebKitCSSMatrix\" in self) {\n    instance = new WebKitCSSMatrix();\n  } else if (\"SVGMatrix\" in self) {\n    instance = new SVGMatrix();\n  } else {\n    return {\n      result: false,\n      message: \"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined.\"\n    };\n  }\n  return !!instance && \"translateSelf\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMMatrix, WebKitCSSMatrix and SVGMatrix are not defined."},{"name":"api.DOMMatrixReadOnly","info":{"code":"\"DOMMatrixReadOnly\" in self","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.DOMMatrixReadOnly","info":{"code":"bcd.testConstructor('DOMMatrixReadOnly')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMMatrixReadOnly is not defined"},{"name":"api.DOMMatrixReadOnly.a","info":{"code":"\"DOMMatrixReadOnly\" in self && \"a\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.b","info":{"code":"\"DOMMatrixReadOnly\" in self && \"b\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.c","info":{"code":"\"DOMMatrixReadOnly\" in self && \"c\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.d","info":{"code":"\"DOMMatrixReadOnly\" in self && \"d\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.e","info":{"code":"\"DOMMatrixReadOnly\" in self && \"e\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.f","info":{"code":"\"DOMMatrixReadOnly\" in self && \"f\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.flipX","info":{"code":"\"DOMMatrixReadOnly\" in self && \"flipX\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.flipY","info":{"code":"\"DOMMatrixReadOnly\" in self && \"flipY\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.fromFloat32Array_static","info":{"code":"\"DOMMatrixReadOnly\" in self && \"fromFloat32Array\" in DOMMatrixReadOnly","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.fromFloat64Array_static","info":{"code":"\"DOMMatrixReadOnly\" in self && \"fromFloat64Array\" in DOMMatrixReadOnly","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.fromMatrix_static","info":{"code":"\"DOMMatrixReadOnly\" in self && \"fromMatrix\" in DOMMatrixReadOnly","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.inverse","info":{"code":"\"DOMMatrixReadOnly\" in self && \"inverse\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.is2D","info":{"code":"\"DOMMatrixReadOnly\" in self && \"is2D\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.isIdentity","info":{"code":"\"DOMMatrixReadOnly\" in self && \"isIdentity\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m11","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m11\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m12","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m12\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m13","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m13\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m14","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m14\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m21","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m21\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m22","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m22\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m23","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m23\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m24","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m24\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m31","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m31\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m32","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m32\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m33","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m33\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m34","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m34\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m41","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m41\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m42","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m42\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m43","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m43\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.m44","info":{"code":"\"DOMMatrixReadOnly\" in self && \"m44\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.multiply","info":{"code":"\"DOMMatrixReadOnly\" in self && \"multiply\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.rotate","info":{"code":"\"DOMMatrixReadOnly\" in self && \"rotate\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.rotateAxisAngle","info":{"code":"\"DOMMatrixReadOnly\" in self && \"rotateAxisAngle\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.rotateFromVector","info":{"code":"\"DOMMatrixReadOnly\" in self && \"rotateFromVector\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.scale","info":{"code":"\"DOMMatrixReadOnly\" in self && \"scale\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.scale3d","info":{"code":"\"DOMMatrixReadOnly\" in self && \"scale3d\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.scaleNonUniform","info":{"code":"\"DOMMatrixReadOnly\" in self && \"scaleNonUniform\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.skewX","info":{"code":"\"DOMMatrixReadOnly\" in self && \"skewX\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.skewY","info":{"code":"\"DOMMatrixReadOnly\" in self && \"skewY\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.toFloat32Array","info":{"code":"\"DOMMatrixReadOnly\" in self && \"toFloat32Array\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.toFloat64Array","info":{"code":"\"DOMMatrixReadOnly\" in self && \"toFloat64Array\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.toJSON","info":{"code":"\"DOMMatrixReadOnly\" in self && \"toJSON\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.toString","info":{"code":"\"DOMMatrixReadOnly\" in self && \"toString\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.transform","info":{"code":"\"DOMMatrixReadOnly\" in self && \"transform\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.transformPoint","info":{"code":"\"DOMMatrixReadOnly\" in self && \"transformPoint\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMMatrixReadOnly.translate","info":{"code":"\"DOMMatrixReadOnly\" in self && \"translate\" in DOMMatrixReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMParser","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var instance = new DOMParser();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.DOMParser.DOMParser","info":{"code":"bcd.testConstructor('DOMParser')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMParser is not defined"},{"name":"api.DOMParser.parseFromString","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var instance = new DOMParser();\n  return !!instance && \"parseFromString\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.DOMParser.parseFromString.html","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var instance = new DOMParser();\n  if (!(instance && instance.parseFromString)) {\n    return {\n      result: false,\n      message: \"instance.parseFromString is not defined\"\n    };\n  }\n  try {\n    instance.parseFromString(\"<html></html>\", \"text/html\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.DOMParser.parseFromString.svg","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var instance = new DOMParser();\n  if (!(instance && instance.parseFromString)) {\n    return {\n      result: false,\n      message: \"instance.parseFromString is not defined\"\n    };\n  }\n  try {\n    instance.parseFromString(\"<circle />\", \"image/svg+xml\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.DOMParser.parseFromString.xml","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var instance = new DOMParser();\n  if (!(instance && instance.parseFromString)) {\n    return {\n      result: false,\n      message: \"instance.parseFromString is not defined\"\n    };\n  }\n  try {\n    instance.parseFromString(\"<foo />\", \"text/xml\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.DOMPoint","info":{"code":"\"DOMPoint\" in self","exposure":"Window"},"result":false},{"name":"api.DOMPoint.DOMPoint","info":{"code":"bcd.testConstructor('DOMPoint')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMPoint is not defined"},{"name":"api.DOMPoint.fromPoint_static","info":{"code":"\"DOMPoint\" in self && \"fromPoint\" in DOMPoint","exposure":"Window"},"result":false},{"name":"api.DOMPoint.w","info":{"code":"\"DOMPoint\" in self && Object.prototype.hasOwnProperty.call(DOMPoint.prototype, \"w\")","exposure":"Window"},"result":false},{"name":"api.DOMPoint.x","info":{"code":"\"DOMPoint\" in self && Object.prototype.hasOwnProperty.call(DOMPoint.prototype, \"x\")","exposure":"Window"},"result":false},{"name":"api.DOMPoint.y","info":{"code":"\"DOMPoint\" in self && Object.prototype.hasOwnProperty.call(DOMPoint.prototype, \"y\")","exposure":"Window"},"result":false},{"name":"api.DOMPoint.z","info":{"code":"\"DOMPoint\" in self && Object.prototype.hasOwnProperty.call(DOMPoint.prototype, \"z\")","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly","info":{"code":"\"DOMPointReadOnly\" in self","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.DOMPointReadOnly","info":{"code":"bcd.testConstructor('DOMPointReadOnly')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMPointReadOnly is not defined"},{"name":"api.DOMPointReadOnly.fromPoint_static","info":{"code":"\"DOMPointReadOnly\" in self && \"fromPoint\" in DOMPointReadOnly","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.matrixTransform","info":{"code":"\"DOMPointReadOnly\" in self && \"matrixTransform\" in DOMPointReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.toJSON","info":{"code":"\"DOMPointReadOnly\" in self && \"toJSON\" in DOMPointReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.w","info":{"code":"\"DOMPointReadOnly\" in self && \"w\" in DOMPointReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.x","info":{"code":"\"DOMPointReadOnly\" in self && \"x\" in DOMPointReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.y","info":{"code":"\"DOMPointReadOnly\" in self && \"y\" in DOMPointReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMPointReadOnly.z","info":{"code":"\"DOMPointReadOnly\" in self && \"z\" in DOMPointReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMQuad","info":{"code":"\"DOMQuad\" in self","exposure":"Window"},"result":false},{"name":"api.DOMQuad.DOMQuad","info":{"code":"bcd.testConstructor('DOMQuad')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMQuad is not defined"},{"name":"api.DOMQuad.fromQuad_static","info":{"code":"\"DOMQuad\" in self && \"fromQuad\" in DOMQuad","exposure":"Window"},"result":false},{"name":"api.DOMQuad.fromRect_static","info":{"code":"\"DOMQuad\" in self && \"fromRect\" in DOMQuad","exposure":"Window"},"result":false},{"name":"api.DOMQuad.getBounds","info":{"code":"\"DOMQuad\" in self && \"getBounds\" in DOMQuad.prototype","exposure":"Window"},"result":false},{"name":"api.DOMQuad.p1","info":{"code":"\"DOMQuad\" in self && \"p1\" in DOMQuad.prototype","exposure":"Window"},"result":false},{"name":"api.DOMQuad.p2","info":{"code":"\"DOMQuad\" in self && \"p2\" in DOMQuad.prototype","exposure":"Window"},"result":false},{"name":"api.DOMQuad.p3","info":{"code":"\"DOMQuad\" in self && \"p3\" in DOMQuad.prototype","exposure":"Window"},"result":false},{"name":"api.DOMQuad.p4","info":{"code":"\"DOMQuad\" in self && \"p4\" in DOMQuad.prototype","exposure":"Window"},"result":false},{"name":"api.DOMQuad.toJSON","info":{"code":"\"DOMQuad\" in self && \"toJSON\" in DOMQuad.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRect","info":{"code":"\"DOMRect\" in self","exposure":"Window"},"result":false},{"name":"api.DOMRect.DOMRect","info":{"code":"bcd.testConstructor('DOMRect')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMRect is not defined"},{"name":"api.DOMRect.fromRect_static","info":{"code":"\"DOMRect\" in self && \"fromRect\" in DOMRect","exposure":"Window"},"result":false},{"name":"api.DOMRect.height","info":{"code":"\"DOMRect\" in self && Object.prototype.hasOwnProperty.call(DOMRect.prototype, \"height\")","exposure":"Window"},"result":false},{"name":"api.DOMRect.width","info":{"code":"\"DOMRect\" in self && Object.prototype.hasOwnProperty.call(DOMRect.prototype, \"width\")","exposure":"Window"},"result":false},{"name":"api.DOMRect.x","info":{"code":"\"DOMRect\" in self && Object.prototype.hasOwnProperty.call(DOMRect.prototype, \"x\")","exposure":"Window"},"result":false},{"name":"api.DOMRect.y","info":{"code":"\"DOMRect\" in self && Object.prototype.hasOwnProperty.call(DOMRect.prototype, \"y\")","exposure":"Window"},"result":false},{"name":"api.DOMRectList","info":{"code":"(function () {\n  var el;\n  try {\n    el = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    el = document.createElement(\"b\");\n  }\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  if (!(\"getClientRects\" in el)) {\n    return { result: false, message: \"el.getClientRects is not defined\" };\n  }\n  var instance = el.getClientRects();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMRectList.item","info":{"code":"(function () {\n  var el;\n  try {\n    el = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    el = document.createElement(\"b\");\n  }\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  if (!(\"getClientRects\" in el)) {\n    return { result: false, message: \"el.getClientRects is not defined\" };\n  }\n  var instance = el.getClientRects();\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMRectList.length","info":{"code":"(function () {\n  var el;\n  try {\n    el = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    el = document.createElement(\"b\");\n  }\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  if (!(\"getClientRects\" in el)) {\n    return { result: false, message: \"el.getClientRects is not defined\" };\n  }\n  var instance = el.getClientRects();\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMRectReadOnly","info":{"code":"\"DOMRectReadOnly\" in self","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.DOMRectReadOnly","info":{"code":"bcd.testConstructor('DOMRectReadOnly')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DOMRectReadOnly is not defined"},{"name":"api.DOMRectReadOnly.bottom","info":{"code":"\"DOMRectReadOnly\" in self && \"bottom\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.fromRect_static","info":{"code":"\"DOMRectReadOnly\" in self && \"fromRect\" in DOMRectReadOnly","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.height","info":{"code":"\"DOMRectReadOnly\" in self && \"height\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.left","info":{"code":"\"DOMRectReadOnly\" in self && \"left\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.right","info":{"code":"\"DOMRectReadOnly\" in self && \"right\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.toJSON","info":{"code":"\"DOMRectReadOnly\" in self && \"toJSON\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.top","info":{"code":"\"DOMRectReadOnly\" in self && \"top\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.width","info":{"code":"\"DOMRectReadOnly\" in self && \"width\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.x","info":{"code":"\"DOMRectReadOnly\" in self && \"x\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMRectReadOnly.y","info":{"code":"\"DOMRectReadOnly\" in self && \"y\" in DOMRectReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.DOMStringList","info":{"code":"\"DOMStringList\" in self","exposure":"Window"},"result":false},{"name":"api.DOMStringList.contains","info":{"code":"\"DOMStringList\" in self && \"contains\" in DOMStringList.prototype","exposure":"Window"},"result":false},{"name":"api.DOMStringList.item","info":{"code":"\"DOMStringList\" in self && \"item\" in DOMStringList.prototype","exposure":"Window"},"result":false},{"name":"api.DOMStringList.length","info":{"code":"\"DOMStringList\" in self && \"length\" in DOMStringList.prototype","exposure":"Window"},"result":false},{"name":"api.DOMStringMap","info":{"code":"\"DOMStringMap\" in self","exposure":"Window"},"result":false},{"name":"api.DOMTokenList","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.@@iterator","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.add","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"add\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.add.multiple_parameters","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  instance.add(\"foo\", \"bar\", \"baz\");\n  return el.className === \"foo bar baz\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.contains","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"contains\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.entries","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.forEach","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.item","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.keys","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.length","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.remove","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"remove\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.remove.multiple_parameters","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  instance.add(\"foo\", \"bar\", \"baz\");\n  instance.remove(\"bar\", \"baz\");\n  return el.className === \"foo\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.remove_duplicates","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  if (!instance) {\n    return { result: false, message: \"Element.classList is not defined\" };\n  }\n  el.className = \" foo bar foo \";\n  instance.remove(\"bar\");\n  return el.className === \"foo\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.replace","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"replace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.replace.boolean_value","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  instance.add(\"foo\");\n  var value = instance.replace(\"foo\", \"bar\");\n  return value === true;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.supports","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"supports\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.toString","info":{"code":"\"DOMTokenList\" in self && \"toString\" in DOMTokenList.prototype","exposure":"Window"},"result":false},{"name":"api.DOMTokenList.toggle","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"toggle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.toggle.force_parameter","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  if (!instance) {\n    return { result: false, message: \"Element.classList is not defined\" };\n  }\n  if (!(\"toggle\" in instance)) {\n    return {\n      result: false,\n      message: \"Element.classList.toggle is not defined\"\n    };\n  }\n  el.className = \"foo bar\";\n\n  instance.toggle(\"foo\", true);\n  return el.className === \"foo bar\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.trim_whitespace","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  if (!instance) {\n    return { result: false, message: \"Element.classList is not defined\" };\n  }\n  el.className = \" foo bar foo \";\n  instance.remove(\"bar\");\n  return el.className === \"foo foo\" || el.className === \"foo\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.value","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DOMTokenList.values","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  var instance = el.classList;\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DataCue","info":{"code":"\"DataCue\" in self","exposure":"Window"},"result":false},{"name":"api.DataCue.DataCue","info":{"code":"bcd.testConstructor('DataCue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DataCue is not defined"},{"name":"api.DataCue.type","info":{"code":"\"DataCue\" in self && \"type\" in DataCue.prototype","exposure":"Window"},"result":false},{"name":"api.DataCue.value","info":{"code":"\"DataCue\" in self && \"value\" in DataCue.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer","info":{"code":"\"DataTransfer\" in self","exposure":"Window"},"result":false},{"name":"api.DataTransfer.DataTransfer","info":{"code":"bcd.testConstructor('DataTransfer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DataTransfer is not defined"},{"name":"api.DataTransfer.addElement","info":{"code":"\"DataTransfer\" in self && \"addElement\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.clearData","info":{"code":"\"DataTransfer\" in self && \"clearData\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.dropEffect","info":{"code":"\"DataTransfer\" in self && \"dropEffect\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.effectAllowed","info":{"code":"\"DataTransfer\" in self && \"effectAllowed\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.files","info":{"code":"\"DataTransfer\" in self && \"files\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.getData","info":{"code":"\"DataTransfer\" in self && \"getData\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.items","info":{"code":"\"DataTransfer\" in self && \"items\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.mozCursor","info":{"code":"\"DataTransfer\" in self && \"mozCursor\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.mozSourceNode","info":{"code":"\"DataTransfer\" in self && \"mozSourceNode\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.mozUserCancelled","info":{"code":"\"DataTransfer\" in self && \"mozUserCancelled\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.setData","info":{"code":"\"DataTransfer\" in self && \"setData\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.setDragImage","info":{"code":"\"DataTransfer\" in self && \"setDragImage\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransfer.types","info":{"code":"\"DataTransfer\" in self && \"types\" in DataTransfer.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItem","info":{"code":"\"DataTransferItem\" in self","exposure":"Window"},"result":false},{"name":"api.DataTransferItem.getAsFile","info":{"code":"\"DataTransferItem\" in self && \"getAsFile\" in DataTransferItem.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItem.getAsFileSystemHandle","info":{"code":"\"DataTransferItem\" in self && \"getAsFileSystemHandle\" in DataTransferItem.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItem.getAsString","info":{"code":"\"DataTransferItem\" in self && \"getAsString\" in DataTransferItem.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItem.kind","info":{"code":"\"DataTransferItem\" in self && \"kind\" in DataTransferItem.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItem.type","info":{"code":"\"DataTransferItem\" in self && \"type\" in DataTransferItem.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItem.webkitGetAsEntry","info":{"code":"\"DataTransferItem\" in self && \"webkitGetAsEntry\" in DataTransferItem.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItemList","info":{"code":"\"DataTransferItemList\" in self","exposure":"Window"},"result":false},{"name":"api.DataTransferItemList.add","info":{"code":"\"DataTransferItemList\" in self && \"add\" in DataTransferItemList.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItemList.clear","info":{"code":"\"DataTransferItemList\" in self && \"clear\" in DataTransferItemList.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItemList.length","info":{"code":"\"DataTransferItemList\" in self && \"length\" in DataTransferItemList.prototype","exposure":"Window"},"result":false},{"name":"api.DataTransferItemList.remove","info":{"code":"\"DataTransferItemList\" in self && \"remove\" in DataTransferItemList.prototype","exposure":"Window"},"result":false},{"name":"api.DecompressionStream","info":{"code":"(function () {\n  if (!(\"DecompressionStream\" in self)) {\n    return { result: false, message: \"DecompressionStream is not defined\" };\n  }\n  var instance = new DecompressionStream(\"gzip\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DecompressionStream.DecompressionStream","info":{"code":"bcd.testConstructor('DecompressionStream')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'DecompressionStream': 1 argument required, but only 0 present."},{"name":"api.DecompressionStream.DecompressionStream.deflate","info":{"code":"(function () {\n  if (!(\"DecompressionStream\" in self)) {\n    return { result: false, message: \"DecompressionStream is not defined\" };\n  }\n  var instance = new DecompressionStream(\"gzip\");\n  try {\n    new DecompressionStream(\"deflate\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.DecompressionStream.DecompressionStream.deflate-raw","info":{"code":"(function () {\n  if (!(\"DecompressionStream\" in self)) {\n    return { result: false, message: \"DecompressionStream is not defined\" };\n  }\n  var instance = new DecompressionStream(\"gzip\");\n  try {\n    new DecompressionStream(\"deflate-raw\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.DecompressionStream.DecompressionStream.gzip","info":{"code":"(function () {\n  if (!(\"DecompressionStream\" in self)) {\n    return { result: false, message: \"DecompressionStream is not defined\" };\n  }\n  var instance = new DecompressionStream(\"gzip\");\n  try {\n    new DecompressionStream(\"gzip\");\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.DecompressionStream.readable","info":{"code":"(function () {\n  if (!(\"DecompressionStream\" in self)) {\n    return { result: false, message: \"DecompressionStream is not defined\" };\n  }\n  var instance = new DecompressionStream(\"gzip\");\n  return !!instance && \"readable\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DecompressionStream.writable","info":{"code":"(function () {\n  if (!(\"DecompressionStream\" in self)) {\n    return { result: false, message: \"DecompressionStream is not defined\" };\n  }\n  var instance = new DecompressionStream(\"gzip\");\n  return !!instance && \"writable\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.DelayNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDelay\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDelay is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDelay();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DelayNode.DelayNode","info":{"code":"bcd.testConstructor('DelayNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DelayNode is not defined"},{"name":"api.DelayNode.delayTime","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDelay\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDelay is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDelay();\n  return !!instance && \"delayTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DelegatedInkTrailPresenter","info":{"code":"\"DelegatedInkTrailPresenter\" in self","exposure":"Window"},"result":false},{"name":"api.DelegatedInkTrailPresenter.expectedImprovement","info":{"code":"\"DelegatedInkTrailPresenter\" in self && \"expectedImprovement\" in DelegatedInkTrailPresenter.prototype","exposure":"Window"},"result":false},{"name":"api.DelegatedInkTrailPresenter.presentationArea","info":{"code":"\"DelegatedInkTrailPresenter\" in self && \"presentationArea\" in DelegatedInkTrailPresenter.prototype","exposure":"Window"},"result":false},{"name":"api.DelegatedInkTrailPresenter.updateInkTrailStartPoint","info":{"code":"\"DelegatedInkTrailPresenter\" in self && \"updateInkTrailStartPoint\" in DelegatedInkTrailPresenter.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceChangeEvent","info":{"code":"\"DeviceChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.DeviceChangeEvent.DeviceChangeEvent","info":{"code":"bcd.testConstructor('DeviceChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DeviceChangeEvent is not defined"},{"name":"api.DeviceChangeEvent.devices","info":{"code":"\"DeviceChangeEvent\" in self && \"devices\" in DeviceChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceChangeEvent.userInsertedDevices","info":{"code":"\"DeviceChangeEvent\" in self && \"userInsertedDevices\" in DeviceChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceLightEvent","info":{"code":"\"DeviceLightEvent\" in self","exposure":"Window"},"result":false},{"name":"api.DeviceLightEvent.value","info":{"code":"\"DeviceLightEvent\" in self && \"value\" in DeviceLightEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceMotionEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEvent.DeviceMotionEvent","info":{"code":"bcd.testConstructor('DeviceMotionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DeviceMotionEvent is not defined"},{"name":"api.DeviceMotionEvent.acceleration","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"acceleration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEvent.accelerationIncludingGravity","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"accelerationIncludingGravity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEvent.interval","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"interval\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEvent.requestPermission_static","info":{"code":"\"DeviceMotionEvent\" in self && \"requestPermission\" in DeviceMotionEvent","exposure":"Window"},"result":false},{"name":"api.DeviceMotionEvent.rotationRate","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"rotationRate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventAcceleration","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.acceleration;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventAcceleration.x","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.acceleration;\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventAcceleration.y","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.acceleration;\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventAcceleration.z","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.acceleration;\n  return !!instance && \"z\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventRotationRate","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.rotationRate;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventRotationRate.alpha","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.rotationRate;\n  return !!instance && \"alpha\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventRotationRate.beta","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.rotationRate;\n  return !!instance && \"beta\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceMotionEventRotationRate.gamma","info":{"code":"(function () {\n  var event;\n  try {\n    event = new DeviceMotionEvent(\"devicemotion\", {\n      acceleration: { x: 1, y: 1, z: 1 },\n      rotationRate: { alpha: 1, beta: 1, gamma: 1 }\n    });\n  } catch (e) {\n    try {\n      event = document.createEvent(\"DeviceMotionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  if (!event) {\n    return { result: false, message: \"event is falsy\" };\n  }\n  var instance = event.rotationRate;\n  return !!instance && \"gamma\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceOrientationEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceOrientationEvent(\"deviceorientation\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceOrientationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceOrientationEvent.DeviceOrientationEvent","info":{"code":"bcd.testConstructor('DeviceOrientationEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DeviceOrientationEvent is not defined"},{"name":"api.DeviceOrientationEvent.absolute","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceOrientationEvent(\"deviceorientation\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceOrientationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"absolute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceOrientationEvent.alpha","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceOrientationEvent(\"deviceorientation\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceOrientationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"alpha\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceOrientationEvent.beta","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceOrientationEvent(\"deviceorientation\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceOrientationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"beta\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceOrientationEvent.gamma","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DeviceOrientationEvent(\"deviceorientation\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DeviceOrientationEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"gamma\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DeviceOrientationEvent.requestPermission_static","info":{"code":"\"DeviceOrientationEvent\" in self && \"requestPermission\" in DeviceOrientationEvent","exposure":"Window"},"result":false},{"name":"api.DevicePosture","info":{"code":"\"DevicePosture\" in self","exposure":"Window"},"result":false},{"name":"api.DevicePosture.type","info":{"code":"\"DevicePosture\" in self && \"type\" in DevicePosture.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceProximityEvent","info":{"code":"\"DeviceProximityEvent\" in self","exposure":"Window"},"result":false},{"name":"api.DeviceProximityEvent.max","info":{"code":"\"DeviceProximityEvent\" in self && \"max\" in DeviceProximityEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceProximityEvent.min","info":{"code":"\"DeviceProximityEvent\" in self && \"min\" in DeviceProximityEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DeviceProximityEvent.value","info":{"code":"\"DeviceProximityEvent\" in self && \"value\" in DeviceProximityEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalCredential","info":{"code":"\"DigitalCredential\" in self","exposure":"Window"},"result":false},{"name":"api.DigitalCredential.data","info":{"code":"\"DigitalCredential\" in self && \"data\" in DigitalCredential.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalCredential.protocol","info":{"code":"\"DigitalCredential\" in self && \"protocol\" in DigitalCredential.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalCredential.toJSON","info":{"code":"\"DigitalCredential\" in self && \"toJSON\" in DigitalCredential.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalCredential.userAgentAllowsProtocol_static","info":{"code":"\"DigitalCredential\" in self && \"userAgentAllowsProtocol\" in DigitalCredential","exposure":"Window"},"result":false},{"name":"api.DigitalGoodsService","info":{"code":"\"DigitalGoodsService\" in self","exposure":"Window"},"result":false},{"name":"api.DigitalGoodsService.consume","info":{"code":"\"DigitalGoodsService\" in self && \"consume\" in DigitalGoodsService.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalGoodsService.getDetails","info":{"code":"\"DigitalGoodsService\" in self && \"getDetails\" in DigitalGoodsService.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalGoodsService.listPurchaseHistory","info":{"code":"\"DigitalGoodsService\" in self && \"listPurchaseHistory\" in DigitalGoodsService.prototype","exposure":"Window"},"result":false},{"name":"api.DigitalGoodsService.listPurchases","info":{"code":"\"DigitalGoodsService\" in self && \"listPurchases\" in DigitalGoodsService.prototype","exposure":"Window"},"result":false},{"name":"api.Directory","info":{"code":"\"Directory\" in self","exposure":"Window"},"result":false},{"name":"api.Directory.getFiles","info":{"code":"\"Directory\" in self && \"getFiles\" in Directory.prototype","exposure":"Window"},"result":false},{"name":"api.Directory.getFilesAndDirectories","info":{"code":"\"Directory\" in self && \"getFilesAndDirectories\" in Directory.prototype","exposure":"Window"},"result":false},{"name":"api.Directory.name","info":{"code":"\"Directory\" in self && \"name\" in Directory.prototype","exposure":"Window"},"result":false},{"name":"api.Directory.path","info":{"code":"\"Directory\" in self && \"path\" in Directory.prototype","exposure":"Window"},"result":false},{"name":"api.DirectoryEntrySync","info":{"code":"\"DirectoryEntrySync\" in self","exposure":"Window"},"result":false},{"name":"api.Document","info":{"code":"(function () {\n  var instance = document;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.Document","info":{"code":"bcd.testConstructor('Document')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Document is not defined"},{"name":"api.Document.URL","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"URL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.activeElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"activeElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.activeViewTransition","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"activeViewTransition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.adoptNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"adoptNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.adoptedStyleSheets","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"adoptedStyleSheets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.alinkColor","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"alinkColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.all","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"all\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.anchors","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"anchors\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.append","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"append\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.applets","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"applets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.bgColor","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"bgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.body","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"body\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.browsingTopics","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"browsingTopics\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.captureEvents","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"captureEvents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.caretPositionFromPoint","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"caretPositionFromPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.caretPositionFromPoint.options_parameter","info":{"code":"(function () {\n  var instance = document;\n  function caretPositionFromPoint(options) {\n    document.caretPositionFromPoint(0, 0, options);\n  }\n  return bcd.testOptionParam(caretPositionFromPoint, null, \"shadowRoots\", []);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.caretRangeFromPoint","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"caretRangeFromPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.characterSet","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"characterSet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.childElementCount","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"childElementCount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.children","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"children\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.clear","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.close","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.compatMode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"compatMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.contentType","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"contentType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.convertPointFromNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"convertPointFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.convertQuadFromNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"convertQuadFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.convertRectFromNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"convertRectFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.cookie","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"cookie\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createAttribute","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createAttribute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createAttributeNS","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createAttributeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createCDATASection","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createCDATASection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createComment","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createComment\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createDocumentFragment","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createDocumentFragment\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createElement.options_parameter","info":{"code":"(function () {\n  var instance = document;\n  function doTest(options) {\n    instance.createElement(\"p\", options);\n  }\n  return bcd.testOptionParam(doTest, null, \"is\", \"\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createElementNS","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createElementNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createElementNS.options_parameter","info":{"code":"(function () {\n  var instance = document;\n  function doTest(options) {\n    instance.createElementNS(\"http://www.w3.org/1999/xhtml\", \"p\", options);\n  }\n  return bcd.testOptionParam(doTest, null, \"is\", \"\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createEvent","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createExpression","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createExpression\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createNSResolver","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createNSResolver\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createNodeIterator","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createNodeIterator\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createProcessingInstruction","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createProcessingInstruction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createRange","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createTextNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createTextNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createTouch","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createTouch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createTouchList","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createTouchList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createTreeWalker","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"createTreeWalker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.createTreeWalker.whatToShow_filter_parameters_optional","info":{"code":"(function () {\n  var instance = document;\n  try {\n    instance.createTreeWalker(document.body);\n    return true;\n  } catch (e) {\n    if (\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.currentScript","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"currentScript\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.customElementRegistry","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"customElementRegistry\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.defaultView","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"defaultView\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.designMode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"designMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.dir","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"dir\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.doctype","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"doctype\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.documentElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"documentElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.documentURI","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"documentURI\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.domain","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"domain\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.elementFromPoint","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"elementFromPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.elementsFromPoint","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"elementsFromPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.embeds","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"embeds\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.enableStyleSheetsForSet","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"enableStyleSheetsForSet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.evaluate","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"evaluate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.execCommand","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"execCommand\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.exitFullscreen","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"exitFullscreen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.exitFullscreen.returns_promise","info":{"code":"(function () {\n  var instance = document;\n  if (!(\"Promise\" in self)) {\n    return { result: false, message: \"Promises are not supported\" };\n  }\n  var value = document.exitFullscreen();\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.exitPictureInPicture","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"exitPictureInPicture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.exitPointerLock","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"exitPointerLock\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.featurePolicy","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"featurePolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.fgColor","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"fgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.firstElementChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"firstElementChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.fonts","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"fonts\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.forms","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"forms\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.fragmentDirective","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"fragmentDirective\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.fullscreen","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"fullscreen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.fullscreenElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"fullscreenElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.fullscreenEnabled","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"fullscreenEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getAnimations","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getAnimations\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getBoxQuads","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getBoxQuads\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getElementById","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getElementById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getElementsByClassName","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getElementsByClassName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getElementsByName","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getElementsByName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getElementsByTagName","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getElementsByTagName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getElementsByTagNameNS","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getElementsByTagNameNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.getSelection","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getSelection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.hasFocus","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hasFocus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.hasPrivateToken","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hasPrivateToken\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.hasRedemptionRecord","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hasRedemptionRecord\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.hasStorageAccess","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hasStorageAccess\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.hasUnpartitionedCookieAccess","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hasUnpartitionedCookieAccess\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.head","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"head\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.hidden","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hidden\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.images","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"images\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.implementation","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"implementation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.importNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"importNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.lastElementChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"lastElementChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.lastModified","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"lastModified\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.lastStyleSheetSet","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"lastStyleSheetSet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.linkColor","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"linkColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.links","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"links\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.location","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"location\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.measureElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"measureElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.measureText","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"measureText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.moveBefore","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"moveBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.mozSetImageElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"mozSetImageElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.namedFlows","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"namedFlows\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.open","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.parseHTMLUnsafe_static","info":{"code":"\"Document\" in self && \"parseHTMLUnsafe\" in Document","exposure":"Window"},"result":false},{"name":"api.Document.permissionsPolicy","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"permissionsPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.pictureInPictureElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"pictureInPictureElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.pictureInPictureEnabled","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"pictureInPictureEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.plugins","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"plugins\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.pointerLockElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"pointerLockElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.preferredStyleSheetSet","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"preferredStyleSheetSet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.prepend","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"prepend\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.prerendering","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"prerendering\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.queryCommandEnabled","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"queryCommandEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.queryCommandIndeterm","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"queryCommandIndeterm\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.queryCommandState","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"queryCommandState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.queryCommandSupported","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"queryCommandSupported\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.queryCommandValue","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"queryCommandValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.querySelector","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"querySelector\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.querySelectorAll","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"querySelectorAll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.readyState","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.referrer","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"referrer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.registerElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"registerElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.releaseCapture","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"releaseCapture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.releaseEvents","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"releaseEvents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.replaceChildren","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"replaceChildren\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.requestStorageAccess","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"requestStorageAccess\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.requestStorageAccessFor","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"requestStorageAccessFor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.rootElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"rootElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.scripts","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"scripts\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.scrollingElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"scrollingElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.selectedStyleSheetSet","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"selectedStyleSheetSet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.startViewTransition","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"startViewTransition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.styleSheetSets","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"styleSheetSets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.styleSheets","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"styleSheets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.timeline","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"timeline\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.title","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"title\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.visibilityState","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"visibilityState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.vlinkColor","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"vlinkColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.wasDiscarded","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"wasDiscarded\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.write","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"write\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.writeln","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"writeln\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.xmlEncoding","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"xmlEncoding\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.xmlStandalone","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"xmlStandalone\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Document.xmlVersion","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"xmlVersion\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.DocumentFragment","info":{"code":"bcd.testConstructor('DocumentFragment')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DocumentFragment is not defined"},{"name":"api.DocumentFragment.append","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"append\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.childElementCount","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"childElementCount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.children","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"children\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.firstElementChild","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"firstElementChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.getElementById","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"getElementById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.lastElementChild","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"lastElementChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.moveBefore","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"moveBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.prepend","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"prepend\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.querySelector","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"querySelector\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.querySelectorAll","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"querySelectorAll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentFragment.replaceChildren","info":{"code":"(function () {\n  if (!(\"createDocumentFragment\" in document)) {\n    return {\n      result: false,\n      message: \"document.createDocumentFragment is not defined\"\n    };\n  }\n  var instance = document.createDocumentFragment();\n  return !!instance && \"replaceChildren\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentPictureInPicture","info":{"code":"\"DocumentPictureInPicture\" in self","exposure":"Window"},"result":false},{"name":"api.DocumentPictureInPicture.requestWindow","info":{"code":"\"DocumentPictureInPicture\" in self && \"requestWindow\" in DocumentPictureInPicture.prototype","exposure":"Window"},"result":false},{"name":"api.DocumentPictureInPicture.window","info":{"code":"\"DocumentPictureInPicture\" in self && \"window\" in DocumentPictureInPicture.prototype","exposure":"Window"},"result":false},{"name":"api.DocumentPictureInPictureEvent","info":{"code":"\"DocumentPictureInPictureEvent\" in self","exposure":"Window"},"result":false},{"name":"api.DocumentPictureInPictureEvent.DocumentPictureInPictureEvent","info":{"code":"bcd.testConstructor('DocumentPictureInPictureEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DocumentPictureInPictureEvent is not defined"},{"name":"api.DocumentPictureInPictureEvent.window","info":{"code":"\"DocumentPictureInPictureEvent\" in self && \"window\" in DocumentPictureInPictureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.DocumentTimeline","info":{"code":"\"DocumentTimeline\" in self","exposure":"Window"},"result":false},{"name":"api.DocumentTimeline.DocumentTimeline","info":{"code":"bcd.testConstructor('DocumentTimeline')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DocumentTimeline is not defined"},{"name":"api.DocumentType","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.after","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"after\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.before","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"before\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.name","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.publicId","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"publicId\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.remove","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"remove\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.replaceWith","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"replaceWith\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DocumentType.systemId","info":{"code":"(function () {\n  if (!(\"doctype\" in document)) {\n    return { result: false, message: \"document.doctype is not defined\" };\n  }\n  var instance = document.doctype;\n  return !!instance && \"systemId\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DragEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DragEvent(\"drag\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DragEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DragEvent.DragEvent","info":{"code":"bcd.testConstructor('DragEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DragEvent is not defined"},{"name":"api.DragEvent.dataTransfer","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new DragEvent(\"drag\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"DragEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"dataTransfer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.DynamicsCompressorNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DynamicsCompressorNode.DynamicsCompressorNode","info":{"code":"bcd.testConstructor('DynamicsCompressorNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: DynamicsCompressorNode is not defined"},{"name":"api.DynamicsCompressorNode.attack","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance && \"attack\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DynamicsCompressorNode.knee","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance && \"knee\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DynamicsCompressorNode.ratio","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance && \"ratio\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DynamicsCompressorNode.reduction","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance && \"reduction\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DynamicsCompressorNode.release","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance && \"release\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.DynamicsCompressorNode.threshold","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createDynamicsCompressor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createDynamicsCompressor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createDynamicsCompressor();\n  return !!instance && \"threshold\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.EXT_blend_minmax","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"EXT_blend_minmax\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_color_buffer_float","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  var instance = reusableInstances.webGL2.getExtension(\n    \"EXT_color_buffer_float\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.EXT_color_buffer_half_float","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_color_buffer_half_float\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.beginQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"beginQueryEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.createQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"createQueryEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.deleteQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"deleteQueryEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.endQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"endQueryEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.getQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"getQueryEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.getQueryObjectEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"getQueryObjectEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.isQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"isQueryEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query.queryCounterEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_disjoint_timer_query\"\n  );\n  return !!instance && \"queryCounterEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_disjoint_timer_query_webgl2","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  var instance = reusableInstances.webGL2.getExtension(\n    \"EXT_disjoint_timer_query_webgl2\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.EXT_disjoint_timer_query_webgl2.queryCounterEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  var instance = reusableInstances.webGL2.getExtension(\n    \"EXT_disjoint_timer_query_webgl2\"\n  );\n  return !!instance && \"queryCounterEXT\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.EXT_float_blend","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"EXT_float_blend\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.EXT_frag_depth","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"EXT_frag_depth\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_sRGB","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"EXT_sRGB\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_shader_texture_lod","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"EXT_shader_texture_lod\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.EXT_texture_compression_bptc","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"EXT_texture_compression_bptc\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.EXT_texture_compression_rgtc","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"EXT_texture_compression_rgtc\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.EXT_texture_filter_anisotropic","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"EXT_texture_filter_anisotropic\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.EXT_texture_norm16","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  var instance = reusableInstances.webGL2.getExtension(\"EXT_texture_norm16\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.EditContext","info":{"code":"\"EditContext\" in self","exposure":"Window"},"result":false},{"name":"api.EditContext.EditContext","info":{"code":"bcd.testConstructor('EditContext')","exposure":"Window"},"result":false,"message":"threw ReferenceError: EditContext is not defined"},{"name":"api.EditContext.attachedElements","info":{"code":"\"EditContext\" in self && \"attachedElements\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.characterBounds","info":{"code":"\"EditContext\" in self && \"characterBounds\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.characterBoundsRangeStart","info":{"code":"\"EditContext\" in self && \"characterBoundsRangeStart\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.selectionEnd","info":{"code":"\"EditContext\" in self && \"selectionEnd\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.selectionStart","info":{"code":"\"EditContext\" in self && \"selectionStart\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.text","info":{"code":"\"EditContext\" in self && \"text\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.updateCharacterBounds","info":{"code":"\"EditContext\" in self && \"updateCharacterBounds\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.updateControlBounds","info":{"code":"\"EditContext\" in self && \"updateControlBounds\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.updateSelection","info":{"code":"\"EditContext\" in self && \"updateSelection\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.updateSelectionBounds","info":{"code":"\"EditContext\" in self && \"updateSelectionBounds\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.EditContext.updateText","info":{"code":"\"EditContext\" in self && \"updateText\" in EditContext.prototype","exposure":"Window"},"result":false},{"name":"api.Element","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.activeViewTransition","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"activeViewTransition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.after","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"after\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return !!instance && \"animate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_composite_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"composite\", \"replace\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_id_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"id\", \"\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_iterationComposite_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"iterationComposite\", \"\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_pseudoElement_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"pseudoElement\", \"\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_rangeEnd_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"rangeEnd\", \"normal\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_rangeStart_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"rangeStart\", \"normal\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.animate.options_timeline_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.animate)) {\n    return { result: false, message: \"instance.animate is not defined\" };\n  }\n  function animate(options) {\n    instance.animate(\n      [\n        { transform: \"rotate(0) scale(1)\" },\n        { transform: \"rotate(360deg) scale(0)\" }\n      ],\n      options\n    );\n  }\n  return bcd.testOptionParam(animate, null, \"timeline\", document.timeline);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.append","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"append\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaActiveDescendantElement","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaActiveDescendantElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaAtomic","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaAtomic\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaAutoComplete","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaAutoComplete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaBrailleLabel","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaBrailleLabel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaBrailleRoleDescription","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaBrailleRoleDescription\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaBusy","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaBusy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaChecked","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaChecked\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaColCount","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaColCount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaColIndex","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaColIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaColIndexText","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaColIndexText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaColSpan","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaColSpan\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaControlsElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaControlsElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaCurrent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaCurrent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaDescribedByElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaDescribedByElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaDescription","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaDescription\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaDetailsElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaDetailsElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaDisabled","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaDisabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaErrorMessageElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaErrorMessageElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaExpanded","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaExpanded\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaFlowToElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaFlowToElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaHasPopup","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaHasPopup\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaHidden","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaHidden\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaInvalid","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaInvalid\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaKeyShortcuts","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaKeyShortcuts\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaLabel","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaLabel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaLabelledByElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaLabelledByElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaLevel","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaLevel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaLive","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaLive\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaModal","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaModal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaMultiLine","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaMultiLine\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaMultiSelectable","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaMultiSelectable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaOrientation","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaOrientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaOwnsElements","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaOwnsElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaPlaceholder","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaPlaceholder\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaPosInSet","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaPosInSet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaPressed","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaPressed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaReadOnly","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaReadOnly\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRelevant","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRelevant\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRequired","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRequired\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRoleDescription","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRoleDescription\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRowCount","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRowCount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRowIndex","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRowIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRowIndexText","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRowIndexText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaRowSpan","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaRowSpan\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaSelected","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaSelected\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaSetSize","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaSetSize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaSort","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaSort\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaValueMax","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaValueMax\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaValueMin","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaValueMin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaValueNow","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaValueNow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.ariaValueText","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"ariaValueText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.assignedSlot","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"assignedSlot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.attachShadow","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"attachShadow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.attachShadow.options_clonable_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  } // Only specific elements may have shadows attached -- see\n  // https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow#elements_you_can_attach_a_shadow_to\n  var el = document.createElement(\"main\");\n  return bcd.testOptionParam(el, \"attachShadow\", \"clonable\", true, {\n    mode: \"open\"\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.attachShadow.options_delegatesFocus_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  } // Only specific elements may have shadows attached -- see\n  // https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow#elements_you_can_attach_a_shadow_to\n  var el = document.createElement(\"main\");\n  return bcd.testOptionParam(el, \"attachShadow\", \"delegatesFocus\", true, {\n    mode: \"open\"\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.attachShadow.options_serializable_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  } // Only specific elements may have shadows attached -- see\n  // https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow#elements_you_can_attach_a_shadow_to\n  var el = document.createElement(\"main\");\n  return bcd.testOptionParam(el, \"attachShadow\", \"serializable\", true, {\n    mode: \"open\"\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.attributes","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"attributes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.before","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"before\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.checkVisibility","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"checkVisibility\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.checkVisibility.options_checkOpacity_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"checkVisibility\", \"checkOpacity\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.checkVisibility.options_checkVisibilityCSS_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(\n    instance,\n    \"checkVisibility\",\n    \"checkVisibilityCSS\",\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.checkVisibility.options_contentVisibilityAuto_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(\n    instance,\n    \"checkVisibility\",\n    \"contentVisibilityAuto\",\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.checkVisibility.options_opacityProperty_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(\n    instance,\n    \"checkVisibility\",\n    \"opacityProperty\",\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.checkVisibility.options_visibilityProperty_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(\n    instance,\n    \"checkVisibility\",\n    \"visibilityProperty\",\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.childElementCount","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"childElementCount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.children","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"children\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.classList","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"classList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.className","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"className\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.clientHeight","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"clientHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.clientLeft","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"clientLeft\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.clientTop","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"clientTop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.clientWidth","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"clientWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.closest","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"closest\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.computedStyleMap","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"computedStyleMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.convertPointFromNode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"convertPointFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.convertQuadFromNode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"convertQuadFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.convertRectFromNode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"convertRectFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.currentCSSZoom","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"currentCSSZoom\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.customElementRegistry","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"customElementRegistry\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.elementTiming","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"elementTiming\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.firstElementChild","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"firstElementChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.focusableAreas","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"focusableAreas\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getAnimations","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getAnimations\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getAttribute","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getAttribute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getAttributeNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getAttributeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getAttributeNames","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getAttributeNames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getAttributeNode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getAttributeNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getAttributeNodeNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getAttributeNodeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getBoundingClientRect","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getBoundingClientRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getBoxQuads","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getBoxQuads\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getClientRects","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getClientRects\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getElementsByClassName","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getElementsByClassName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getElementsByTagName","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getElementsByTagName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getElementsByTagName.all_elements_selector","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.getElementsByTagName)) {\n    return {\n      result: false,\n      message: \"instance.getElementsByTagName is not defined\"\n    };\n  }\n  instance.append(document.createElement(\"p\"));\n  return instance.getElementsByTagName(\"*\").length > 0;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getElementsByTagNameNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getElementsByTagNameNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getElementsByTagNameNS.all_elements_selector","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.getElementsByTagNameNS)) {\n    return {\n      result: false,\n      message: \"instance.getElementsByTagNameNS is not defined\"\n    };\n  }\n  instance.append(document.createElement(\"p\"));\n  return (\n    instance.getElementsByTagNameNS(\"http://www.w3.org/1999/xhtml\", \"*\")\n      .length > 0\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getHTML","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getRegionFlowRanges","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getRegionFlowRanges\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.getSpatialNavigationContainer","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"getSpatialNavigationContainer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.hasAttribute","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"hasAttribute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.hasAttributeNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"hasAttributeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.hasAttributes","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"hasAttributes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.hasPointerCapture","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"hasPointerCapture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.id","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.innerHTML","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"innerHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.insertAdjacentElement","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"insertAdjacentElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.insertAdjacentHTML","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"insertAdjacentHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.insertAdjacentText","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"insertAdjacentText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.lastElementChild","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"lastElementChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.localName","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"localName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.matches","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"matches\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.moveBefore","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"moveBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.namespaceURI","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"namespaceURI\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.nextElementSibling","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"nextElementSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.outerHTML","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"outerHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.part","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"part\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.prefix","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"prefix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.prepend","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"prepend\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.previousElementSibling","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"previousElementSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.pseudo","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"pseudo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.querySelector","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"querySelector\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.querySelectorAll","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"querySelectorAll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.regionOverset","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"regionOverset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.releasePointerCapture","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"releasePointerCapture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.remove","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"remove\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.removeAttribute","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"removeAttribute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.removeAttributeNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"removeAttributeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.removeAttributeNode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"removeAttributeNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.replaceChildren","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"replaceChildren\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.replaceWith","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"replaceWith\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.requestFullscreen","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"requestFullscreen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.requestFullscreen.returns_promise","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  if (!(instance && instance.requestFullscreen)) {\n    return {\n      result: false,\n      message: \"instance.requestFullscreen is not defined\"\n    };\n  }\n  var value = instance.requestFullscreen();\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.requestPointerLock","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"requestPointerLock\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.requestPointerLock.options_unadjustedMovement_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(\n    instance,\n    \"requestFullscreen\",\n    \"unadjustedMovement\",\n    false\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.role","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"role\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scroll","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scroll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scroll.options_behavior_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scroll\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scroll.options_left_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scroll\", \"left\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scroll.options_top_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scroll\", \"top\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollBy","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollBy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollBy.options_behavior_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollBy\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollBy.options_left_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollBy\", \"left\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollBy.options_top_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollBy\", \"top\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollHeight","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollIntoView","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollIntoView\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollIntoView.options_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollIntoView\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollIntoViewIfNeeded","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollIntoViewIfNeeded\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollLeft","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollLeft\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollLeftMax","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollLeftMax\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollTo","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollTo.options_behavior_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollTo\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollTo.options_left_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollTo\", \"left\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollTo.options_top_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return bcd.testOptionParam(instance, \"scrollTo\", \"top\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollTop","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollTop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollTopMax","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollTopMax\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.scrollWidth","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"scrollWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setAttribute","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setAttribute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setAttributeNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setAttributeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setAttributeNode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setAttributeNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setAttributeNodeNS","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setAttributeNodeNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setCapture","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setCapture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setHTML","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setHTMLUnsafe","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setHTMLUnsafe\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.setPointerCapture","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"setPointerCapture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.shadowRoot","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"shadowRoot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.slot","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"slot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.spatialNavigationSearch","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"spatialNavigationSearch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.startViewTransition","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"startViewTransition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.tagName","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"tagName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Element.toggleAttribute","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    instance = document.createElement(\"b\");\n  }\n  return !!instance && \"toggleAttribute\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ElementInternals","info":{"code":"\"ElementInternals\" in self","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaActiveDescendantElement","info":{"code":"\"ElementInternals\" in self && \"ariaActiveDescendantElement\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaAtomic","info":{"code":"\"ElementInternals\" in self && \"ariaAtomic\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaAutoComplete","info":{"code":"\"ElementInternals\" in self && \"ariaAutoComplete\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaBrailleLabel","info":{"code":"\"ElementInternals\" in self && \"ariaBrailleLabel\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaBrailleRoleDescription","info":{"code":"\"ElementInternals\" in self && \"ariaBrailleRoleDescription\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaBusy","info":{"code":"\"ElementInternals\" in self && \"ariaBusy\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaChecked","info":{"code":"\"ElementInternals\" in self && \"ariaChecked\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaColCount","info":{"code":"\"ElementInternals\" in self && \"ariaColCount\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaColIndex","info":{"code":"\"ElementInternals\" in self && \"ariaColIndex\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaColIndexText","info":{"code":"\"ElementInternals\" in self && \"ariaColIndexText\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaColSpan","info":{"code":"\"ElementInternals\" in self && \"ariaColSpan\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaControlsElements","info":{"code":"\"ElementInternals\" in self && \"ariaControlsElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaCurrent","info":{"code":"\"ElementInternals\" in self && \"ariaCurrent\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaDescribedByElements","info":{"code":"\"ElementInternals\" in self && \"ariaDescribedByElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaDescription","info":{"code":"\"ElementInternals\" in self && \"ariaDescription\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaDetailsElements","info":{"code":"\"ElementInternals\" in self && \"ariaDetailsElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaDisabled","info":{"code":"\"ElementInternals\" in self && \"ariaDisabled\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaErrorMessageElements","info":{"code":"\"ElementInternals\" in self && \"ariaErrorMessageElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaExpanded","info":{"code":"\"ElementInternals\" in self && \"ariaExpanded\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaFlowToElements","info":{"code":"\"ElementInternals\" in self && \"ariaFlowToElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaHasPopup","info":{"code":"\"ElementInternals\" in self && \"ariaHasPopup\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaHidden","info":{"code":"\"ElementInternals\" in self && \"ariaHidden\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaInvalid","info":{"code":"\"ElementInternals\" in self && \"ariaInvalid\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaKeyShortcuts","info":{"code":"\"ElementInternals\" in self && \"ariaKeyShortcuts\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaLabel","info":{"code":"\"ElementInternals\" in self && \"ariaLabel\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaLabelledByElements","info":{"code":"\"ElementInternals\" in self && \"ariaLabelledByElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaLevel","info":{"code":"\"ElementInternals\" in self && \"ariaLevel\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaLive","info":{"code":"\"ElementInternals\" in self && \"ariaLive\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaModal","info":{"code":"\"ElementInternals\" in self && \"ariaModal\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaMultiLine","info":{"code":"\"ElementInternals\" in self && \"ariaMultiLine\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaMultiSelectable","info":{"code":"\"ElementInternals\" in self && \"ariaMultiSelectable\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaOrientation","info":{"code":"\"ElementInternals\" in self && \"ariaOrientation\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaOwnsElements","info":{"code":"\"ElementInternals\" in self && \"ariaOwnsElements\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaPlaceholder","info":{"code":"\"ElementInternals\" in self && \"ariaPlaceholder\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaPosInSet","info":{"code":"\"ElementInternals\" in self && \"ariaPosInSet\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaPressed","info":{"code":"\"ElementInternals\" in self && \"ariaPressed\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaReadOnly","info":{"code":"\"ElementInternals\" in self && \"ariaReadOnly\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRelevant","info":{"code":"\"ElementInternals\" in self && \"ariaRelevant\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRequired","info":{"code":"\"ElementInternals\" in self && \"ariaRequired\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRoleDescription","info":{"code":"\"ElementInternals\" in self && \"ariaRoleDescription\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRowCount","info":{"code":"\"ElementInternals\" in self && \"ariaRowCount\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRowIndex","info":{"code":"\"ElementInternals\" in self && \"ariaRowIndex\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRowIndexText","info":{"code":"\"ElementInternals\" in self && \"ariaRowIndexText\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaRowSpan","info":{"code":"\"ElementInternals\" in self && \"ariaRowSpan\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaSelected","info":{"code":"\"ElementInternals\" in self && \"ariaSelected\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaSetSize","info":{"code":"\"ElementInternals\" in self && \"ariaSetSize\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaSort","info":{"code":"\"ElementInternals\" in self && \"ariaSort\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaValueMax","info":{"code":"\"ElementInternals\" in self && \"ariaValueMax\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaValueMin","info":{"code":"\"ElementInternals\" in self && \"ariaValueMin\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaValueNow","info":{"code":"\"ElementInternals\" in self && \"ariaValueNow\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.ariaValueText","info":{"code":"\"ElementInternals\" in self && \"ariaValueText\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.checkValidity","info":{"code":"\"ElementInternals\" in self && \"checkValidity\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.form","info":{"code":"\"ElementInternals\" in self && \"form\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.labels","info":{"code":"\"ElementInternals\" in self && \"labels\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.reportValidity","info":{"code":"\"ElementInternals\" in self && \"reportValidity\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.role","info":{"code":"\"ElementInternals\" in self && \"role\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.setFormValue","info":{"code":"\"ElementInternals\" in self && \"setFormValue\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.setValidity","info":{"code":"\"ElementInternals\" in self && \"setValidity\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.shadowRoot","info":{"code":"\"ElementInternals\" in self && \"shadowRoot\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.states","info":{"code":"\"ElementInternals\" in self && \"states\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.validationMessage","info":{"code":"\"ElementInternals\" in self && \"validationMessage\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.validity","info":{"code":"\"ElementInternals\" in self && \"validity\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.ElementInternals.willValidate","info":{"code":"\"ElementInternals\" in self && \"willValidate\" in ElementInternals.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedAudioChunk","info":{"code":"\"EncodedAudioChunk\" in self","exposure":"Window"},"result":false},{"name":"api.EncodedAudioChunk.EncodedAudioChunk","info":{"code":"bcd.testConstructor('EncodedAudioChunk')","exposure":"Window"},"result":false,"message":"threw ReferenceError: EncodedAudioChunk is not defined"},{"name":"api.EncodedAudioChunk.byteLength","info":{"code":"\"EncodedAudioChunk\" in self && \"byteLength\" in EncodedAudioChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedAudioChunk.copyTo","info":{"code":"\"EncodedAudioChunk\" in self && \"copyTo\" in EncodedAudioChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedAudioChunk.duration","info":{"code":"\"EncodedAudioChunk\" in self && \"duration\" in EncodedAudioChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedAudioChunk.timestamp","info":{"code":"\"EncodedAudioChunk\" in self && \"timestamp\" in EncodedAudioChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedAudioChunk.type","info":{"code":"\"EncodedAudioChunk\" in self && \"type\" in EncodedAudioChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedVideoChunk","info":{"code":"\"EncodedVideoChunk\" in self","exposure":"Window"},"result":false},{"name":"api.EncodedVideoChunk.EncodedVideoChunk","info":{"code":"bcd.testConstructor('EncodedVideoChunk')","exposure":"Window"},"result":false,"message":"threw ReferenceError: EncodedVideoChunk is not defined"},{"name":"api.EncodedVideoChunk.byteLength","info":{"code":"\"EncodedVideoChunk\" in self && \"byteLength\" in EncodedVideoChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedVideoChunk.copyTo","info":{"code":"\"EncodedVideoChunk\" in self && \"copyTo\" in EncodedVideoChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedVideoChunk.duration","info":{"code":"\"EncodedVideoChunk\" in self && \"duration\" in EncodedVideoChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedVideoChunk.timestamp","info":{"code":"\"EncodedVideoChunk\" in self && \"timestamp\" in EncodedVideoChunk.prototype","exposure":"Window"},"result":false},{"name":"api.EncodedVideoChunk.type","info":{"code":"\"EncodedVideoChunk\" in self && \"type\" in EncodedVideoChunk.prototype","exposure":"Window"},"result":false},{"name":"api.ErrorEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ErrorEvent(\"error\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ErrorEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ErrorEvent.ErrorEvent","info":{"code":"bcd.testConstructor('ErrorEvent')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.ErrorEvent.colno","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ErrorEvent(\"error\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ErrorEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"colno\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ErrorEvent.error","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ErrorEvent(\"error\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ErrorEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ErrorEvent.filename","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ErrorEvent(\"error\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ErrorEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"filename\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ErrorEvent.lineno","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ErrorEvent(\"error\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ErrorEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"lineno\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ErrorEvent.message","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ErrorEvent(\"error\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ErrorEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"message\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.Event","info":{"code":"bcd.testConstructor('Event')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'Event': 1 argument required, but only 0 present."},{"name":"api.Event.bubbles","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"bubbles\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.cancelBubble","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"cancelBubble\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.cancelable","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"cancelable\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.composed","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"composed\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.composedPath","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"composedPath\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.currentTarget","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"currentTarget\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.defaultPrevented","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"defaultPrevented\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.eventPhase","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"eventPhase\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.explicitOriginalTarget","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"explicitOriginalTarget\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Event.initEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initEvent\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Event.isTrusted","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"isTrusted\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.originalTarget","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"originalTarget\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Event.preventDefault","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"preventDefault\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.returnValue","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"returnValue\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.srcElement","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"srcElement\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.stopImmediatePropagation","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"stopImmediatePropagation\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.stopPropagation","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"stopPropagation\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.target","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.timeStamp","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"timeStamp\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Event.type","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new Event(\"type\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"Event\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventCounts","info":{"code":"\"EventCounts\" in self","exposure":"Window"},"result":false},{"name":"api.EventCounts.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"EventCounts\" in self && !!(EventCounts.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.EventCounts.entries","info":{"code":"\"EventCounts\" in self && \"entries\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventCounts.forEach","info":{"code":"\"EventCounts\" in self && \"forEach\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventCounts.get","info":{"code":"\"EventCounts\" in self && \"get\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventCounts.has","info":{"code":"\"EventCounts\" in self && \"has\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventCounts.keys","info":{"code":"\"EventCounts\" in self && \"keys\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventCounts.size","info":{"code":"\"EventCounts\" in self && \"size\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventCounts.values","info":{"code":"\"EventCounts\" in self && \"values\" in EventCounts.prototype","exposure":"Window"},"result":false},{"name":"api.EventTarget","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.EventTarget","info":{"code":"bcd.testConstructor('EventTarget')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.EventTarget.addEventListener","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  return !!instance && \"addEventListener\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.addEventListener.options_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  return bcd.testOptionParam(addEventListener, null, \"capture\", true);\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.addEventListener.options_parameter.options_capture_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  return bcd.testOptionParam(addEventListener, null, \"capture\", true);\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.addEventListener.options_parameter.options_once_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  return bcd.testOptionParam(addEventListener, null, \"once\", true);\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.addEventListener.options_parameter.options_passive_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  return bcd.testOptionParam(addEventListener, null, \"passive\", true);\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.addEventListener.options_parameter.options_signal_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  if (!(\"AbortController\" in self)) {\n    return { result: false, message: \"AbortController is not defined\" };\n  }\n  var controller = new AbortController();\n  var signal = controller.signal;\n  return bcd.testOptionParam(addEventListener, null, \"signal\", signal);\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.addEventListener.useCapture_parameter_optional","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function addEventListener(options) {\n    instance.addEventListener(\"click\", function () {}, options);\n  }\n  try {\n    instance.addEventListener(\"click\", function () {});\n    return true;\n  } catch (e) {\n    if (e.name === \"TypeError\") {\n      return { result: false, message: \"useCapture parameter is required\" };\n    }\n    throw e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.dispatchEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  return !!instance && \"dispatchEvent\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.removeEventListener","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function removeEventListener(options) {\n    function eventListener() {}\n    instance.addEventListener(\"click\", eventListener, options);\n    instance.removeEventListener(\"click\", eventListener, options);\n  }\n  return !!instance && \"removeEventListener\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.removeEventListener.options_parameter","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function removeEventListener(options) {\n    function eventListener() {}\n    instance.addEventListener(\"click\", eventListener, options);\n    instance.removeEventListener(\"click\", eventListener, options);\n  }\n  return bcd.testOptionParam(removeEventListener, null, \"capture\", true);\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.removeEventListener.useCapture_parameter_optional","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  function removeEventListener(options) {\n    function eventListener() {}\n    instance.addEventListener(\"click\", eventListener, options);\n    instance.removeEventListener(\"click\", eventListener, options);\n  }\n  try {\n    function eventListener() {}\n    instance.addEventListener(\"click\", eventListener);\n    instance.removeEventListener(\"click\", eventListener);\n    return true;\n  } catch (e) {\n    if (e.name === \"TypeError\") {\n      return { result: false, message: \"useCapture parameter is required\" };\n    }\n    throw e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.EventTarget.when","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new EventTarget();\n  } catch (e) {\n    // XXX Determine a way to get an event target in worker contexts if EventTarget() isn't a constructor\n    var el;\n    try {\n      el = document.createElementNS(\"\", \"el\");\n    } catch (e) {\n      el = document.createElement(\"b\");\n    }\n    if (!el) {\n      return { result: false, message: \"el is falsy\" };\n    }\n    instance = el;\n  }\n  return !!instance && \"when\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.External","info":{"code":"(function () {\n  var instance = window.external;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.External.AddSearchProvider","info":{"code":"(function () {\n  var instance = window.external;\n  return !!instance && \"AddSearchProvider\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.External.IsSearchProviderInstalled","info":{"code":"(function () {\n  var instance = window.external;\n  return !!instance && \"IsSearchProviderInstalled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.EyeDropper","info":{"code":"\"EyeDropper\" in self","exposure":"Window"},"result":false},{"name":"api.EyeDropper.EyeDropper","info":{"code":"bcd.testConstructor('EyeDropper')","exposure":"Window"},"result":false,"message":"threw ReferenceError: EyeDropper is not defined"},{"name":"api.EyeDropper.open","info":{"code":"\"EyeDropper\" in self && \"open\" in EyeDropper.prototype","exposure":"Window"},"result":false},{"name":"api.FaceDetector","info":{"code":"\"FaceDetector\" in self","exposure":"Window"},"result":false},{"name":"api.FaceDetector.FaceDetector","info":{"code":"bcd.testConstructor('FaceDetector')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FaceDetector is not defined"},{"name":"api.FaceDetector.detect","info":{"code":"\"FaceDetector\" in self && \"detect\" in FaceDetector.prototype","exposure":"Window"},"result":false},{"name":"api.FeaturePolicy","info":{"code":"(function () {\n  var instance = document.featurePolicy;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.FeaturePolicy.allowedFeatures","info":{"code":"(function () {\n  var instance = document.featurePolicy;\n  return !!instance && \"allowedFeatures\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.FeaturePolicy.allowsFeature","info":{"code":"(function () {\n  var instance = document.featurePolicy;\n  return !!instance && \"allowsFeature\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.FeaturePolicy.features","info":{"code":"(function () {\n  var instance = document.featurePolicy;\n  return !!instance && \"features\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.FeaturePolicy.getAllowlistForFeature","info":{"code":"(function () {\n  var instance = document.featurePolicy;\n  return !!instance && \"getAllowlistForFeature\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.FederatedCredential","info":{"code":"\"FederatedCredential\" in self","exposure":"Window"},"result":false},{"name":"api.FederatedCredential.FederatedCredential","info":{"code":"bcd.testConstructor('FederatedCredential')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FederatedCredential is not defined"},{"name":"api.FederatedCredential.iconURL","info":{"code":"\"FederatedCredential\" in self && \"iconURL\" in FederatedCredential.prototype","exposure":"Window"},"result":false},{"name":"api.FederatedCredential.name","info":{"code":"\"FederatedCredential\" in self && \"name\" in FederatedCredential.prototype","exposure":"Window"},"result":false},{"name":"api.FederatedCredential.protocol","info":{"code":"\"FederatedCredential\" in self && \"protocol\" in FederatedCredential.prototype","exposure":"Window"},"result":false},{"name":"api.FederatedCredential.provider","info":{"code":"\"FederatedCredential\" in self && \"provider\" in FederatedCredential.prototype","exposure":"Window"},"result":false},{"name":"api.Fence","info":{"code":"\"Fence\" in self","exposure":"Window"},"result":false},{"name":"api.Fence.disableUntrustedNetwork","info":{"code":"\"Fence\" in self && \"disableUntrustedNetwork\" in Fence.prototype","exposure":"Window"},"result":false},{"name":"api.Fence.getNestedConfigs","info":{"code":"\"Fence\" in self && \"getNestedConfigs\" in Fence.prototype","exposure":"Window"},"result":false},{"name":"api.Fence.notifyEvent","info":{"code":"\"Fence\" in self && \"notifyEvent\" in Fence.prototype","exposure":"Window"},"result":false},{"name":"api.Fence.reportEvent","info":{"code":"\"Fence\" in self && \"reportEvent\" in Fence.prototype","exposure":"Window"},"result":false},{"name":"api.Fence.setReportEventDataForAutomaticBeacons","info":{"code":"\"Fence\" in self && \"setReportEventDataForAutomaticBeacons\" in Fence.prototype","exposure":"Window"},"result":false},{"name":"api.FencedFrameConfig","info":{"code":"\"FencedFrameConfig\" in self","exposure":"Window"},"result":false},{"name":"api.FencedFrameConfig.FencedFrameConfig","info":{"code":"bcd.testConstructor('FencedFrameConfig')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FencedFrameConfig is not defined"},{"name":"api.FencedFrameConfig.setSharedStorageContext","info":{"code":"\"FencedFrameConfig\" in self && \"setSharedStorageContext\" in FencedFrameConfig.prototype","exposure":"Window"},"result":false},{"name":"api.FetchLaterResult","info":{"code":"\"FetchLaterResult\" in self","exposure":"Window"},"result":false},{"name":"api.FetchLaterResult.activated","info":{"code":"\"FetchLaterResult\" in self && \"activated\" in FetchLaterResult.prototype","exposure":"Window"},"result":false},{"name":"api.File","info":{"code":"\"File\" in self","exposure":"Window"},"result":false},{"name":"api.File.File","info":{"code":"bcd.testConstructor('File')","exposure":"Window"},"result":false,"message":"threw ReferenceError: File is not defined"},{"name":"api.File.lastModified","info":{"code":"\"File\" in self && \"lastModified\" in File.prototype","exposure":"Window"},"result":false},{"name":"api.File.lastModifiedDate","info":{"code":"\"File\" in self && \"lastModifiedDate\" in File.prototype","exposure":"Window"},"result":false},{"name":"api.File.name","info":{"code":"\"File\" in self && \"name\" in File.prototype","exposure":"Window"},"result":false},{"name":"api.File.webkitRelativePath","info":{"code":"\"File\" in self && \"webkitRelativePath\" in File.prototype","exposure":"Window"},"result":false},{"name":"api.FileList","info":{"code":"\"FileList\" in self","exposure":"Window"},"result":false},{"name":"api.FileList.item","info":{"code":"\"FileList\" in self && \"item\" in FileList.prototype","exposure":"Window"},"result":false},{"name":"api.FileList.length","info":{"code":"\"FileList\" in self && \"length\" in FileList.prototype","exposure":"Window"},"result":false},{"name":"api.FileReader","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.FileReader","info":{"code":"bcd.testConstructor('FileReader')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.abort","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"abort\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.error","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.readAsArrayBuffer","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"readAsArrayBuffer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.readAsBinaryString","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"readAsBinaryString\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.readAsDataURL","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"readAsDataURL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.readAsText","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"readAsText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.readyState","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileReader.result","info":{"code":"(function () {\n  var instance = new FileReader();\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: FileReader is not defined"},{"name":"api.FileSystem","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      callback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystem.name","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      callback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function callback(instance) {\n    try {\n      success(!!instance && \"name\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystem.root","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      callback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function callback(instance) {\n    try {\n      success(!!instance && \"root\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryEntry","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryEntry.createReader","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"createReader\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryEntry.getDirectory","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"getDirectory\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryEntry.getFile","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"getFile\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryEntry.removeRecursively","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"removeRecursively\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryHandle","info":{"code":"\"FileSystemDirectoryHandle\" in self","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.@@asyncIterator","info":{"code":"\"Symbol\" in self && \"asyncIterator\" in Symbol && \"FileSystemDirectoryHandle\" in self && !!(FileSystemDirectoryHandle.prototype[Symbol.asyncIterator])","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.entries","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"entries\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.getDirectoryHandle","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"getDirectoryHandle\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.getFileHandle","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"getFileHandle\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.keys","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"keys\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.removeEntry","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"removeEntry\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.resolve","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"resolve\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryHandle.values","info":{"code":"\"FileSystemDirectoryHandle\" in self && \"values\" in FileSystemDirectoryHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemDirectoryReader","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    dirCallback(fs.root);\n  }\n  function dirCallback(dir) {\n    callback(dir.createReader());\n  }\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemDirectoryReader.readEntries","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    dirCallback(fs.root);\n  }\n  function dirCallback(dir) {\n    callback(dir.createReader());\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"readEntries\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.copyTo","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"copyTo\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.filesystem","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"filesystem\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.fullPath","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"fullPath\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.getMetadata","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"getMetadata\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.getParent","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"getParent\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.isDirectory","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"isDirectory\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.isFile","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"isFile\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.moveTo","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"moveTo\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.name","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"name\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.remove","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"remove\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemEntry.toURL","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    callback(fs.root);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"toURL\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemFileEntry","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    fs.root.getFile(\n      \"foo.txt\",\n      { create: true },\n      function (file) {\n        callback(file);\n      },\n      function (event) {\n        fail(event.message);\n      }\n    );\n  }\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemFileEntry.createWriter","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    fs.root.getFile(\n      \"foo.txt\",\n      { create: true },\n      function (file) {\n        callback(file);\n      },\n      function (event) {\n        fail(event.message);\n      }\n    );\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"createWriter\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemFileEntry.file","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    fs.root.getFile(\n      \"foo.txt\",\n      { create: true },\n      function (file) {\n        callback(file);\n      },\n      function (event) {\n        fail(event.message);\n      }\n    );\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"file\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.FileSystemFileHandle","info":{"code":"\"FileSystemFileHandle\" in self","exposure":"Window"},"result":false},{"name":"api.FileSystemFileHandle.createSyncAccessHandle","info":{"code":"\"FileSystemFileHandle\" in self && \"createSyncAccessHandle\" in FileSystemFileHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemFileHandle.createWritable","info":{"code":"\"FileSystemFileHandle\" in self && \"createWritable\" in FileSystemFileHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemFileHandle.getFile","info":{"code":"\"FileSystemFileHandle\" in self && \"getFile\" in FileSystemFileHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle","info":{"code":"\"FileSystemHandle\" in self","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.isSameEntry","info":{"code":"\"FileSystemHandle\" in self && \"isSameEntry\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.kind","info":{"code":"\"FileSystemHandle\" in self && \"kind\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.move","info":{"code":"\"FileSystemHandle\" in self && \"move\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.name","info":{"code":"\"FileSystemHandle\" in self && \"name\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.queryPermission","info":{"code":"\"FileSystemHandle\" in self && \"queryPermission\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.remove","info":{"code":"\"FileSystemHandle\" in self && \"remove\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemHandle.requestPermission","info":{"code":"\"FileSystemHandle\" in self && \"requestPermission\" in FileSystemHandle.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemObserver","info":{"code":"\"FileSystemObserver\" in self","exposure":"Window"},"result":false},{"name":"api.FileSystemObserver.FileSystemObserver","info":{"code":"bcd.testConstructor('FileSystemObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FileSystemObserver is not defined"},{"name":"api.FileSystemObserver.disconnect","info":{"code":"\"FileSystemObserver\" in self && \"disconnect\" in FileSystemObserver.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemObserver.observe","info":{"code":"\"FileSystemObserver\" in self && \"observe\" in FileSystemObserver.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemObserver.unobserve","info":{"code":"\"FileSystemObserver\" in self && \"unobserve\" in FileSystemObserver.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemWritableFileStream","info":{"code":"\"FileSystemWritableFileStream\" in self","exposure":"Window"},"result":false},{"name":"api.FileSystemWritableFileStream.seek","info":{"code":"\"FileSystemWritableFileStream\" in self && \"seek\" in FileSystemWritableFileStream.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemWritableFileStream.truncate","info":{"code":"\"FileSystemWritableFileStream\" in self && \"truncate\" in FileSystemWritableFileStream.prototype","exposure":"Window"},"result":false},{"name":"api.FileSystemWritableFileStream.write","info":{"code":"\"FileSystemWritableFileStream\" in self && \"write\" in FileSystemWritableFileStream.prototype","exposure":"Window"},"result":false},{"name":"api.FocusEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new FocusEvent(\"focus\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"FocusEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.FocusEvent.FocusEvent","info":{"code":"bcd.testConstructor('FocusEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FocusEvent is not defined"},{"name":"api.FocusEvent.relatedTarget","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new FocusEvent(\"focus\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"FocusEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"relatedTarget\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Font","info":{"code":"\"Font\" in self","exposure":"Window"},"result":false},{"name":"api.Font.glyphsRendered","info":{"code":"\"Font\" in self && \"glyphsRendered\" in Font.prototype","exposure":"Window"},"result":false},{"name":"api.Font.name","info":{"code":"\"Font\" in self && \"name\" in Font.prototype","exposure":"Window"},"result":false},{"name":"api.FontData","info":{"code":"\"FontData\" in self","exposure":"Window"},"result":false},{"name":"api.FontData.blob","info":{"code":"\"FontData\" in self && \"blob\" in FontData.prototype","exposure":"Window"},"result":false},{"name":"api.FontData.family","info":{"code":"\"FontData\" in self && \"family\" in FontData.prototype","exposure":"Window"},"result":false},{"name":"api.FontData.fullName","info":{"code":"\"FontData\" in self && \"fullName\" in FontData.prototype","exposure":"Window"},"result":false},{"name":"api.FontData.postscriptName","info":{"code":"\"FontData\" in self && \"postscriptName\" in FontData.prototype","exposure":"Window"},"result":false},{"name":"api.FontData.style","info":{"code":"\"FontData\" in self && \"style\" in FontData.prototype","exposure":"Window"},"result":false},{"name":"api.FontFace","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.FontFace","info":{"code":"bcd.testConstructor('FontFace')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FontFace is not defined"},{"name":"api.FontFace.ascentOverride","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"ascentOverride\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.descentOverride","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"descentOverride\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.display","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"display\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.family","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"family\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.featureSettings","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"featureSettings\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.features","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"features\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.lineGapOverride","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"lineGapOverride\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.load","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"load\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.loaded","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"loaded\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.palettes","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"palettes\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.status","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"status\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.stretch","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"stretch\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.style","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.unicodeRange","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"unicodeRange\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.variant","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"variant\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.variationSettings","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"variationSettings\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.variations","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"variations\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFace.weight","info":{"code":"(function () {\n  if (!(\"FontFace\" in self)) {\n    return { result: false, message: \"FontFace is not defined\" };\n  }\n  var instance = new FontFace(\n    \"Material Design Icons\",\n    \"url(/fonts/materialdesignicons-webfont.woff)\",\n    {}\n  );\n  return !!instance && \"weight\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFace is not defined"},{"name":"api.FontFaceFeatures","info":{"code":"\"FontFaceFeatures\" in self","exposure":"Window"},"result":false},{"name":"api.FontFacePalette","info":{"code":"\"FontFacePalette\" in self","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"FontFacePalette\" in self && !!(FontFacePalette.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.entries","info":{"code":"\"FontFacePalette\" in self && \"entries\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.forEach","info":{"code":"\"FontFacePalette\" in self && \"forEach\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.keys","info":{"code":"\"FontFacePalette\" in self && \"keys\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.length","info":{"code":"\"FontFacePalette\" in self && \"length\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.usableWithDarkBackground","info":{"code":"\"FontFacePalette\" in self && \"usableWithDarkBackground\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.usableWithLightBackground","info":{"code":"\"FontFacePalette\" in self && \"usableWithLightBackground\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalette.values","info":{"code":"\"FontFacePalette\" in self && \"values\" in FontFacePalette.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes","info":{"code":"\"FontFacePalettes\" in self","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"FontFacePalettes\" in self && !!(FontFacePalettes.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes.entries","info":{"code":"\"FontFacePalettes\" in self && \"entries\" in FontFacePalettes.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes.forEach","info":{"code":"\"FontFacePalettes\" in self && \"forEach\" in FontFacePalettes.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes.keys","info":{"code":"\"FontFacePalettes\" in self && \"keys\" in FontFacePalettes.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes.length","info":{"code":"\"FontFacePalettes\" in self && \"length\" in FontFacePalettes.prototype","exposure":"Window"},"result":false},{"name":"api.FontFacePalettes.values","info":{"code":"\"FontFacePalettes\" in self && \"values\" in FontFacePalettes.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceSet","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.@@iterator","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.FontFaceSet","info":{"code":"bcd.testConstructor('FontFaceSet')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FontFaceSet is not defined"},{"name":"api.FontFaceSet.add","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"add\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.check","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"check\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.clear","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.delete","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"delete\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.entries","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.forEach","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.has","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"has\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.keys","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.load","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"load\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.ready","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"ready\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.size","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.status","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"status\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSet.values","info":{"code":"(function () {\n  var instance;\n  if (\"document\" in self) {\n    instance = document.fonts;\n  } else {\n    instance = self.fonts;\n  }\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.FontFaceSetLoadEvent","info":{"code":"(function () {\n  if (!(\"FontFaceSetLoadEvent\" in self)) {\n    return { result: false, message: \"FontFaceSetLoadEvent is not defined\" };\n  }\n  var instance = new FontFaceSetLoadEvent(\"loading\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFaceSetLoadEvent is not defined"},{"name":"api.FontFaceSetLoadEvent.FontFaceSetLoadEvent","info":{"code":"bcd.testConstructor('FontFaceSetLoadEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FontFaceSetLoadEvent is not defined"},{"name":"api.FontFaceSetLoadEvent.fontfaces","info":{"code":"(function () {\n  if (!(\"FontFaceSetLoadEvent\" in self)) {\n    return { result: false, message: \"FontFaceSetLoadEvent is not defined\" };\n  }\n  var instance = new FontFaceSetLoadEvent(\"loading\");\n  return !!instance && \"fontfaces\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"FontFaceSetLoadEvent is not defined"},{"name":"api.FontFaceVariationAxis","info":{"code":"\"FontFaceVariationAxis\" in self","exposure":"Window"},"result":false},{"name":"api.FontFaceVariationAxis.axisTag","info":{"code":"\"FontFaceVariationAxis\" in self && \"axisTag\" in FontFaceVariationAxis.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariationAxis.defaultValue","info":{"code":"\"FontFaceVariationAxis\" in self && \"defaultValue\" in FontFaceVariationAxis.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariationAxis.maximumValue","info":{"code":"\"FontFaceVariationAxis\" in self && \"maximumValue\" in FontFaceVariationAxis.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariationAxis.minimumValue","info":{"code":"\"FontFaceVariationAxis\" in self && \"minimumValue\" in FontFaceVariationAxis.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariationAxis.name","info":{"code":"\"FontFaceVariationAxis\" in self && \"name\" in FontFaceVariationAxis.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations","info":{"code":"\"FontFaceVariations\" in self","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"FontFaceVariations\" in self && !!(FontFaceVariations.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.entries","info":{"code":"\"FontFaceVariations\" in self && \"entries\" in FontFaceVariations.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.forEach","info":{"code":"\"FontFaceVariations\" in self && \"forEach\" in FontFaceVariations.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.has","info":{"code":"\"FontFaceVariations\" in self && \"has\" in FontFaceVariations.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.keys","info":{"code":"\"FontFaceVariations\" in self && \"keys\" in FontFaceVariations.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.size","info":{"code":"\"FontFaceVariations\" in self && \"size\" in FontFaceVariations.prototype","exposure":"Window"},"result":false},{"name":"api.FontFaceVariations.values","info":{"code":"\"FontFaceVariations\" in self && \"values\" in FontFaceVariations.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics","info":{"code":"\"FontMetrics\" in self","exposure":"Window"},"result":false},{"name":"api.FontMetrics.advances","info":{"code":"\"FontMetrics\" in self && \"advances\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.baselines","info":{"code":"\"FontMetrics\" in self && \"baselines\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.boundingBoxAscent","info":{"code":"\"FontMetrics\" in self && \"boundingBoxAscent\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.boundingBoxDescent","info":{"code":"\"FontMetrics\" in self && \"boundingBoxDescent\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.boundingBoxLeft","info":{"code":"\"FontMetrics\" in self && \"boundingBoxLeft\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.boundingBoxRight","info":{"code":"\"FontMetrics\" in self && \"boundingBoxRight\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.dominantBaseline","info":{"code":"\"FontMetrics\" in self && \"dominantBaseline\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.emHeightAscent","info":{"code":"\"FontMetrics\" in self && \"emHeightAscent\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.emHeightDescent","info":{"code":"\"FontMetrics\" in self && \"emHeightDescent\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.fontBoundingBoxAscent","info":{"code":"\"FontMetrics\" in self && \"fontBoundingBoxAscent\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.fontBoundingBoxDescent","info":{"code":"\"FontMetrics\" in self && \"fontBoundingBoxDescent\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.fonts","info":{"code":"\"FontMetrics\" in self && \"fonts\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.height","info":{"code":"\"FontMetrics\" in self && \"height\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FontMetrics.width","info":{"code":"\"FontMetrics\" in self && \"width\" in FontMetrics.prototype","exposure":"Window"},"result":false},{"name":"api.FormData","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.@@iterator","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.FormData","info":{"code":"bcd.testConstructor('FormData')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.FormData.FormData.submitter","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  if (!(\"document\" in self)) {\n    return {\n      result: null,\n      message: \"Testing in workers is not yet implemented\"\n    };\n  }\n  var form = document.createElement(\"form\");\n  var btn = document.createElement(\"button\");\n  form.appendChild(btn);\n\n  function create(submitter) {\n    new FormData(form, submitter);\n  }\n\n  return bcd.testOptionParam(create, null, null, btn);\n})();\n","exposure":"Window"},"result":null,"message":"Testing in workers is not yet implemented"},{"name":"api.FormData.append","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"append\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.append.filename_parameter","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  var blob;\n  try {\n    blob = new Blob();\n  } catch (e) {\n    blob = new BlobBuilder();\n  }\n  if (!blob) {\n    return { result: false, message: \"blob is falsy\" };\n  }\n\n  if (!(\"get\" in instance)) {\n    return {\n      result: null,\n      message: \"This test has not yet been adapted for older browsers\"\n    };\n  }\n\n  instance.append(\"foo\", blob, \"bar.txt\");\n  var file = instance.get(\"foo\");\n  return file.name === \"bar.txt\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.delete","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"delete\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.entries","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.forEach","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.get","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.getAll","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"getAll\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.has","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"has\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.keys","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.set","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"set\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormData.values","info":{"code":"(function () {\n  if (!(\"FormData\" in self)) {\n    return { result: false, message: \"FormData is not defined\" };\n  }\n  var instance = new FormData();\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.FormDataEvent","info":{"code":"\"FormDataEvent\" in self","exposure":"Window"},"result":false},{"name":"api.FormDataEvent.FormDataEvent","info":{"code":"bcd.testConstructor('FormDataEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: FormDataEvent is not defined"},{"name":"api.FormDataEvent.formData","info":{"code":"\"FormDataEvent\" in self && \"formData\" in FormDataEvent.prototype","exposure":"Window"},"result":false},{"name":"api.FragmentDirective","info":{"code":"\"FragmentDirective\" in self","exposure":"Window"},"result":false},{"name":"api.GPU","info":{"code":"(function () {\n  var instance = navigator.gpu;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPU.getPreferredCanvasFormat","info":{"code":"(function () {\n  var instance = navigator.gpu;\n  return !!instance && \"getPreferredCanvasFormat\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPU.requestAdapter","info":{"code":"(function () {\n  var instance = navigator.gpu;\n  return !!instance && \"requestAdapter\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPU.wgslLanguageFeatures","info":{"code":"(function () {\n  var instance = navigator.gpu;\n  return !!instance && \"wgslLanguageFeatures\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.features","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"features\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.info","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"info\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.isFallbackAdapter","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"isFallbackAdapter\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.limits","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"limits\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.requestAdapterInfo","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"requestAdapterInfo\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.requestDevice","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"requestDevice\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapter.requestDevice.lost_device_on_duplicate","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var promise = gpu.requestAdapter();\n  return promise.then(function (adapter) {\n    return adapter.requestDevice().then(function (device1) {\n      bcd.addCleanup(function () {\n        device1.destroy();\n      });\n\n      return adapter.requestDevice().then(function (device2) {\n        bcd.addCleanup(function () {\n          device2.destroy();\n        });\n\n        return new Promise(function (resolve) {\n          var resolved = false;\n\n          // The GPUDevice.lost promise will only resolve when the device is lost\n          setTimeout(function () {\n            if (!resolved) {\n              resolve({\n                result: false,\n                message: \"GPUDevice.lost did not immediately resolve\"\n              });\n            }\n            resolved = true;\n          }, 1000);\n\n          device2.lost.then(function (info) {\n            if (!resolved) {\n              resolve({ result: true, message: info.message });\n            }\n            resolved = true;\n          });\n        });\n      });\n    });\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUAdapterInfo","info":{"code":"\"GPUAdapterInfo\" in self","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.architecture","info":{"code":"\"GPUAdapterInfo\" in self && \"architecture\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.description","info":{"code":"\"GPUAdapterInfo\" in self && \"description\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.device","info":{"code":"\"GPUAdapterInfo\" in self && \"device\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.isFallbackAdapter","info":{"code":"\"GPUAdapterInfo\" in self && \"isFallbackAdapter\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.subgroupMaxSize","info":{"code":"\"GPUAdapterInfo\" in self && \"subgroupMaxSize\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.subgroupMinSize","info":{"code":"\"GPUAdapterInfo\" in self && \"subgroupMinSize\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUAdapterInfo.vendor","info":{"code":"\"GPUAdapterInfo\" in self && \"vendor\" in GPUAdapterInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUBindGroup","info":{"code":"\"GPUBindGroup\" in self","exposure":"Window"},"result":false},{"name":"api.GPUBindGroup.label","info":{"code":"\"GPUBindGroup\" in self && \"label\" in GPUBindGroup.prototype","exposure":"Window"},"result":false},{"name":"api.GPUBindGroupLayout","info":{"code":"\"GPUBindGroupLayout\" in self","exposure":"Window"},"result":false},{"name":"api.GPUBindGroupLayout.label","info":{"code":"\"GPUBindGroupLayout\" in self && \"label\" in GPUBindGroupLayout.prototype","exposure":"Window"},"result":false},{"name":"api.GPUBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.destroy","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"destroy\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.getMappedRange","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"getMappedRange\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.mapAsync","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"mapAsync\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.mapState","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"mapState\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.size","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"size\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.unmap","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"unmap\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUBuffer.usage","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUBufferUsage\" in self)) {\n    return { result: false, message: \"GPUBufferUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createBuffer({\n      size: 1000,\n      usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"usage\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCanvasContext","info":{"code":"\"GPUCanvasContext\" in self","exposure":"Window"},"result":false},{"name":"api.GPUCanvasContext.canvas","info":{"code":"\"GPUCanvasContext\" in self && \"canvas\" in GPUCanvasContext.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCanvasContext.configure","info":{"code":"\"GPUCanvasContext\" in self && \"configure\" in GPUCanvasContext.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCanvasContext.getConfiguration","info":{"code":"\"GPUCanvasContext\" in self && \"getConfiguration\" in GPUCanvasContext.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCanvasContext.getCurrentTexture","info":{"code":"\"GPUCanvasContext\" in self && \"getCurrentTexture\" in GPUCanvasContext.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCanvasContext.unconfigure","info":{"code":"\"GPUCanvasContext\" in self && \"unconfigure\" in GPUCanvasContext.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCommandBuffer","info":{"code":"\"GPUCommandBuffer\" in self","exposure":"Window"},"result":false},{"name":"api.GPUCommandBuffer.label","info":{"code":"\"GPUCommandBuffer\" in self && \"label\" in GPUCommandBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCommandEncoder","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.beginComputePass","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"beginComputePass\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.beginRenderPass","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"beginRenderPass\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.clearBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"clearBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.copyBufferToBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"copyBufferToBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.copyBufferToTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"copyBufferToTexture\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.copyTextureToBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"copyTextureToBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.copyTextureToTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"copyTextureToTexture\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.finish","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"finish\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.insertDebugMarker","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"insertDebugMarker\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.popDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"popDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.pushDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"pushDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.resolveQuerySet","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"resolveQuerySet\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCommandEncoder.writeTimestamp","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"writeTimestamp\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUCompilationInfo","info":{"code":"\"GPUCompilationInfo\" in self","exposure":"Window"},"result":false},{"name":"api.GPUCompilationInfo.messages","info":{"code":"\"GPUCompilationInfo\" in self && \"messages\" in GPUCompilationInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage","info":{"code":"\"GPUCompilationMessage\" in self","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage.length","info":{"code":"\"GPUCompilationMessage\" in self && \"length\" in GPUCompilationMessage.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage.lineNum","info":{"code":"\"GPUCompilationMessage\" in self && \"lineNum\" in GPUCompilationMessage.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage.linePos","info":{"code":"\"GPUCompilationMessage\" in self && \"linePos\" in GPUCompilationMessage.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage.message","info":{"code":"\"GPUCompilationMessage\" in self && \"message\" in GPUCompilationMessage.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage.offset","info":{"code":"\"GPUCompilationMessage\" in self && \"offset\" in GPUCompilationMessage.prototype","exposure":"Window"},"result":false},{"name":"api.GPUCompilationMessage.type","info":{"code":"\"GPUCompilationMessage\" in self && \"type\" in GPUCompilationMessage.prototype","exposure":"Window"},"result":false},{"name":"api.GPUComputePassEncoder","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.dispatchWorkgroups","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"dispatchWorkgroups\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.dispatchWorkgroupsIndirect","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"dispatchWorkgroupsIndirect\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.end","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"end\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.insertDebugMarker","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"insertDebugMarker\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.popDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"popDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.pushDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"pushDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.setBindGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setBindGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.setPipeline","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setPipeline\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePassEncoder.writeTimestamp","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    var computePass = ce.beginComputePass();\n    bcd.addCleanup(function () {\n      computePass.end();\n    });\n    return computePass;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"writeTimestamp\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUComputePipeline","info":{"code":"\"GPUComputePipeline\" in self","exposure":"Window"},"result":false},{"name":"api.GPUComputePipeline.getBindGroupLayout","info":{"code":"\"GPUComputePipeline\" in self && \"getBindGroupLayout\" in GPUComputePipeline.prototype","exposure":"Window"},"result":false},{"name":"api.GPUComputePipeline.label","info":{"code":"\"GPUComputePipeline\" in self && \"label\" in GPUComputePipeline.prototype","exposure":"Window"},"result":false},{"name":"api.GPUDevice","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.adapterInfo","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"adapterInfo\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createBindGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createBindGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createBindGroupLayout","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createBindGroupLayout\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createCommandEncoder","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createCommandEncoder\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createComputePipeline","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createComputePipeline\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createComputePipelineAsync","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createComputePipelineAsync\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createPipelineLayout","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createPipelineLayout\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createQuerySet","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createQuerySet\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createRenderBundleEncoder","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createRenderBundleEncoder\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createRenderPipeline","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createRenderPipeline\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createRenderPipelineAsync","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createRenderPipelineAsync\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createSampler","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createSampler\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createShaderModule","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createShaderModule\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.createTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createTexture\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.destroy","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"destroy\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.features","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"features\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.importExternalTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"importExternalTexture\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.importExternalTexture.videoframe_source","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!(\"document\" in self)) {\n    // XXX Implement worker test\n    return {\n      result: null,\n      message: \"Testing in workers is not yet implemented\"\n    };\n  }\n\n  return promise.then(function (instance) {\n    if (!(\"importExternalTexture\" in instance)) {\n      return {\n        result: false,\n        message: \"GPUDevice.importExternalTexture is not defined\"\n      };\n    }\n\n    if (!(\"VideoFrame\" in self)) {\n      return { result: false, message: \"VideoFrame is not defined\" };\n    }\n\n    var img = document.getElementById(\"resource-image-black\");\n    var videoFrame = new VideoFrame(img, { timestamp: 0 });\n    bcd.addCleanup(function () {\n      videoFrame.close();\n    });\n\n    try {\n      instance.importExternalTexture({ source: videoFrame });\n      return true;\n    } catch (e) {\n      return { result: false, message: e.message };\n    }\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.limits","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"limits\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.lost","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"lost\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.popErrorScope","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"popErrorScope\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.pushErrorScope","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"pushErrorScope\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDevice.queue","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var promise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"queue\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUDeviceLostInfo","info":{"code":"\"GPUDeviceLostInfo\" in self","exposure":"Window"},"result":false},{"name":"api.GPUDeviceLostInfo.message","info":{"code":"\"GPUDeviceLostInfo\" in self && \"message\" in GPUDeviceLostInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUDeviceLostInfo.reason","info":{"code":"\"GPUDeviceLostInfo\" in self && \"reason\" in GPUDeviceLostInfo.prototype","exposure":"Window"},"result":false},{"name":"api.GPUError","info":{"code":"\"GPUError\" in self","exposure":"Window"},"result":false},{"name":"api.GPUError.message","info":{"code":"\"GPUError\" in self && \"message\" in GPUError.prototype","exposure":"Window"},"result":false},{"name":"api.GPUExternalTexture","info":{"code":"\"GPUExternalTexture\" in self","exposure":"Window"},"result":false},{"name":"api.GPUExternalTexture.label","info":{"code":"\"GPUExternalTexture\" in self && \"label\" in GPUExternalTexture.prototype","exposure":"Window"},"result":false},{"name":"api.GPUInternalError","info":{"code":"\"GPUInternalError\" in self","exposure":"Window"},"result":false},{"name":"api.GPUInternalError.GPUInternalError","info":{"code":"bcd.testConstructor('GPUInternalError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GPUInternalError is not defined"},{"name":"api.GPUOutOfMemoryError","info":{"code":"\"GPUOutOfMemoryError\" in self","exposure":"Window"},"result":false},{"name":"api.GPUOutOfMemoryError.GPUOutOfMemoryError","info":{"code":"bcd.testConstructor('GPUOutOfMemoryError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GPUOutOfMemoryError is not defined"},{"name":"api.GPUPipelineError","info":{"code":"\"GPUPipelineError\" in self","exposure":"Window"},"result":false},{"name":"api.GPUPipelineError.GPUPipelineError","info":{"code":"bcd.testConstructor('GPUPipelineError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GPUPipelineError is not defined"},{"name":"api.GPUPipelineError.GPUPipelineError.message_optional","info":{"code":"(function () {\n  try {\n    new GPUPipelineError(undefined, { reason: \"internal\" });\n    return { result: true, message: \"Constructor passed with no errors\" };\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"GPUPipelineError is not defined"},{"name":"api.GPUPipelineError.reason","info":{"code":"\"GPUPipelineError\" in self && \"reason\" in GPUPipelineError.prototype","exposure":"Window"},"result":false},{"name":"api.GPUPipelineLayout","info":{"code":"\"GPUPipelineLayout\" in self","exposure":"Window"},"result":false},{"name":"api.GPUPipelineLayout.label","info":{"code":"\"GPUPipelineLayout\" in self && \"label\" in GPUPipelineLayout.prototype","exposure":"Window"},"result":false},{"name":"api.GPUQuerySet","info":{"code":"\"GPUQuerySet\" in self","exposure":"Window"},"result":false},{"name":"api.GPUQuerySet.count","info":{"code":"\"GPUQuerySet\" in self && \"count\" in GPUQuerySet.prototype","exposure":"Window"},"result":false},{"name":"api.GPUQuerySet.destroy","info":{"code":"\"GPUQuerySet\" in self && \"destroy\" in GPUQuerySet.prototype","exposure":"Window"},"result":false},{"name":"api.GPUQuerySet.label","info":{"code":"\"GPUQuerySet\" in self && \"label\" in GPUQuerySet.prototype","exposure":"Window"},"result":false},{"name":"api.GPUQuerySet.type","info":{"code":"\"GPUQuerySet\" in self && \"type\" in GPUQuerySet.prototype","exposure":"Window"},"result":false},{"name":"api.GPUQueue","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.copyExternalImageToTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"copyExternalImageToTexture\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.copyExternalImageToTexture.videoframe_source","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!(\"document\" in self)) {\n    // XXX Implement worker test\n    return {\n      result: null,\n      message: \"Testing in workers is not yet implemented\"\n    };\n  }\n\n  return promise.then(function (instance) {\n    if (!(\"copyExternalImageToTexture\" in instance)) {\n      return {\n        result: false,\n        message: \"GPUQueue.copyExternalImageToTexture is not defined\"\n      };\n    }\n\n    // Create video frame\n    if (!(\"VideoFrame\" in self)) {\n      return { result: false, message: \"VideoFrame is not defined\" };\n    }\n    var img = document.getElementById(\"resource-image-black\");\n    var videoFrame = new VideoFrame(img, { timestamp: 0 });\n    bcd.addCleanup(function () {\n      videoFrame.close();\n    });\n\n    // Create destination texture\n    var cubeTexture = device.createTexture({\n      size: [videoFrame.displayWidth, videoFrame.displayHeight, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n\n    try {\n      instance.copyExternalImageToTexture(\n        { source: videoFrame },\n        { texture: cubeTexture },\n        [videoFrame.displayWidth, videoFrame.displayHeight]\n      );\n      return true;\n    } catch (e) {\n      return { result: false, message: e.message };\n    }\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.onSubmittedWorkDone","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"onSubmittedWorkDone\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.submit","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"submit\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.writeBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"writeBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUQueue.writeTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.queue;\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"writeTexture\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundle","info":{"code":"\"GPURenderBundle\" in self","exposure":"Window"},"result":false},{"name":"api.GPURenderBundle.label","info":{"code":"\"GPURenderBundle\" in self && \"label\" in GPURenderBundle.prototype","exposure":"Window"},"result":false},{"name":"api.GPURenderBundleEncoder","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.draw","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"draw\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.drawIndexed","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"drawIndexed\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.drawIndexedIndirect","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"drawIndexedIndirect\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.drawIndirect","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"drawIndirect\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.finish","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"finish\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.insertDebugMarker","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"insertDebugMarker\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.popDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"popDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.pushDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"pushDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.setBindGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setBindGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.setIndexBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setIndexBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.setPipeline","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setPipeline\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.setVertexBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setVertexBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderBundleEncoder.setVertexBuffer.unset_vertex_buffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var promise = devicePromise.then(function (d) {\n    device = d;\n    return d.createRenderBundleEncoder({\n      colorFormats: [\"depth16unorm\"]\n    });\n  });\n  return promise.then(function (passEncoder) {\n    var vec4Size = 4 * Float32Array.BYTES_PER_ELEMENT;\n    var vertexBuffer = device.createBuffer({\n      size: 2 * 3 * vec4Size,\n      usage: GPUBufferUsage.VERTEX,\n      mappedAtCreation: true\n    });\n\n    passEncoder.setVertexBuffer(0, vertexBuffer);\n\n    try {\n      passEncoder.setVertexBuffer(0, null);\n      return true;\n    } catch (e) {\n      return { result: false, message: e.message };\n    }\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.beginOcclusionQuery","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"beginOcclusionQuery\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.draw","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"draw\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.drawIndexed","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"drawIndexed\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.drawIndexedIndirect","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"drawIndexedIndirect\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.drawIndirect","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"drawIndirect\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.end","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"end\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.endOcclusionQuery","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"endOcclusionQuery\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.executeBundles","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"executeBundles\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.insertDebugMarker","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"insertDebugMarker\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.popDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"popDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.pushDebugGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"pushDebugGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setBindGroup","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setBindGroup\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setBlendConstant","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setBlendConstant\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setIndexBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setIndexBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setPipeline","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setPipeline\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setScissorRect","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setScissorRect\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setStencilReference","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setStencilReference\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setVertexBuffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setVertexBuffer\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setVertexBuffer.unset_vertex_buffer","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  return promise.then(function (passEncoder) {\n    var vec4Size = 4 * Float32Array.BYTES_PER_ELEMENT;\n    var vertexBuffer = device.createBuffer({\n      size: 2 * 3 * vec4Size,\n      usage: GPUBufferUsage.VERTEX,\n      mappedAtCreation: true\n    });\n\n    passEncoder.setVertexBuffer(0, vertexBuffer);\n\n    try {\n      passEncoder.setVertexBuffer(0, null);\n      return true;\n    } catch (e) {\n      return { result: false, message: e.message };\n    }\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.setViewport","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"setViewport\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPassEncoder.writeTimestamp","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var devicePromise = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!devicePromise) {\n    return { result: false, message: \"devicePromise is falsy\" };\n  }\n  var device;\n  var commandEncoder = devicePromise.then(function (d) {\n    device = d;\n    return d.createCommandEncoder();\n  });\n  if (!commandEncoder) {\n    return { result: false, message: \"commandEncoder is falsy\" };\n  }\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var texture = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!texture) {\n    return { result: false, message: \"texture is falsy\" };\n  }\n  var promise = commandEncoder.then(function (ce) {\n    return texture.then(function (txtr) {\n      var renderPassDescriptor = {\n        colorAttachments: [\n          {\n            clearValue: [0.0, 0.5, 1.0, 1.0],\n            loadOp: \"clear\",\n            storeOp: \"store\",\n            view: txtr.createView()\n          }\n        ]\n      };\n      var renderPass = ce.beginRenderPass(renderPassDescriptor);\n      bcd.addCleanup(function () {\n        renderPass.end();\n      });\n      return renderPass;\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"writeTimestamp\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPURenderPipeline","info":{"code":"\"GPURenderPipeline\" in self","exposure":"Window"},"result":false},{"name":"api.GPURenderPipeline.getBindGroupLayout","info":{"code":"\"GPURenderPipeline\" in self && \"getBindGroupLayout\" in GPURenderPipeline.prototype","exposure":"Window"},"result":false},{"name":"api.GPURenderPipeline.label","info":{"code":"\"GPURenderPipeline\" in self && \"label\" in GPURenderPipeline.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSampler","info":{"code":"\"GPUSampler\" in self","exposure":"Window"},"result":false},{"name":"api.GPUSampler.label","info":{"code":"\"GPUSampler\" in self && \"label\" in GPUSampler.prototype","exposure":"Window"},"result":false},{"name":"api.GPUShaderModule","info":{"code":"\"GPUShaderModule\" in self","exposure":"Window"},"result":false},{"name":"api.GPUShaderModule.getCompilationInfo","info":{"code":"\"GPUShaderModule\" in self && \"getCompilationInfo\" in GPUShaderModule.prototype","exposure":"Window"},"result":false},{"name":"api.GPUShaderModule.label","info":{"code":"\"GPUShaderModule\" in self && \"label\" in GPUShaderModule.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures","info":{"code":"\"GPUSupportedFeatures\" in self","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"GPUSupportedFeatures\" in self && !!(GPUSupportedFeatures.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.entries","info":{"code":"\"GPUSupportedFeatures\" in self && \"entries\" in GPUSupportedFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.forEach","info":{"code":"\"GPUSupportedFeatures\" in self && \"forEach\" in GPUSupportedFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.has","info":{"code":"\"GPUSupportedFeatures\" in self && \"has\" in GPUSupportedFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.keys","info":{"code":"\"GPUSupportedFeatures\" in self && \"keys\" in GPUSupportedFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.size","info":{"code":"\"GPUSupportedFeatures\" in self && \"size\" in GPUSupportedFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedFeatures.values","info":{"code":"\"GPUSupportedFeatures\" in self && \"values\" in GPUSupportedFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits","info":{"code":"\"GPUSupportedLimits\" in self","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxBindGroups","info":{"code":"\"GPUSupportedLimits\" in self && \"maxBindGroups\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxBindGroupsPlusVertexBuffers","info":{"code":"\"GPUSupportedLimits\" in self && \"maxBindGroupsPlusVertexBuffers\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxBindingsPerBindGroup","info":{"code":"\"GPUSupportedLimits\" in self && \"maxBindingsPerBindGroup\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxBufferSize","info":{"code":"\"GPUSupportedLimits\" in self && \"maxBufferSize\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxColorAttachmentBytesPerSample","info":{"code":"\"GPUSupportedLimits\" in self && \"maxColorAttachmentBytesPerSample\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxColorAttachments","info":{"code":"\"GPUSupportedLimits\" in self && \"maxColorAttachments\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxComputeInvocationsPerWorkgroup","info":{"code":"\"GPUSupportedLimits\" in self && \"maxComputeInvocationsPerWorkgroup\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxComputeWorkgroupSizeX","info":{"code":"\"GPUSupportedLimits\" in self && \"maxComputeWorkgroupSizeX\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxComputeWorkgroupSizeY","info":{"code":"\"GPUSupportedLimits\" in self && \"maxComputeWorkgroupSizeY\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxComputeWorkgroupSizeZ","info":{"code":"\"GPUSupportedLimits\" in self && \"maxComputeWorkgroupSizeZ\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxComputeWorkgroupStorageSize","info":{"code":"\"GPUSupportedLimits\" in self && \"maxComputeWorkgroupStorageSize\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxComputeWorkgroupsPerDimension","info":{"code":"\"GPUSupportedLimits\" in self && \"maxComputeWorkgroupsPerDimension\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxDynamicStorageBuffersPerPipelineLayout","info":{"code":"\"GPUSupportedLimits\" in self && \"maxDynamicStorageBuffersPerPipelineLayout\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxDynamicUniformBuffersPerPipelineLayout","info":{"code":"\"GPUSupportedLimits\" in self && \"maxDynamicUniformBuffersPerPipelineLayout\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxInterStageShaderComponents","info":{"code":"\"GPUSupportedLimits\" in self && \"maxInterStageShaderComponents\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxInterStageShaderVariables","info":{"code":"\"GPUSupportedLimits\" in self && \"maxInterStageShaderVariables\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxSampledTexturesPerShaderStage","info":{"code":"\"GPUSupportedLimits\" in self && \"maxSampledTexturesPerShaderStage\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxSamplersPerShaderStage","info":{"code":"\"GPUSupportedLimits\" in self && \"maxSamplersPerShaderStage\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxStorageBufferBindingSize","info":{"code":"\"GPUSupportedLimits\" in self && \"maxStorageBufferBindingSize\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxStorageBuffersPerShaderStage","info":{"code":"\"GPUSupportedLimits\" in self && \"maxStorageBuffersPerShaderStage\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxStorageTexturesPerShaderStage","info":{"code":"\"GPUSupportedLimits\" in self && \"maxStorageTexturesPerShaderStage\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxTextureArrayLayers","info":{"code":"\"GPUSupportedLimits\" in self && \"maxTextureArrayLayers\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxTextureDimension1D","info":{"code":"\"GPUSupportedLimits\" in self && \"maxTextureDimension1D\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxTextureDimension2D","info":{"code":"\"GPUSupportedLimits\" in self && \"maxTextureDimension2D\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxTextureDimension3D","info":{"code":"\"GPUSupportedLimits\" in self && \"maxTextureDimension3D\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxUniformBufferBindingSize","info":{"code":"\"GPUSupportedLimits\" in self && \"maxUniformBufferBindingSize\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxUniformBuffersPerShaderStage","info":{"code":"\"GPUSupportedLimits\" in self && \"maxUniformBuffersPerShaderStage\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxVertexAttributes","info":{"code":"\"GPUSupportedLimits\" in self && \"maxVertexAttributes\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxVertexBufferArrayStride","info":{"code":"\"GPUSupportedLimits\" in self && \"maxVertexBufferArrayStride\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.maxVertexBuffers","info":{"code":"\"GPUSupportedLimits\" in self && \"maxVertexBuffers\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.minStorageBufferOffsetAlignment","info":{"code":"\"GPUSupportedLimits\" in self && \"minStorageBufferOffsetAlignment\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUSupportedLimits.minUniformBufferOffsetAlignment","info":{"code":"\"GPUSupportedLimits\" in self && \"minUniformBufferOffsetAlignment\" in GPUSupportedLimits.prototype","exposure":"Window"},"result":false},{"name":"api.GPUTexture","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.createView","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"createView\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.depthOrArrayLayers","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"depthOrArrayLayers\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.destroy","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"destroy\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.dimension","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"dimension\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.format","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"format\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.height","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"height\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.label","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.mipLevelCount","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"mipLevelCount\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.sampleCount","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"sampleCount\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.usage","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"usage\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTexture.width","info":{"code":"(function () {\n  var gpu = navigator.gpu;\n  if (!gpu) {\n    return { result: false, message: \"gpu is falsy\" };\n  }\n  var adapter = gpu.requestAdapter();\n  if (!adapter) {\n    return { result: false, message: \"adapter is falsy\" };\n  }\n  var device = adapter.then(function (a) {\n    var device = a.requestDevice();\n    bcd.addCleanup(function () {\n      if (\"destroy\" in device) {\n        device.destroy();\n      }\n    });\n    return device;\n  });\n  if (!device) {\n    return { result: false, message: \"device is falsy\" };\n  }\n  if (!(\"GPUTextureUsage\" in self)) {\n    return { result: false, message: \"GPUTextureUsage is not defined\" };\n  }\n  var promise = device.then(function (d) {\n    return d.createTexture({\n      size: [512, 512, 1],\n      format: \"rgba8unorm\",\n      usage:\n        GPUTextureUsage.TEXTURE_BINDING |\n        GPUTextureUsage.COPY_DST |\n        GPUTextureUsage.RENDER_ATTACHMENT\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"width\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GPUTextureView","info":{"code":"\"GPUTextureView\" in self","exposure":"Window"},"result":false},{"name":"api.GPUTextureView.label","info":{"code":"\"GPUTextureView\" in self && \"label\" in GPUTextureView.prototype","exposure":"Window"},"result":false},{"name":"api.GPUUncapturedErrorEvent","info":{"code":"\"GPUUncapturedErrorEvent\" in self","exposure":"Window"},"result":false},{"name":"api.GPUUncapturedErrorEvent.GPUUncapturedErrorEvent","info":{"code":"bcd.testConstructor('GPUUncapturedErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GPUUncapturedErrorEvent is not defined"},{"name":"api.GPUUncapturedErrorEvent.error","info":{"code":"\"GPUUncapturedErrorEvent\" in self && \"error\" in GPUUncapturedErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GPUValidationError","info":{"code":"\"GPUValidationError\" in self","exposure":"Window"},"result":false},{"name":"api.GPUValidationError.GPUValidationError","info":{"code":"bcd.testConstructor('GPUValidationError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GPUValidationError is not defined"},{"name":"api.GainNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createGain\" in reusableInstances.audioContext)) {\n    return { result: false, message: \"audioContext.createGain is not defined\" };\n  }\n  var instance = reusableInstances.audioContext.createGain();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.GainNode.GainNode","info":{"code":"bcd.testConstructor('GainNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GainNode is not defined"},{"name":"api.GainNode.gain","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createGain\" in reusableInstances.audioContext)) {\n    return { result: false, message: \"audioContext.createGain is not defined\" };\n  }\n  var instance = reusableInstances.audioContext.createGain();\n  return !!instance && \"gain\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.Gamepad","info":{"code":"\"Gamepad\" in self","exposure":"Window"},"result":false},{"name":"api.Gamepad.axes","info":{"code":"\"Gamepad\" in self && \"axes\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.buttons","info":{"code":"\"Gamepad\" in self && \"buttons\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.connected","info":{"code":"\"Gamepad\" in self && \"connected\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.displayId","info":{"code":"\"Gamepad\" in self && \"displayId\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.hand","info":{"code":"\"Gamepad\" in self && \"hand\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.hapticActuators","info":{"code":"\"Gamepad\" in self && \"hapticActuators\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.id","info":{"code":"\"Gamepad\" in self && \"id\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.index","info":{"code":"\"Gamepad\" in self && \"index\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.mapping","info":{"code":"\"Gamepad\" in self && \"mapping\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.pose","info":{"code":"\"Gamepad\" in self && \"pose\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.timestamp","info":{"code":"\"Gamepad\" in self && \"timestamp\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.touches","info":{"code":"\"Gamepad\" in self && \"touches\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.Gamepad.vibrationActuator","info":{"code":"\"Gamepad\" in self && \"vibrationActuator\" in Gamepad.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadButton","info":{"code":"\"GamepadButton\" in self","exposure":"Window"},"result":false},{"name":"api.GamepadButton.pressed","info":{"code":"\"GamepadButton\" in self && \"pressed\" in GamepadButton.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadButton.touched","info":{"code":"\"GamepadButton\" in self && \"touched\" in GamepadButton.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadButton.value","info":{"code":"\"GamepadButton\" in self && \"value\" in GamepadButton.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadEvent","info":{"code":"(function () {\n  if (!(\"GamepadEvent\" in self)) {\n    return { result: false, message: \"GamepadEvent is not defined\" };\n  }\n  var instance = new GamepadEvent(\"gamepadconnected\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"GamepadEvent is not defined"},{"name":"api.GamepadEvent.GamepadEvent","info":{"code":"bcd.testConstructor('GamepadEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GamepadEvent is not defined"},{"name":"api.GamepadEvent.gamepad","info":{"code":"(function () {\n  if (!(\"GamepadEvent\" in self)) {\n    return { result: false, message: \"GamepadEvent is not defined\" };\n  }\n  var instance = new GamepadEvent(\"gamepadconnected\");\n  return !!instance && \"gamepad\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"GamepadEvent is not defined"},{"name":"api.GamepadHapticActuator","info":{"code":"\"GamepadHapticActuator\" in self","exposure":"Window"},"result":false},{"name":"api.GamepadHapticActuator.canPlayEffectType","info":{"code":"\"GamepadHapticActuator\" in self && \"canPlayEffectType\" in GamepadHapticActuator.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadHapticActuator.effects","info":{"code":"\"GamepadHapticActuator\" in self && \"effects\" in GamepadHapticActuator.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadHapticActuator.playEffect","info":{"code":"\"GamepadHapticActuator\" in self && \"playEffect\" in GamepadHapticActuator.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadHapticActuator.pulse","info":{"code":"\"GamepadHapticActuator\" in self && \"pulse\" in GamepadHapticActuator.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadHapticActuator.reset","info":{"code":"\"GamepadHapticActuator\" in self && \"reset\" in GamepadHapticActuator.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadHapticActuator.type","info":{"code":"\"GamepadHapticActuator\" in self && \"type\" in GamepadHapticActuator.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose","info":{"code":"\"GamepadPose\" in self","exposure":"Window"},"result":false},{"name":"api.GamepadPose.angularAcceleration","info":{"code":"\"GamepadPose\" in self && \"angularAcceleration\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.angularVelocity","info":{"code":"\"GamepadPose\" in self && \"angularVelocity\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.hasOrientation","info":{"code":"\"GamepadPose\" in self && \"hasOrientation\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.hasPosition","info":{"code":"\"GamepadPose\" in self && \"hasPosition\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.linearAcceleration","info":{"code":"\"GamepadPose\" in self && \"linearAcceleration\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.linearVelocity","info":{"code":"\"GamepadPose\" in self && \"linearVelocity\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.orientation","info":{"code":"\"GamepadPose\" in self && \"orientation\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.GamepadPose.position","info":{"code":"\"GamepadPose\" in self && \"position\" in GamepadPose.prototype","exposure":"Window"},"result":false},{"name":"api.Geolocation","info":{"code":"(function () {\n  var instance = navigator.geolocation;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Geolocation.clearWatch","info":{"code":"(function () {\n  var instance = navigator.geolocation;\n  return !!instance && \"clearWatch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Geolocation.getCurrentPosition","info":{"code":"(function () {\n  var instance = navigator.geolocation;\n  return !!instance && \"getCurrentPosition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Geolocation.watchPosition","info":{"code":"(function () {\n  var instance = navigator.geolocation;\n  return !!instance && \"watchPosition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.accuracy","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"accuracy\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.altitude","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"altitude\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.altitudeAccuracy","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"altitudeAccuracy\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.heading","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"heading\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.latitude","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"latitude\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.longitude","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"longitude\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.speed","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      posCallback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function posCallback(pos) {\n    callback(pos.coords);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"speed\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationCoordinates.toJSON","info":{"code":"\"GeolocationCoordinates\" in self && \"toJSON\" in GeolocationCoordinates.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationPosition","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      callback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationPosition.coords","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      callback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function callback(instance) {\n    try {\n      success(!!instance && \"coords\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationPosition.timestamp","info":{"code":"(function () {\n  var geo = navigator.geolocation;\n  if (!geo) {\n    return { result: false, message: \"geo is falsy\" };\n  }\n  geo.getCurrentPosition(\n    function (pos) {\n      callback(pos);\n    },\n    function (err) {\n      fail(err.message);\n    },\n    {\n      timeout: 5000\n    }\n  );\n  function callback(instance) {\n    try {\n      success(!!instance && \"timestamp\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.GeolocationPosition.toJSON","info":{"code":"\"GeolocationPosition\" in self && \"toJSON\" in GeolocationPosition.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationPositionError","info":{"code":"\"GeolocationPositionError\" in self","exposure":"Window"},"result":false},{"name":"api.GeolocationPositionError.code","info":{"code":"\"GeolocationPositionError\" in self && \"code\" in GeolocationPositionError.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationPositionError.message","info":{"code":"\"GeolocationPositionError\" in self && \"message\" in GeolocationPositionError.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor","info":{"code":"\"GeolocationSensor\" in self","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.GeolocationSensor","info":{"code":"bcd.testConstructor('GeolocationSensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GeolocationSensor is not defined"},{"name":"api.GeolocationSensor.accuracy","info":{"code":"\"GeolocationSensor\" in self && \"accuracy\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.altitude","info":{"code":"\"GeolocationSensor\" in self && \"altitude\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.altitudeAccuracy","info":{"code":"\"GeolocationSensor\" in self && \"altitudeAccuracy\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.heading","info":{"code":"\"GeolocationSensor\" in self && \"heading\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.latitude","info":{"code":"\"GeolocationSensor\" in self && \"latitude\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.longitude","info":{"code":"\"GeolocationSensor\" in self && \"longitude\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.read_static","info":{"code":"\"GeolocationSensor\" in self && \"read\" in GeolocationSensor","exposure":"Window"},"result":false},{"name":"api.GeolocationSensor.speed","info":{"code":"\"GeolocationSensor\" in self && \"speed\" in GeolocationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent","info":{"code":"\"GestureEvent\" in self","exposure":"Window"},"result":false},{"name":"api.GestureEvent.altKey","info":{"code":"\"GestureEvent\" in self && \"altKey\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.clientX","info":{"code":"\"GestureEvent\" in self && \"clientX\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.clientY","info":{"code":"\"GestureEvent\" in self && \"clientY\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.ctrlKey","info":{"code":"\"GestureEvent\" in self && \"ctrlKey\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.initGestureEvent","info":{"code":"\"GestureEvent\" in self && \"initGestureEvent\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.metaKey","info":{"code":"\"GestureEvent\" in self && \"metaKey\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.rotation","info":{"code":"\"GestureEvent\" in self && \"rotation\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.scale","info":{"code":"\"GestureEvent\" in self && \"scale\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.screenX","info":{"code":"\"GestureEvent\" in self && \"screenX\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.screenY","info":{"code":"\"GestureEvent\" in self && \"screenY\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.shiftKey","info":{"code":"\"GestureEvent\" in self && \"shiftKey\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GestureEvent.target","info":{"code":"\"GestureEvent\" in self && \"target\" in GestureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.GravitySensor","info":{"code":"\"GravitySensor\" in self","exposure":"Window"},"result":false},{"name":"api.GravitySensor.GravitySensor","info":{"code":"bcd.testConstructor('GravitySensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GravitySensor is not defined"},{"name":"api.GroupEffect","info":{"code":"\"GroupEffect\" in self","exposure":"Window"},"result":false},{"name":"api.GroupEffect.GroupEffect","info":{"code":"bcd.testConstructor('GroupEffect')","exposure":"Window"},"result":false,"message":"threw ReferenceError: GroupEffect is not defined"},{"name":"api.GroupEffect.append","info":{"code":"\"GroupEffect\" in self && \"append\" in GroupEffect.prototype","exposure":"Window"},"result":false},{"name":"api.GroupEffect.children","info":{"code":"\"GroupEffect\" in self && \"children\" in GroupEffect.prototype","exposure":"Window"},"result":false},{"name":"api.GroupEffect.clone","info":{"code":"\"GroupEffect\" in self && \"clone\" in GroupEffect.prototype","exposure":"Window"},"result":false},{"name":"api.GroupEffect.firstChild","info":{"code":"\"GroupEffect\" in self && \"firstChild\" in GroupEffect.prototype","exposure":"Window"},"result":false},{"name":"api.GroupEffect.lastChild","info":{"code":"\"GroupEffect\" in self && \"lastChild\" in GroupEffect.prototype","exposure":"Window"},"result":false},{"name":"api.GroupEffect.prepend","info":{"code":"\"GroupEffect\" in self && \"prepend\" in GroupEffect.prototype","exposure":"Window"},"result":false},{"name":"api.Gyroscope","info":{"code":"\"Gyroscope\" in self","exposure":"Window"},"result":false},{"name":"api.Gyroscope.Gyroscope","info":{"code":"bcd.testConstructor('Gyroscope')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Gyroscope is not defined"},{"name":"api.Gyroscope.x","info":{"code":"\"Gyroscope\" in self && \"x\" in Gyroscope.prototype","exposure":"Window"},"result":false},{"name":"api.Gyroscope.y","info":{"code":"\"Gyroscope\" in self && \"y\" in Gyroscope.prototype","exposure":"Window"},"result":false},{"name":"api.Gyroscope.z","info":{"code":"\"Gyroscope\" in self && \"z\" in Gyroscope.prototype","exposure":"Window"},"result":false},{"name":"api.HID","info":{"code":"\"HID\" in self","exposure":"Window"},"result":false},{"name":"api.HID.getDevices","info":{"code":"\"HID\" in self && \"getDevices\" in HID.prototype","exposure":"Window"},"result":false},{"name":"api.HID.requestDevice","info":{"code":"\"HID\" in self && \"requestDevice\" in HID.prototype","exposure":"Window"},"result":false},{"name":"api.HIDConnectionEvent","info":{"code":"\"HIDConnectionEvent\" in self","exposure":"Window"},"result":false},{"name":"api.HIDConnectionEvent.HIDConnectionEvent","info":{"code":"bcd.testConstructor('HIDConnectionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HIDConnectionEvent is not defined"},{"name":"api.HIDConnectionEvent.device","info":{"code":"\"HIDConnectionEvent\" in self && \"device\" in HIDConnectionEvent.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice","info":{"code":"\"HIDDevice\" in self","exposure":"Window"},"result":false},{"name":"api.HIDDevice.close","info":{"code":"\"HIDDevice\" in self && \"close\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.collections","info":{"code":"\"HIDDevice\" in self && \"collections\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.forget","info":{"code":"\"HIDDevice\" in self && \"forget\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.open","info":{"code":"\"HIDDevice\" in self && \"open\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.opened","info":{"code":"\"HIDDevice\" in self && \"opened\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.productId","info":{"code":"\"HIDDevice\" in self && \"productId\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.productName","info":{"code":"\"HIDDevice\" in self && \"productName\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.receiveFeatureReport","info":{"code":"\"HIDDevice\" in self && \"receiveFeatureReport\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.sendFeatureReport","info":{"code":"\"HIDDevice\" in self && \"sendFeatureReport\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.sendReport","info":{"code":"\"HIDDevice\" in self && \"sendReport\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDDevice.vendorId","info":{"code":"\"HIDDevice\" in self && \"vendorId\" in HIDDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HIDInputReportEvent","info":{"code":"\"HIDInputReportEvent\" in self","exposure":"Window"},"result":false},{"name":"api.HIDInputReportEvent.HIDInputReportEvent","info":{"code":"bcd.testConstructor('HIDInputReportEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HIDInputReportEvent is not defined"},{"name":"api.HIDInputReportEvent.data","info":{"code":"\"HIDInputReportEvent\" in self && \"data\" in HIDInputReportEvent.prototype","exposure":"Window"},"result":false},{"name":"api.HIDInputReportEvent.device","info":{"code":"\"HIDInputReportEvent\" in self && \"device\" in HIDInputReportEvent.prototype","exposure":"Window"},"result":false},{"name":"api.HIDInputReportEvent.reportId","info":{"code":"\"HIDInputReportEvent\" in self && \"reportId\" in HIDInputReportEvent.prototype","exposure":"Window"},"result":false},{"name":"api.HMDVRDevice","info":{"code":"\"HMDVRDevice\" in self","exposure":"Window"},"result":false},{"name":"api.HMDVRDevice.getEyeParameters","info":{"code":"\"HMDVRDevice\" in self && \"getEyeParameters\" in HMDVRDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HMDVRDevice.setFieldOfView","info":{"code":"\"HMDVRDevice\" in self && \"setFieldOfView\" in HMDVRDevice.prototype","exposure":"Window"},"result":false},{"name":"api.HTMLAllCollection","info":{"code":"(function () {\n  var instance = document.all;\n  // Note: in most browsers, \"document.all\" is falsy, so \"!!instance\" will return \"false\"\n  if (instance === undefined) {\n    return { result: false, message: \"document.all is undefined\" };\n  }\n  return bcd.testObjectName(instance, \"HTMLAllCollection\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAllCollection.item","info":{"code":"(function () {\n  var instance = document.all;\n  // Note: in most browsers, \"document.all\" is falsy, so \"!!instance\" will return \"false\"\n  if (instance === undefined) {\n    return { result: false, message: \"document.all is undefined\" };\n  }\n  return \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAllCollection.length","info":{"code":"(function () {\n  var instance = document.all;\n  // Note: in most browsers, \"document.all\" is falsy, so \"!!instance\" will return \"false\"\n  if (instance === undefined) {\n    return { result: false, message: \"document.all is undefined\" };\n  }\n  return \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAllCollection.namedItem","info":{"code":"(function () {\n  var instance = document.all;\n  // Note: in most browsers, \"document.all\" is falsy, so \"!!instance\" will return \"false\"\n  if (instance === undefined) {\n    return { result: false, message: \"document.all is undefined\" };\n  }\n  return \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return bcd.testObjectName(instance, \"HTMLAnchorElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.HTMLAnchorElement","info":{"code":"bcd.testConstructor('HTMLAnchorElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLAnchorElement is not defined"},{"name":"api.HTMLAnchorElement.attributionSourceId","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"attributionSourceId\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.attributionSrc","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"attributionSrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.charset","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"charset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.coords","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"coords\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.download","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"download\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.hash","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"hash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.host","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"host\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.hostname","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"hostname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.href","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.hrefTranslate","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"hrefTranslate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.hreflang","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"hreflang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.origin","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"origin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.password","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"password\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.pathname","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"pathname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.ping","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"ping\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.port","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.protocol","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.referrerPolicy.no-referrer-when-downgrade","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"no-referrer-when-downgrade\";\n  return instance.referrerPolicy == \"no-referrer-when-downgrade\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.referrerPolicy.origin-when-cross-origin","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"origin-when-cross-origin\";\n  return instance.referrerPolicy == \"origin-when-cross-origin\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.referrerPolicy.unsafe-url","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"unsafe-url\";\n  return instance.referrerPolicy == \"unsafe-url\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.rel","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"rel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.relList","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"relList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.rev","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"rev\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.search","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"search\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.shape","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"shape\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.target","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.text","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.toString","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  instance.href = \"https://mdn-bcd-collector.gooborg.com/\";\n  return instance.toString() == instance.href;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAnchorElement.username","info":{"code":"(function () {\n  var instance = document.createElement(\"a\");\n  return !!instance && \"username\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return bcd.testObjectName(instance, \"HTMLAreaElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.HTMLAreaElement","info":{"code":"bcd.testConstructor('HTMLAreaElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLAreaElement is not defined"},{"name":"api.HTMLAreaElement.alt","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"alt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.attributionSrc","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"attributionSrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.coords","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"coords\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.download","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"download\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.hash","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"hash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.host","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"host\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.hostname","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"hostname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.href","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.noHref","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"noHref\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.origin","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"origin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.password","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"password\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.pathname","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"pathname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.ping","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"ping\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.port","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.protocol","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.referrerPolicy.no-referrer-when-downgrade","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"no-referrer-when-downgrade\";\n  return instance.referrerPolicy == \"no-referrer-when-downgrade\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.referrerPolicy.origin-when-cross-origin","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"origin-when-cross-origin\";\n  return instance.referrerPolicy == \"origin-when-cross-origin\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.referrerPolicy.unsafe-url","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"unsafe-url\";\n  return instance.referrerPolicy == \"unsafe-url\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.rel","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"rel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.relList","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"relList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.search","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"search\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.shape","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"shape\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.target","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.toString","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  instance.href = \"https://mdn-bcd-collector.gooborg.com/\";\n  return instance.toString() == instance.href;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAreaElement.username","info":{"code":"(function () {\n  var instance = document.createElement(\"area\");\n  return !!instance && \"username\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAudioElement","info":{"code":"(function () {\n  var instance = document.createElement(\"audio\");\n  return bcd.testObjectName(instance, \"HTMLAudioElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAudioElement.Audio","info":{"code":"(function () {\n  var instance = document.createElement(\"audio\");\n  return bcd.testConstructor(\"Audio\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLAudioElement.HTMLAudioElement","info":{"code":"bcd.testConstructor('HTMLAudioElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLAudioElement is not defined"},{"name":"api.HTMLBRElement","info":{"code":"(function () {\n  var instance = document.createElement(\"br\");\n  return bcd.testObjectName(instance, \"HTMLBRElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBRElement.HTMLBRElement","info":{"code":"bcd.testConstructor('HTMLBRElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLBRElement is not defined"},{"name":"api.HTMLBRElement.clear","info":{"code":"(function () {\n  var instance = document.createElement(\"br\");\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBaseElement","info":{"code":"(function () {\n  var instance = document.createElement(\"base\");\n  return bcd.testObjectName(instance, \"HTMLBaseElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBaseElement.HTMLBaseElement","info":{"code":"bcd.testConstructor('HTMLBaseElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLBaseElement is not defined"},{"name":"api.HTMLBaseElement.href","info":{"code":"(function () {\n  var instance = document.createElement(\"base\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBaseElement.target","info":{"code":"(function () {\n  var instance = document.createElement(\"base\");\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return bcd.testObjectName(instance, \"HTMLBodyElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement.HTMLBodyElement","info":{"code":"bcd.testConstructor('HTMLBodyElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLBodyElement is not defined"},{"name":"api.HTMLBodyElement.aLink","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return !!instance && \"aLink\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement.background","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return !!instance && \"background\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement.bgColor","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return !!instance && \"bgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement.link","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return !!instance && \"link\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement.text","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLBodyElement.vLink","info":{"code":"(function () {\n  var instance = document.createElement(\"body\");\n  return !!instance && \"vLink\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return bcd.testObjectName(instance, \"HTMLButtonElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.HTMLButtonElement","info":{"code":"bcd.testConstructor('HTMLButtonElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLButtonElement is not defined"},{"name":"api.HTMLButtonElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.command","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"command\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.commandForElement","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"commandForElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.formAction","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"formAction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.formEnctype","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"formEnctype\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.formMethod","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"formMethod\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.formNoValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"formNoValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.formTarget","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"formTarget\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.invokeaction","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"invokeaction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.invoketarget","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"invoketarget\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.popoverTargetAction","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"popoverTargetAction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.popoverTargetElement","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"popoverTargetElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLButtonElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"button\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return bcd.testObjectName(instance, \"HTMLCanvasElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.HTMLCanvasElement","info":{"code":"bcd.testConstructor('HTMLCanvasElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLCanvasElement is not defined"},{"name":"api.HTMLCanvasElement.captureStream","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"captureStream\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"getContext\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.2d_context","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"2d\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.2d_context.options_alpha_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"2d\", options);\n  }\n  return bcd.testOptionParam(createContext, null, \"alpha\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.2d_context.options_colorSpace_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"2d\", options);\n  }\n  return bcd.testOptionParam(createContext, null, \"colorSpace\", \"srgb\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.2d_context.options_desynchronized_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"2d\", options);\n  }\n  return bcd.testOptionParam(createContext, null, \"desynchronized\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.2d_context.options_willReadFrequently_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"2d\", options);\n  }\n  return bcd.testOptionParam(createContext, null, \"willReadFrequently\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.bitmaprenderer_context","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"bitmaprenderer\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.bitmaprenderer_context.options_alpha_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"bitmaprenderer\", options);\n  }\n  return bcd.testOptionParam(createContext, null, \"alpha\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl2_context","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"webgl2\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl2_context.options_alpha_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"webgl2\", options);\n  }\n  return bcd.testOptionParam(createContext, null, \"alpha\", true, {}, true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl2_context.options_desynchronized_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"webgl2\", options);\n  }\n  return bcd.testOptionParam(\n    createContext,\n    null,\n    \"desynchronized\",\n    true,\n    {},\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl2_context.options_failIfMajorPerformanceCaveat_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"webgl2\", options);\n  }\n  return bcd.testOptionParam(\n    createContext,\n    null,\n    \"failIfMajorPerformanceCaveat\",\n    true,\n    {},\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl2_context.options_powerPreference_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return instance.getContext(\"webgl2\", options);\n  }\n  return bcd.testOptionParam(\n    createContext,\n    null,\n    \"powerPreference\",\n    \"default\",\n    {},\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl_context","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"webgl\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl_context.options_alpha_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return (\n      instance.getContext(\"webgl\", options) ||\n      instance.getContext(\"experimental-webgl\", options)\n    );\n  }\n  return bcd.testOptionParam(createContext, null, \"alpha\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl_context.options_desynchronized_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return (\n      instance.getContext(\"webgl\", options) ||\n      instance.getContext(\"experimental-webgl\", options)\n    );\n  }\n  return bcd.testOptionParam(createContext, null, \"desynchronized\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl_context.options_failIfMajorPerformanceCaveat_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return (\n      instance.getContext(\"webgl\", options) ||\n      instance.getContext(\"experimental-webgl\", options)\n    );\n  }\n  return bcd.testOptionParam(\n    createContext,\n    null,\n    \"failIfMajorPerformanceCaveat\",\n    true\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgl_context.options_powerPreference_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  function createContext(options) {\n    return (\n      instance.getContext(\"webgl\", options) ||\n      instance.getContext(\"experimental-webgl\", options)\n    );\n  }\n  return bcd.testOptionParam(createContext, null, \"powerPreference\", \"default\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.getContext.webgpu_context","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  bcd.skipIf(\n    \"Creating a WebGPU context on Safari 16.5 crashes the browser\",\n    \"safari\",\n    \"16.5\"\n  );\n\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"webgpu\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.mozOpaque","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"mozOpaque\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.mozPrintCallback","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"mozPrintCallback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toBlob","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"toBlob\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toBlob.quality_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toBlob\" in instance)) {\n    return { result: false, message: \"instance.toBlob is not defined\" };\n  }\n\n  // Set the size\n  instance.width = \"300\";\n  instance.height = \"300\";\n\n  // Now we need to draw something\n  var ctx = instance.getContext(\"2d\");\n  ctx.lineWidth = 10;\n  ctx.strokeStyle = \"rgb(230, 20, 20)\";\n  ctx.fillStyle = \"rgb(20, 20, 230)\";\n  ctx.strokeRect(75, 140, 150, 110);\n  ctx.fillRect(130, 190, 40, 60);\n  ctx.beginPath();\n  ctx.moveTo(50, 140);\n  ctx.lineTo(150, 60);\n  ctx.lineTo(250, 140);\n  ctx.closePath();\n  ctx.stroke();\n\n  // Get two blobs with different quality and compare them\n  instance.toBlob(\n    function (blob1) {\n      blob1.arrayBuffer().then(function (blob1data) {\n        instance.toBlob(\n          function (blob2) {\n            blob2.arrayBuffer().then(function (blob2data) {\n              if (blob1.size != blob2.size) {\n                success({ result: true, message: \"Blobs are not identical\" });\n                return;\n              }\n\n              for (var i = 0; i < blob1.size; i++) {\n                if (blob1data[i] != blob2data[i]) {\n                  success({ result: true, message: \"Blobs are not identical\" });\n                  return;\n                }\n              }\n\n              success({ result: false, message: \"Blobs are identical\" });\n            });\n          },\n          \"image/jpeg\",\n          0.9\n        );\n      });\n    },\n    \"image/jpeg\",\n    0.5\n  );\n\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toBlob.type_parameter_jpeg","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toBlob\" in instance)) {\n    return { result: false, message: \"instance.toBlob is not defined\" };\n  }\n  function callback(blob) {\n    success(blob.type === \"image/jpeg\");\n  }\n  instance.toBlob(callback, \"image/jpeg\");\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toBlob.type_parameter_png","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toBlob\" in instance)) {\n    return { result: false, message: \"instance.toBlob is not defined\" };\n  }\n  function callback(blob) {\n    success(blob.type === \"image/png\");\n  }\n  instance.toBlob(callback, \"image/png\");\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toBlob.type_parameter_webp","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toBlob\" in instance)) {\n    return { result: false, message: \"instance.toBlob is not defined\" };\n  }\n  function callback(blob) {\n    success(blob.type === \"image/webp\");\n  }\n  instance.toBlob(callback, \"image/webp\");\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toDataURL","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"toDataURL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toDataURL.type_parameter_jpeg","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toDataURL\" in instance)) {\n    return { result: false, message: \"instance.toDataURL is not defined\" };\n  }\n  var url = instance.toDataURL(\"image/jpeg\");\n  return url.indexOf(\"data:image/jpeg;\") === 0;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toDataURL.type_parameter_png","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toDataURL\" in instance)) {\n    return { result: false, message: \"instance.toDataURL is not defined\" };\n  }\n  var url = instance.toDataURL(\"image/png\");\n  return url.indexOf(\"data:image/png;\") === 0;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.toDataURL.type_parameter_webp","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  if (!(\"toDataURL\" in instance)) {\n    return { result: false, message: \"instance.toDataURL is not defined\" };\n  }\n  var url = instance.toDataURL(\"image/webp\");\n  return url.indexOf(\"data:image/webp;\") === 0;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.transferControlToOffscreen","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"transferControlToOffscreen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCanvasElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"canvas\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCollection","info":{"code":"(function () {\n  var instance = document.forms;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCollection.item","info":{"code":"(function () {\n  var instance = document.forms;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCollection.length","info":{"code":"(function () {\n  var instance = document.forms;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLCollection.namedItem","info":{"code":"(function () {\n  var instance = document.forms;\n  return !!instance && \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLContentElement","info":{"code":"(function () {\n  var instance = document.createElement(\"content\");\n  return bcd.testObjectName(instance, \"HTMLContentElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLContentElement.getDistributedNodes","info":{"code":"(function () {\n  var instance = document.createElement(\"content\");\n  return !!instance && \"getDistributedNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLContentElement.select","info":{"code":"(function () {\n  var instance = document.createElement(\"content\");\n  return !!instance && \"select\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDListElement","info":{"code":"(function () {\n  var instance = document.createElement(\"dl\");\n  return bcd.testObjectName(instance, \"HTMLDListElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDListElement.HTMLDListElement","info":{"code":"bcd.testConstructor('HTMLDListElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDListElement is not defined"},{"name":"api.HTMLDListElement.compact","info":{"code":"(function () {\n  var instance = document.createElement(\"dl\");\n  return !!instance && \"compact\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDataElement","info":{"code":"(function () {\n  var instance = document.createElement(\"data\");\n  return bcd.testObjectName(instance, \"HTMLDataElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDataElement.HTMLDataElement","info":{"code":"bcd.testConstructor('HTMLDataElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDataElement is not defined"},{"name":"api.HTMLDataElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"data\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDataListElement","info":{"code":"(function () {\n  var instance = document.createElement(\"datalist\");\n  return bcd.testObjectName(instance, \"HTMLDataListElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDataListElement.HTMLDataListElement","info":{"code":"bcd.testConstructor('HTMLDataListElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDataListElement is not defined"},{"name":"api.HTMLDataListElement.options","info":{"code":"(function () {\n  var instance = document.createElement(\"datalist\");\n  return !!instance && \"options\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDetailsElement","info":{"code":"(function () {\n  var instance = document.createElement(\"details\");\n  return bcd.testObjectName(instance, \"HTMLDetailsElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDetailsElement.HTMLDetailsElement","info":{"code":"bcd.testConstructor('HTMLDetailsElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDetailsElement is not defined"},{"name":"api.HTMLDetailsElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"details\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDetailsElement.open","info":{"code":"(function () {\n  var instance = document.createElement(\"details\");\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return bcd.testObjectName(instance, \"HTMLDialogElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.HTMLDialogElement","info":{"code":"bcd.testConstructor('HTMLDialogElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDialogElement is not defined"},{"name":"api.HTMLDialogElement.close","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.closedBy","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"closedBy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.open","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.requestClose","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"requestClose\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.returnValue","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"returnValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.show","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"show\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDialogElement.showModal","info":{"code":"(function () {\n  var instance = document.createElement(\"dialog\");\n  return !!instance && \"showModal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDirectoryElement","info":{"code":"(function () {\n  var instance = document.createElement(\"dir\");\n  return bcd.testObjectName(instance, \"HTMLDirectoryElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDirectoryElement.HTMLDirectoryElement","info":{"code":"bcd.testConstructor('HTMLDirectoryElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDirectoryElement is not defined"},{"name":"api.HTMLDirectoryElement.compact","info":{"code":"(function () {\n  var instance = document.createElement(\"dir\");\n  return !!instance && \"compact\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDivElement","info":{"code":"(function () {\n  var instance = document.createElement(\"div\");\n  return bcd.testObjectName(instance, \"HTMLDivElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDivElement.HTMLDivElement","info":{"code":"bcd.testConstructor('HTMLDivElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLDivElement is not defined"},{"name":"api.HTMLDivElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"div\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLDocument","info":{"code":"(function () {\n  var instance = document;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.HTMLElement","info":{"code":"bcd.testConstructor('HTMLElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLElement is not defined"},{"name":"api.HTMLElement.accessKey","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"accessKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.accessKeyLabel","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"accessKeyLabel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.anchorElement","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"anchorElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.attachInternals","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"attachInternals\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.attributeStyleMap","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"attributeStyleMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.autocapitalize","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"autocapitalize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.autocorrect","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"autocorrect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.autofocus","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"autofocus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.blur","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"blur\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.click","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"click\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.contentEditable","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"contentEditable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.contextMenu","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"contextMenu\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.dataset","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"dataset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.dir","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"dir\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.draggable","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"draggable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.editContext","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"editContext\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.enterKeyHint","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"enterKeyHint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.focus","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"focus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.focus.options_focusVisible_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return bcd.testOptionParam(instance, \"focus\", \"focusVisible\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.focus.options_preventScroll_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return bcd.testOptionParam(instance, \"focus\", \"preventScroll\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.headingOffset","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"headingOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.headingReset","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"headingReset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.hidden","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"hidden\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.hidePopover","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"hidePopover\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.inert","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"inert\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.innerText","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"innerText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.inputMode","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"inputMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.isContentEditable","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"isContentEditable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.lang","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"lang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.nonce","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"nonce\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.offsetHeight","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"offsetHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.offsetLeft","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"offsetLeft\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.offsetParent","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"offsetParent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.offsetTop","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"offsetTop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.offsetWidth","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"offsetWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.outerText","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"outerText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.popover","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"popover\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.scrollParent","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"scrollParent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.showPopover","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"showPopover\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.spellcheck","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"spellcheck\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.style","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.tabIndex","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"tabIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.title","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"title\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.togglePopover","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"togglePopover\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.togglePopover.returns_boolean","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  if (!(\"togglePopover\" in instance)) {\n    return {\n      result: false,\n      message: \"HTMLElement.togglePopover is not defined\"\n    };\n  }\n\n  document.getElementById(\"resources\").appendChild(instance);\n  bcd.addCleanup(function () {\n    document.getElementById(\"resources\").removeChild(instance);\n  });\n\n  instance.popover = \"auto\";\n  var value = instance.togglePopover(false);\n  return typeof value === \"boolean\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.translate","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"translate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.virtualKeyboardPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"virtualKeyboardPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLElement.writingSuggestions","info":{"code":"(function () {\n  var instance = document.createElement(\"b\");\n  return !!instance && \"writingSuggestions\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return bcd.testObjectName(instance, \"HTMLEmbedElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.HTMLEmbedElement","info":{"code":"bcd.testConstructor('HTMLEmbedElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLEmbedElement is not defined"},{"name":"api.HTMLEmbedElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.getSVGDocument","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"getSVGDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLEmbedElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"embed\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFencedFrameElement","info":{"code":"\"HTMLFencedFrameElement\" in self","exposure":"Window"},"result":false},{"name":"api.HTMLFencedFrameElement.HTMLFencedFrameElement","info":{"code":"bcd.testConstructor('HTMLFencedFrameElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLFencedFrameElement is not defined"},{"name":"api.HTMLFencedFrameElement.allow","info":{"code":"\"HTMLFencedFrameElement\" in self && \"allow\" in HTMLFencedFrameElement.prototype","exposure":"Window"},"result":false},{"name":"api.HTMLFencedFrameElement.config","info":{"code":"\"HTMLFencedFrameElement\" in self && \"config\" in HTMLFencedFrameElement.prototype","exposure":"Window"},"result":false},{"name":"api.HTMLFencedFrameElement.height","info":{"code":"\"HTMLFencedFrameElement\" in self && \"height\" in HTMLFencedFrameElement.prototype","exposure":"Window"},"result":false},{"name":"api.HTMLFencedFrameElement.sandbox","info":{"code":"\"HTMLFencedFrameElement\" in self && \"sandbox\" in HTMLFencedFrameElement.prototype","exposure":"Window"},"result":false},{"name":"api.HTMLFencedFrameElement.width","info":{"code":"\"HTMLFencedFrameElement\" in self && \"width\" in HTMLFencedFrameElement.prototype","exposure":"Window"},"result":false},{"name":"api.HTMLFieldSetElement","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return bcd.testObjectName(instance, \"HTMLFieldSetElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.HTMLFieldSetElement","info":{"code":"bcd.testConstructor('HTMLFieldSetElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLFieldSetElement is not defined"},{"name":"api.HTMLFieldSetElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.elements","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"elements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.elements.type_HTMLCollection","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  var els = instance.elements();\n  return bcd.testObjectName(els, \"HTMLCollection\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFieldSetElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"fieldset\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFontElement","info":{"code":"(function () {\n  var instance = document.createElement(\"font\");\n  return bcd.testObjectName(instance, \"HTMLFontElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFontElement.HTMLFontElement","info":{"code":"bcd.testConstructor('HTMLFontElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLFontElement is not defined"},{"name":"api.HTMLFontElement.color","info":{"code":"(function () {\n  var instance = document.createElement(\"font\");\n  return !!instance && \"color\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFontElement.face","info":{"code":"(function () {\n  var instance = document.createElement(\"font\");\n  return !!instance && \"face\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFontElement.size","info":{"code":"(function () {\n  var instance = document.createElement(\"font\");\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormControlsCollection","info":{"code":"(function () {\n  var form = document.createElement(\"form\");\n  if (!form) {\n    return { result: false, message: \"form is falsy\" };\n  }\n  for (var i = 0; i < 3; i++) {\n    var input = document.createElement(\"input\");\n    input.value = i;\n    form.appendChild(input);\n  }\n  var instance = form.elements;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormControlsCollection.namedItem","info":{"code":"(function () {\n  var form = document.createElement(\"form\");\n  if (!form) {\n    return { result: false, message: \"form is falsy\" };\n  }\n  for (var i = 0; i < 3; i++) {\n    var input = document.createElement(\"input\");\n    input.value = i;\n    form.appendChild(input);\n  }\n  var instance = form.elements;\n  return !!instance && \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return bcd.testObjectName(instance, \"HTMLFormElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.HTMLFormElement","info":{"code":"bcd.testConstructor('HTMLFormElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLFormElement is not defined"},{"name":"api.HTMLFormElement.acceptCharset","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"acceptCharset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.action","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"action\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.autocomplete","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"autocomplete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.elements","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"elements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.encoding","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"encoding\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.enctype","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"enctype\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.length","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.method","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"method\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.noValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"noValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.rel","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"rel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.relList","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"relList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.requestSubmit","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"requestSubmit\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.reset","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"reset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.submit","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"submit\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFormElement.target","info":{"code":"(function () {\n  var instance = document.createElement(\"form\");\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return bcd.testObjectName(instance, \"HTMLFrameElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.HTMLFrameElement","info":{"code":"bcd.testConstructor('HTMLFrameElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLFrameElement is not defined"},{"name":"api.HTMLFrameElement.contentDocument","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"contentDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.contentWindow","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"contentWindow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.frameBorder","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"frameBorder\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.longDesc","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"longDesc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.marginHeight","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"marginHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.marginWidth","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"marginWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.noResize","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"noResize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.scrolling","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"scrolling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"frame\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameSetElement","info":{"code":"(function () {\n  var instance = document.createElement(\"frameset\");\n  return bcd.testObjectName(instance, \"HTMLFrameSetElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameSetElement.HTMLFrameSetElement","info":{"code":"bcd.testConstructor('HTMLFrameSetElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLFrameSetElement is not defined"},{"name":"api.HTMLFrameSetElement.cols","info":{"code":"(function () {\n  var instance = document.createElement(\"frameset\");\n  return !!instance && \"cols\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLFrameSetElement.rows","info":{"code":"(function () {\n  var instance = document.createElement(\"frameset\");\n  return !!instance && \"rows\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHRElement","info":{"code":"(function () {\n  var instance = document.createElement(\"hr\");\n  return bcd.testObjectName(instance, \"HTMLHRElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHRElement.HTMLHRElement","info":{"code":"bcd.testConstructor('HTMLHRElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLHRElement is not defined"},{"name":"api.HTMLHRElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"hr\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHRElement.color","info":{"code":"(function () {\n  var instance = document.createElement(\"hr\");\n  return !!instance && \"color\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHRElement.noShade","info":{"code":"(function () {\n  var instance = document.createElement(\"hr\");\n  return !!instance && \"noShade\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHRElement.size","info":{"code":"(function () {\n  var instance = document.createElement(\"hr\");\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHRElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"hr\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHeadElement","info":{"code":"(function () {\n  var instance = document.createElement(\"head\");\n  return bcd.testObjectName(instance, \"HTMLHeadElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHeadElement.HTMLHeadElement","info":{"code":"bcd.testConstructor('HTMLHeadElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLHeadElement is not defined"},{"name":"api.HTMLHeadingElement","info":{"code":"(function () {\n  var instance = document.createElement(\"h1\");\n  return bcd.testObjectName(instance, \"HTMLHeadingElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHeadingElement.HTMLHeadingElement","info":{"code":"bcd.testConstructor('HTMLHeadingElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLHeadingElement is not defined"},{"name":"api.HTMLHeadingElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"h1\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHtmlElement","info":{"code":"(function () {\n  var instance = document.createElement(\"html\");\n  return bcd.testObjectName(instance, \"HTMLHtmlElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLHtmlElement.HTMLHtmlElement","info":{"code":"bcd.testConstructor('HTMLHtmlElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLHtmlElement is not defined"},{"name":"api.HTMLHtmlElement.version","info":{"code":"(function () {\n  var instance = document.createElement(\"html\");\n  return !!instance && \"version\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return bcd.testObjectName(instance, \"HTMLIFrameElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.HTMLIFrameElement","info":{"code":"bcd.testConstructor('HTMLIFrameElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLIFrameElement is not defined"},{"name":"api.HTMLIFrameElement.adAuctionHeaders","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"adAuctionHeaders\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.allow","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"allow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.allowFullscreen","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"allowFullscreen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.allowPaymentRequest","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"allowPaymentRequest\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.browsingTopics","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"browsingTopics\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.contentDocument","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"contentDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.contentWindow","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"contentWindow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.credentialless","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"credentialless\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.csp","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"csp\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.featurePolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"featurePolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.frameBorder","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"frameBorder\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.getSVGDocument","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"getSVGDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.loading","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"loading\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.longDesc","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"longDesc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.marginHeight","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"marginHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.marginWidth","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"marginWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.permissionsPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"permissionsPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.privateToken","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"privateToken\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.referrerPolicy.no-referrer-when-downgrade","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"no-referrer-when-downgrade\";\n  return instance.referrerPolicy == \"no-referrer-when-downgrade\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.referrerPolicy.origin-when-cross-origin","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"origin-when-cross-origin\";\n  return instance.referrerPolicy == \"origin-when-cross-origin\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.referrerPolicy.unsafe-url","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"unsafe-url\";\n  return instance.referrerPolicy == \"unsafe-url\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.sandbox","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"sandbox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.scrolling","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"scrolling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.sharedStorageWritable","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"sharedStorageWritable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.srcdoc","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"srcdoc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLIFrameElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"iframe\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return bcd.testObjectName(instance, \"HTMLImageElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.HTMLImageElement","info":{"code":"bcd.testConstructor('HTMLImageElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLImageElement is not defined"},{"name":"api.HTMLImageElement.Image","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return bcd.testConstructor(\"Image\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.alt","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"alt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.attributionSrc","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"attributionSrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.border","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"border\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.complete","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"complete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.currentSrc","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"currentSrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.decode","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"decode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.decoding","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"decoding\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.fetchPriority","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"fetchPriority\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.hspace","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"hspace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.isMap","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"isMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.loading","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"loading\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.longDesc","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"longDesc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.lowsrc","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"lowsrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.naturalHeight","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"naturalHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.naturalWidth","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"naturalWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.referrerPolicy.no-referrer-when-downgrade","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"no-referrer-when-downgrade\";\n  return instance.referrerPolicy == \"no-referrer-when-downgrade\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.referrerPolicy.origin-when-cross-origin","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"origin-when-cross-origin\";\n  return instance.referrerPolicy == \"origin-when-cross-origin\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.referrerPolicy.unsafe-url","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"unsafe-url\";\n  return instance.referrerPolicy == \"unsafe-url\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.sharedStorageWritable","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"sharedStorageWritable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.sizes","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"sizes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.srcset","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"srcset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.useMap","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"useMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.vspace","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"vspace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.x","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLImageElement.y","info":{"code":"(function () {\n  var instance = document.createElement(\"img\");\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return bcd.testObjectName(instance, \"HTMLInputElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.HTMLInputElement","info":{"code":"bcd.testConstructor('HTMLInputElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLInputElement is not defined"},{"name":"api.HTMLInputElement.accept","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"accept\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.alpha","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"alpha\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.alt","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"alt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.autocomplete","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"autocomplete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.capture","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"capture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.checked","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"checked\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.colorSpace","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"colorSpace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.defaultChecked","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"defaultChecked\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.defaultValue","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"defaultValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.dirName","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"dirName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.files","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"files\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.formAction","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"formAction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.formEnctype","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"formEnctype\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.formMethod","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"formMethod\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.formNoValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"formNoValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.formTarget","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"formTarget\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.incremental","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"incremental\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.indeterminate","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"indeterminate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.list","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"list\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.max","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"max\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.maxLength","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"maxLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.min","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"min\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.minLength","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"minLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.multiple","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"multiple\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.pattern","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"pattern\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.placeholder","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"placeholder\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.popoverTargetAction","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"popoverTargetAction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.popoverTargetElement","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"popoverTargetElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.readOnly","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"readOnly\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.required","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"required\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.select","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"select\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.selectionDirection","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"selectionDirection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.selectionEnd","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"selectionEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.selectionStart","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"selectionStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.setRangeText","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"setRangeText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.setSelectionRange","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"setSelectionRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.showPicker","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"showPicker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.size","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.step","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"step\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.stepDown","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"stepDown\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.stepUp","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"stepUp\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.useMap","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"useMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.valueAsDate","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"valueAsDate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.valueAsNumber","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"valueAsNumber\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.webkitEntries","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"webkitEntries\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.webkitdirectory","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"webkitdirectory\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLInputElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"input\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLIElement","info":{"code":"(function () {\n  var instance = document.createElement(\"li\");\n  return bcd.testObjectName(instance, \"HTMLLIElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLIElement.HTMLLIElement","info":{"code":"bcd.testConstructor('HTMLLIElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLLIElement is not defined"},{"name":"api.HTMLLIElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"li\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLIElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"li\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLabelElement","info":{"code":"(function () {\n  var instance = document.createElement(\"label\");\n  return bcd.testObjectName(instance, \"HTMLLabelElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLabelElement.HTMLLabelElement","info":{"code":"bcd.testConstructor('HTMLLabelElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLLabelElement is not defined"},{"name":"api.HTMLLabelElement.control","info":{"code":"(function () {\n  var instance = document.createElement(\"label\");\n  return !!instance && \"control\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLabelElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"label\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLabelElement.htmlFor","info":{"code":"(function () {\n  var instance = document.createElement(\"label\");\n  return !!instance && \"htmlFor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLegendElement","info":{"code":"(function () {\n  var instance = document.createElement(\"legend\");\n  return bcd.testObjectName(instance, \"HTMLLegendElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLegendElement.HTMLLegendElement","info":{"code":"bcd.testConstructor('HTMLLegendElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLLegendElement is not defined"},{"name":"api.HTMLLegendElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"legend\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLegendElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"legend\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return bcd.testObjectName(instance, \"HTMLLinkElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.HTMLLinkElement","info":{"code":"bcd.testConstructor('HTMLLinkElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLLinkElement is not defined"},{"name":"api.HTMLLinkElement.as","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"as\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.blocking","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"blocking\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.charset","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"charset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.fetchPriority","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"fetchPriority\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.href","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.hreflang","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"hreflang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.imageSizes","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"imageSizes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.imageSrcset","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"imageSrcset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.integrity","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"integrity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.media","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.referrerPolicy.no-referrer-when-downgrade","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"no-referrer-when-downgrade\";\n  return instance.referrerPolicy == \"no-referrer-when-downgrade\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.referrerPolicy.origin-when-cross-origin","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"origin-when-cross-origin\";\n  return instance.referrerPolicy == \"origin-when-cross-origin\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.referrerPolicy.unsafe-url","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"unsafe-url\";\n  return instance.referrerPolicy == \"unsafe-url\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.rel","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"rel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.relList","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"relList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.rev","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"rev\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.sheet","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"sheet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.sizes","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"sizes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.target","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLLinkElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"link\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMapElement","info":{"code":"(function () {\n  var instance = document.createElement(\"map\");\n  return bcd.testObjectName(instance, \"HTMLMapElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMapElement.HTMLMapElement","info":{"code":"bcd.testConstructor('HTMLMapElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLMapElement is not defined"},{"name":"api.HTMLMapElement.areas","info":{"code":"(function () {\n  var instance = document.createElement(\"map\");\n  return !!instance && \"areas\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMapElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"map\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return bcd.testObjectName(instance, \"HTMLMarqueeElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.HTMLMarqueeElement","info":{"code":"bcd.testConstructor('HTMLMarqueeElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLMarqueeElement is not defined"},{"name":"api.HTMLMarqueeElement.behavior","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"behavior\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.bgColor","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"bgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.direction","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"direction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.hspace","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"hspace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.loop","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"loop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.scrollAmount","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"scrollAmount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.scrollDelay","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"scrollDelay\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.start","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.stop","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"stop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.trueSpeed","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"trueSpeed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.vspace","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"vspace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMarqueeElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"marquee\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return bcd.testObjectName(instance, \"HTMLVideoElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.addTextTrack","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"addTextTrack\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.allowedToPlay","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"allowedToPlay\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.audioTracks","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"audioTracks\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.autoplay","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"autoplay\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.buffered","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"buffered\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.canPlayType","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"canPlayType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.captureStream","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"captureStream\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.controller","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"controller\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.controls","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"controls\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.controlsList","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"controlsList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.currentSrc","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"currentSrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.currentTime","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"currentTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.defaultMuted","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"defaultMuted\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.defaultPlaybackRate","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"defaultPlaybackRate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.disableRemotePlayback","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"disableRemotePlayback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.duration","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"duration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.ended","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"ended\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.error","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.fastSeek","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"fastSeek\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.getStartDate","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"getStartDate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.load","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"load\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.loop","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"loop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.mediaGroup","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mediaGroup\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.mediaKeys","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mediaKeys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.mozAudioCaptured","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozAudioCaptured\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.mozCaptureStreamUntilEnded","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozCaptureStreamUntilEnded\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.mozFragmentEnd","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozFragmentEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.mozGetMetadata","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozGetMetadata\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.muted","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"muted\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.networkState","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"networkState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.pause","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"pause\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.paused","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"paused\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.play","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"play\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.play.returns_promise","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  if (!(instance && instance.play)) {\n    return { result: false, message: \"instance.play is not defined\" };\n  }\n  var value = instance.play();\n  bcd.addCleanup(function () {\n    instance.pause();\n  });\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.playbackRate","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"playbackRate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.played","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"played\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.preload","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"preload\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.preservesPitch","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"preservesPitch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.readyState","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.remote","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"remote\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.seekToNextFrame","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"seekToNextFrame\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.seekable","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"seekable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.seeking","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"seeking\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.setMediaKeys","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"setMediaKeys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.setSinkId","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"setSinkId\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.sinkId","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"sinkId\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.srcObject","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"srcObject\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.textTracks","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"textTracks\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.videoTracks","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"videoTracks\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMediaElement.volume","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"volume\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuElement","info":{"code":"(function () {\n  var instance = document.createElement(\"menu\");\n  return bcd.testObjectName(instance, \"HTMLMenuElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuElement.HTMLMenuElement","info":{"code":"bcd.testConstructor('HTMLMenuElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLMenuElement is not defined"},{"name":"api.HTMLMenuElement.compact","info":{"code":"(function () {\n  var instance = document.createElement(\"menu\");\n  return !!instance && \"compact\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuElement.label","info":{"code":"(function () {\n  var instance = document.createElement(\"menu\");\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"menu\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return bcd.testObjectName(instance, \"HTMLMenuItemElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.checked","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"checked\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.default","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"default\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.icon","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"icon\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.label","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.radiogroup","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"radiogroup\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMenuItemElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"menuitem\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMetaElement","info":{"code":"(function () {\n  var instance = document.createElement(\"meta\");\n  return bcd.testObjectName(instance, \"HTMLMetaElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMetaElement.HTMLMetaElement","info":{"code":"bcd.testConstructor('HTMLMetaElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLMetaElement is not defined"},{"name":"api.HTMLMetaElement.content","info":{"code":"(function () {\n  var instance = document.createElement(\"meta\");\n  return !!instance && \"content\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMetaElement.httpEquiv","info":{"code":"(function () {\n  var instance = document.createElement(\"meta\");\n  return !!instance && \"httpEquiv\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMetaElement.media","info":{"code":"(function () {\n  var instance = document.createElement(\"meta\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMetaElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"meta\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMetaElement.scheme","info":{"code":"(function () {\n  var instance = document.createElement(\"meta\");\n  return !!instance && \"scheme\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return bcd.testObjectName(instance, \"HTMLMeterElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.HTMLMeterElement","info":{"code":"bcd.testConstructor('HTMLMeterElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLMeterElement is not defined"},{"name":"api.HTMLMeterElement.high","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"high\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.low","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"low\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.max","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"max\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.min","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"min\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.optimum","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"optimum\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLMeterElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"meter\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLModElement","info":{"code":"(function () {\n  var instance = document.createElement(\"del\");\n  return bcd.testObjectName(instance, [\"HTMLModElement\", \"HTMLDelElement\"]);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLModElement.HTMLModElement","info":{"code":"bcd.testConstructor('HTMLModElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLModElement is not defined"},{"name":"api.HTMLModElement.cite","info":{"code":"(function () {\n  var instance = document.createElement(\"del\");\n  return !!instance && \"cite\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLModElement.dateTime","info":{"code":"(function () {\n  var instance = document.createElement(\"del\");\n  return !!instance && \"dateTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLModelElement","info":{"code":"\"HTMLModelElement\" in self","exposure":"Window"},"result":false},{"name":"api.HTMLOListElement","info":{"code":"(function () {\n  var instance = document.createElement(\"ol\");\n  return bcd.testObjectName(instance, \"HTMLOListElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOListElement.HTMLOListElement","info":{"code":"bcd.testConstructor('HTMLOListElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLOListElement is not defined"},{"name":"api.HTMLOListElement.compact","info":{"code":"(function () {\n  var instance = document.createElement(\"ol\");\n  return !!instance && \"compact\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOListElement.reversed","info":{"code":"(function () {\n  var instance = document.createElement(\"ol\");\n  return !!instance && \"reversed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOListElement.start","info":{"code":"(function () {\n  var instance = document.createElement(\"ol\");\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOListElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"ol\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return bcd.testObjectName(instance, \"HTMLObjectElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.HTMLObjectElement","info":{"code":"bcd.testConstructor('HTMLObjectElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLObjectElement is not defined"},{"name":"api.HTMLObjectElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.archive","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"archive\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.border","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"border\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.code","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"code\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.codeBase","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"codeBase\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.codeType","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"codeType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.contentDocument","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"contentDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.contentWindow","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"contentWindow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.data","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.declare","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"declare\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.getSVGDocument","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"getSVGDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.hspace","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"hspace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.standby","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"standby\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.useMap","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"useMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.vspace","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"vspace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLObjectElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"object\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptGroupElement","info":{"code":"(function () {\n  var instance = document.createElement(\"optgroup\");\n  return bcd.testObjectName(instance, \"HTMLOptGroupElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptGroupElement.HTMLOptGroupElement","info":{"code":"bcd.testConstructor('HTMLOptGroupElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLOptGroupElement is not defined"},{"name":"api.HTMLOptGroupElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"optgroup\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptGroupElement.label","info":{"code":"(function () {\n  var instance = document.createElement(\"optgroup\");\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return bcd.testObjectName(instance, \"HTMLOptionElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.HTMLOptionElement","info":{"code":"bcd.testConstructor('HTMLOptionElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLOptionElement is not defined"},{"name":"api.HTMLOptionElement.Option","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return bcd.testConstructor(\"Option\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.defaultSelected","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"defaultSelected\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.index","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"index\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.label","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.selected","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"selected\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.text","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"option\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionsCollection","info":{"code":"(function () {\n  var el = document.createElement(\"select\");\n  for (var i = 0; i < 3; i++) {\n    el.appendChild(document.createElement(\"option\"));\n  }\n  var instance = el.options;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionsCollection.add","info":{"code":"(function () {\n  var el = document.createElement(\"select\");\n  for (var i = 0; i < 3; i++) {\n    el.appendChild(document.createElement(\"option\"));\n  }\n  var instance = el.options;\n  return !!instance && \"add\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionsCollection.length","info":{"code":"(function () {\n  var el = document.createElement(\"select\");\n  for (var i = 0; i < 3; i++) {\n    el.appendChild(document.createElement(\"option\"));\n  }\n  var instance = el.options;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionsCollection.remove","info":{"code":"(function () {\n  var el = document.createElement(\"select\");\n  for (var i = 0; i < 3; i++) {\n    el.appendChild(document.createElement(\"option\"));\n  }\n  var instance = el.options;\n  return !!instance && \"remove\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOptionsCollection.selectedIndex","info":{"code":"(function () {\n  var el = document.createElement(\"select\");\n  for (var i = 0; i < 3; i++) {\n    el.appendChild(document.createElement(\"option\"));\n  }\n  var instance = el.options;\n  return !!instance && \"selectedIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return bcd.testObjectName(instance, \"HTMLOutputElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.HTMLOutputElement","info":{"code":"bcd.testConstructor('HTMLOutputElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLOutputElement is not defined"},{"name":"api.HTMLOutputElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.defaultValue","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"defaultValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.htmlFor","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"htmlFor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLOutputElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"output\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParagraphElement","info":{"code":"(function () {\n  var instance = document.createElement(\"p\");\n  return bcd.testObjectName(instance, \"HTMLParagraphElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParagraphElement.HTMLParagraphElement","info":{"code":"bcd.testConstructor('HTMLParagraphElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLParagraphElement is not defined"},{"name":"api.HTMLParagraphElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"p\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParamElement","info":{"code":"(function () {\n  var instance = document.createElement(\"param\");\n  return bcd.testObjectName(instance, \"HTMLParamElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParamElement.HTMLParamElement","info":{"code":"bcd.testConstructor('HTMLParamElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLParamElement is not defined"},{"name":"api.HTMLParamElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"param\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParamElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"param\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParamElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"param\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLParamElement.valueType","info":{"code":"(function () {\n  var instance = document.createElement(\"param\");\n  return !!instance && \"valueType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPictureElement","info":{"code":"(function () {\n  var instance = document.createElement(\"picture\");\n  return bcd.testObjectName(instance, \"HTMLPictureElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPictureElement.HTMLPictureElement","info":{"code":"bcd.testConstructor('HTMLPictureElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLPictureElement is not defined"},{"name":"api.HTMLPortalElement","info":{"code":"(function () {\n  var instance = document.createElement(\"portal\");\n  return bcd.testObjectName(instance, \"HTMLPortalElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPortalElement.HTMLPortalElement","info":{"code":"bcd.testConstructor('HTMLPortalElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLPortalElement is not defined"},{"name":"api.HTMLPortalElement.activate","info":{"code":"(function () {\n  var instance = document.createElement(\"portal\");\n  return !!instance && \"activate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPortalElement.postMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"portal\");\n  return !!instance && \"postMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPortalElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"portal\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPortalElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"portal\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPreElement","info":{"code":"(function () {\n  var instance = document.createElement(\"pre\");\n  return bcd.testObjectName(instance, \"HTMLPreElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLPreElement.HTMLPreElement","info":{"code":"bcd.testConstructor('HTMLPreElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLPreElement is not defined"},{"name":"api.HTMLPreElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"pre\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLProgressElement","info":{"code":"(function () {\n  var instance = document.createElement(\"progress\");\n  return bcd.testObjectName(instance, \"HTMLProgressElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLProgressElement.HTMLProgressElement","info":{"code":"bcd.testConstructor('HTMLProgressElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLProgressElement is not defined"},{"name":"api.HTMLProgressElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"progress\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLProgressElement.max","info":{"code":"(function () {\n  var instance = document.createElement(\"progress\");\n  return !!instance && \"max\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLProgressElement.position","info":{"code":"(function () {\n  var instance = document.createElement(\"progress\");\n  return !!instance && \"position\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLProgressElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"progress\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLQuoteElement","info":{"code":"(function () {\n  var instance = document.createElement(\"blockquote\");\n  return bcd.testObjectName(instance, [\n    \"HTMLQuoteElement\",\n    \"HTMLBlockElement\",\n    \"HTMLBlockElementConstructor\",\n    \"HTMLBlockquoteElement\",\n    \"HTMLBlockquoteElementConstructor\"\n  ]);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLQuoteElement.HTMLQuoteElement","info":{"code":"bcd.testConstructor('HTMLQuoteElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLQuoteElement is not defined"},{"name":"api.HTMLQuoteElement.cite","info":{"code":"(function () {\n  var instance = document.createElement(\"blockquote\");\n  return !!instance && \"cite\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return bcd.testObjectName(instance, \"HTMLScriptElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.HTMLScriptElement","info":{"code":"bcd.testConstructor('HTMLScriptElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLScriptElement is not defined"},{"name":"api.HTMLScriptElement.async","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"async\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.attributionSrc","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"attributionSrc\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.blocking","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"blocking\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.charset","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"charset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.defer","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"defer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.event","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"event\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.fetchPriority","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"fetchPriority\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.htmlFor","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"htmlFor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.integrity","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"integrity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.noModule","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"noModule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.referrerPolicy.no-referrer-when-downgrade","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"no-referrer-when-downgrade\";\n  return instance.referrerPolicy == \"no-referrer-when-downgrade\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.referrerPolicy.origin-when-cross-origin","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"origin-when-cross-origin\";\n  return instance.referrerPolicy == \"origin-when-cross-origin\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.referrerPolicy.unsafe-url","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  if (!(\"referrerPolicy\" in instance)) {\n    return { result: false, message: \"instance.referrerPolicy is not defined\" };\n  }\n  instance.referrerPolicy = \"unsafe-url\";\n  return instance.referrerPolicy == \"unsafe-url\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.supports_static","info":{"code":"\"HTMLScriptElement\" in self && \"supports\" in HTMLScriptElement","exposure":"Window"},"result":false},{"name":"api.HTMLScriptElement.text","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLScriptElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"script\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return bcd.testObjectName(instance, \"HTMLSelectElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.HTMLSelectElement","info":{"code":"bcd.testConstructor('HTMLSelectElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLSelectElement is not defined"},{"name":"api.HTMLSelectElement.add","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"add\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.add.index_before_parameter","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  var opt1 = document.createElement(\"option\");\n  opt1.value = \"1\";\n  opt1.text = \"Option: Value 1\";\n  instance.add(opt1);\n\n  var opt2 = document.createElement(\"option\");\n  opt2.value = \"2\";\n  opt2.text = \"Option: Value 2\";\n  instance.add(opt2);\n\n  var opt3 = document.createElement(\"option\");\n  opt3.value = \"3\";\n  opt3.text = \"Option: Value 3\";\n\n  try {\n    instance.add(opt3, 1);\n\n    return instance.options[1] === opt3;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.autocomplete","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"autocomplete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.item","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.length","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.multiple","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"multiple\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.namedItem","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.options","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"options\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.remove","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"remove\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.required","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"required\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.selectedIndex","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"selectedIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.selectedOptions","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"selectedOptions\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.showPicker","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"showPicker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.size","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"select\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectedContentElement","info":{"code":"(function () {\n  var instance = document.createElement(\"selectedcontent\");\n  return bcd.testObjectName(instance, \"HTMLSelectedContentElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSelectedContentElement.HTMLSelectedContentElement","info":{"code":"bcd.testConstructor('HTMLSelectedContentElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLSelectedContentElement is not defined"},{"name":"api.HTMLShadowElement","info":{"code":"(function () {\n  var instance = document.createElement(\"shadow\");\n  return bcd.testObjectName(instance, \"HTMLShadowElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLShadowElement.getDistributedNodes","info":{"code":"(function () {\n  var instance = document.createElement(\"shadow\");\n  return !!instance && \"getDistributedNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSlotElement","info":{"code":"(function () {\n  var instance = document.createElement(\"slot\");\n  return bcd.testObjectName(instance, \"HTMLSlotElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSlotElement.HTMLSlotElement","info":{"code":"bcd.testConstructor('HTMLSlotElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLSlotElement is not defined"},{"name":"api.HTMLSlotElement.assign","info":{"code":"(function () {\n  var instance = document.createElement(\"slot\");\n  return !!instance && \"assign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSlotElement.assignedElements","info":{"code":"(function () {\n  var instance = document.createElement(\"slot\");\n  return !!instance && \"assignedElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSlotElement.assignedNodes","info":{"code":"(function () {\n  var instance = document.createElement(\"slot\");\n  return !!instance && \"assignedNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSlotElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"slot\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return bcd.testObjectName(instance, \"HTMLSourceElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.HTMLSourceElement","info":{"code":"bcd.testConstructor('HTMLSourceElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLSourceElement is not defined"},{"name":"api.HTMLSourceElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.media","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.sizes","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"sizes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.srcset","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"srcset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSourceElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"source\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSpanElement","info":{"code":"(function () {\n  var instance = document.createElement(\"span\");\n  return bcd.testObjectName(instance, \"HTMLSpanElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLSpanElement.HTMLSpanElement","info":{"code":"bcd.testConstructor('HTMLSpanElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLSpanElement is not defined"},{"name":"api.HTMLStyleElement","info":{"code":"(function () {\n  var instance = document.createElement(\"style\");\n  return bcd.testObjectName(instance, \"HTMLStyleElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLStyleElement.HTMLStyleElement","info":{"code":"bcd.testConstructor('HTMLStyleElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLStyleElement is not defined"},{"name":"api.HTMLStyleElement.blocking","info":{"code":"(function () {\n  var instance = document.createElement(\"style\");\n  return !!instance && \"blocking\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLStyleElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"style\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLStyleElement.media","info":{"code":"(function () {\n  var instance = document.createElement(\"style\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLStyleElement.sheet","info":{"code":"(function () {\n  var instance = document.createElement(\"style\");\n  return !!instance && \"sheet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLStyleElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"style\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCaptionElement","info":{"code":"(function () {\n  var instance = document.createElement(\"caption\");\n  return bcd.testObjectName(instance, \"HTMLTableCaptionElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCaptionElement.HTMLTableCaptionElement","info":{"code":"bcd.testConstructor('HTMLTableCaptionElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTableCaptionElement is not defined"},{"name":"api.HTMLTableCaptionElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"caption\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return bcd.testObjectName(instance, [\n    \"HTMLTableCellElement\",\n    \"HTMLTableDataCellElement\"\n  ]);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.HTMLTableCellElement","info":{"code":"bcd.testConstructor('HTMLTableCellElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTableCellElement is not defined"},{"name":"api.HTMLTableCellElement.abbr","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"abbr\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.axis","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"axis\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.bgColor","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"bgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.cellIndex","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"cellIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.ch","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"ch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.chOff","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"chOff\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.colSpan","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"colSpan\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.headers","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"headers\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.noWrap","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"noWrap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.rowSpan","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"rowSpan\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.scope","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"scope\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.vAlign","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"vAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableCellElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"td\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return bcd.testObjectName(instance, \"HTMLTableColElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement.HTMLTableColElement","info":{"code":"bcd.testConstructor('HTMLTableColElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTableColElement is not defined"},{"name":"api.HTMLTableColElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement.ch","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return !!instance && \"ch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement.chOff","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return !!instance && \"chOff\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement.span","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return !!instance && \"span\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement.vAlign","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return !!instance && \"vAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableColElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"col\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return bcd.testObjectName(instance, \"HTMLTableElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.HTMLTableElement","info":{"code":"bcd.testConstructor('HTMLTableElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTableElement is not defined"},{"name":"api.HTMLTableElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.bgColor","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"bgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.border","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"border\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.caption","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"caption\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.cellPadding","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"cellPadding\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.cellSpacing","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"cellSpacing\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.createCaption","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"createCaption\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.createTBody","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"createTBody\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.createTFoot","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"createTFoot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.createTHead","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"createTHead\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.deleteCaption","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"deleteCaption\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.deleteRow","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"deleteRow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.deleteTFoot","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"deleteTFoot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.deleteTHead","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"deleteTHead\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.frame","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"frame\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.insertRow","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"insertRow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.rows","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"rows\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.rules","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"rules\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.summary","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"summary\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.tBodies","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"tBodies\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.tFoot","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"tFoot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.tHead","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"tHead\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"table\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return bcd.testObjectName(instance, \"HTMLTableRowElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.HTMLTableRowElement","info":{"code":"bcd.testConstructor('HTMLTableRowElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTableRowElement is not defined"},{"name":"api.HTMLTableRowElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.bgColor","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"bgColor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.cells","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"cells\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.ch","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"ch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.chOff","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"chOff\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.deleteCell","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"deleteCell\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.insertCell","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"insertCell\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.insertCell.index_parameter_optional","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  if (!(instance && instance.insertCell)) {\n    return { result: false, message: \"instance.insertCell is not defined\" };\n  }\n  try {\n    instance.insertCell();\n    return true;\n  } catch (e) {\n    if (\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.rowIndex","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"rowIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.sectionRowIndex","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"sectionRowIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableRowElement.vAlign","info":{"code":"(function () {\n  var instance = document.createElement(\"tr\");\n  return !!instance && \"vAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return bcd.testObjectName(instance, \"HTMLTableSectionElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.HTMLTableSectionElement","info":{"code":"bcd.testConstructor('HTMLTableSectionElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTableSectionElement is not defined"},{"name":"api.HTMLTableSectionElement.align","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.ch","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"ch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.chOff","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"chOff\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.deleteRow","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"deleteRow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.insertRow","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"insertRow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.rows","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"rows\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTableSectionElement.vAlign","info":{"code":"(function () {\n  var instance = document.createElement(\"tbody\");\n  return !!instance && \"vAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return bcd.testObjectName(instance, \"HTMLTemplateElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement.HTMLTemplateElement","info":{"code":"bcd.testConstructor('HTMLTemplateElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTemplateElement is not defined"},{"name":"api.HTMLTemplateElement.content","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return !!instance && \"content\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement.shadowRootClonable","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return !!instance && \"shadowRootClonable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement.shadowRootCustomElementRegistry","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return !!instance && \"shadowRootCustomElementRegistry\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement.shadowRootDelegatesFocus","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return !!instance && \"shadowRootDelegatesFocus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement.shadowRootMode","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return !!instance && \"shadowRootMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTemplateElement.shadowRootSerializable","info":{"code":"(function () {\n  var instance = document.createElement(\"template\");\n  return !!instance && \"shadowRootSerializable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return bcd.testObjectName(instance, \"HTMLTextAreaElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.HTMLTextAreaElement","info":{"code":"bcd.testConstructor('HTMLTextAreaElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTextAreaElement is not defined"},{"name":"api.HTMLTextAreaElement.autocomplete","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"autocomplete\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.checkValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"checkValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.cols","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"cols\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.defaultValue","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"defaultValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.dirName","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"dirName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.disabled","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.form","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"form\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.labels","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"labels\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.maxLength","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"maxLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.minLength","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"minLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.name","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.placeholder","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"placeholder\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.readOnly","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"readOnly\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.reportValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"reportValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.required","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"required\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.rows","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"rows\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.select","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"select\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.selectionDirection","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"selectionDirection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.selectionEnd","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"selectionEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.selectionStart","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"selectionStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.setCustomValidity","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"setCustomValidity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.setRangeText","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"setRangeText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.setSelectionRange","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"setSelectionRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.textLength","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"textLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.validationMessage","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"validationMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.validity","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"validity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.value","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.willValidate","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"willValidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTextAreaElement.wrap","info":{"code":"(function () {\n  var instance = document.createElement(\"textarea\");\n  return !!instance && \"wrap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTimeElement","info":{"code":"(function () {\n  var instance = document.createElement(\"time\");\n  return bcd.testObjectName(instance, \"HTMLTimeElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTimeElement.HTMLTimeElement","info":{"code":"bcd.testConstructor('HTMLTimeElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTimeElement is not defined"},{"name":"api.HTMLTimeElement.dateTime","info":{"code":"(function () {\n  var instance = document.createElement(\"time\");\n  return !!instance && \"dateTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTitleElement","info":{"code":"(function () {\n  var instance = document.createElement(\"title\");\n  return bcd.testObjectName(instance, \"HTMLTitleElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTitleElement.HTMLTitleElement","info":{"code":"bcd.testConstructor('HTMLTitleElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTitleElement is not defined"},{"name":"api.HTMLTitleElement.text","info":{"code":"(function () {\n  var instance = document.createElement(\"title\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return bcd.testObjectName(instance, \"HTMLTrackElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.HTMLTrackElement","info":{"code":"bcd.testConstructor('HTMLTrackElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLTrackElement is not defined"},{"name":"api.HTMLTrackElement.default","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"default\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.kind","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"kind\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.label","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.readyState","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.src","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.srclang","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"srclang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLTrackElement.track","info":{"code":"(function () {\n  var instance = document.createElement(\"track\");\n  return !!instance && \"track\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLUListElement","info":{"code":"(function () {\n  var instance = document.createElement(\"ul\");\n  return bcd.testObjectName(instance, \"HTMLUListElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLUListElement.HTMLUListElement","info":{"code":"bcd.testConstructor('HTMLUListElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLUListElement is not defined"},{"name":"api.HTMLUListElement.compact","info":{"code":"(function () {\n  var instance = document.createElement(\"ul\");\n  return !!instance && \"compact\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLUListElement.type","info":{"code":"(function () {\n  var instance = document.createElement(\"ul\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLUnknownElement","info":{"code":"(function () {\n  var instance = document.createElement(\"unknown\");\n  return bcd.testObjectName(instance, \"HTMLUnknownElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return bcd.testObjectName(instance, \"HTMLVideoElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.HTMLVideoElement","info":{"code":"bcd.testConstructor('HTMLVideoElement')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HTMLVideoElement is not defined"},{"name":"api.HTMLVideoElement.cancelVideoFrameCallback","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"cancelVideoFrameCallback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.disablePictureInPicture","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"disablePictureInPicture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.getVideoPlaybackQuality","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"getVideoPlaybackQuality\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.height","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.mozDecodedFrames","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozDecodedFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.mozFrameDelay","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozFrameDelay\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.mozHasAudio","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozHasAudio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.mozPaintedFrames","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozPaintedFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.mozParsedFrames","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozParsedFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.mozPresentedFrames","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"mozPresentedFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.playsInline","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"playsInline\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.poster","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"poster\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.requestPictureInPicture","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"requestPictureInPicture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.requestVideoFrameCallback","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"requestVideoFrameCallback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.videoHeight","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"videoHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.videoWidth","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"videoWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HTMLVideoElement.width","info":{"code":"(function () {\n  var instance = document.createElement(\"video\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HandwritingDrawing","info":{"code":"\"HandwritingDrawing\" in self","exposure":"Window"},"result":false},{"name":"api.HandwritingDrawing.addStroke","info":{"code":"\"HandwritingDrawing\" in self && \"addStroke\" in HandwritingDrawing.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingDrawing.clear","info":{"code":"\"HandwritingDrawing\" in self && \"clear\" in HandwritingDrawing.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingDrawing.getPrediction","info":{"code":"\"HandwritingDrawing\" in self && \"getPrediction\" in HandwritingDrawing.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingDrawing.getStrokes","info":{"code":"\"HandwritingDrawing\" in self && \"getStrokes\" in HandwritingDrawing.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingDrawing.removeStroke","info":{"code":"\"HandwritingDrawing\" in self && \"removeStroke\" in HandwritingDrawing.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingRecognizer","info":{"code":"\"HandwritingRecognizer\" in self","exposure":"Window"},"result":false},{"name":"api.HandwritingRecognizer.finish","info":{"code":"\"HandwritingRecognizer\" in self && \"finish\" in HandwritingRecognizer.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingRecognizer.startDrawing","info":{"code":"\"HandwritingRecognizer\" in self && \"startDrawing\" in HandwritingRecognizer.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingStroke","info":{"code":"\"HandwritingStroke\" in self","exposure":"Window"},"result":false},{"name":"api.HandwritingStroke.HandwritingStroke","info":{"code":"bcd.testConstructor('HandwritingStroke')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HandwritingStroke is not defined"},{"name":"api.HandwritingStroke.addPoint","info":{"code":"\"HandwritingStroke\" in self && \"addPoint\" in HandwritingStroke.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingStroke.clear","info":{"code":"\"HandwritingStroke\" in self && \"clear\" in HandwritingStroke.prototype","exposure":"Window"},"result":false},{"name":"api.HandwritingStroke.getPoints","info":{"code":"\"HandwritingStroke\" in self && \"getPoints\" in HandwritingStroke.prototype","exposure":"Window"},"result":false},{"name":"api.HashChangeEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new HashChangeEvent(\"hashchange\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"HashChangeEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HashChangeEvent.HashChangeEvent","info":{"code":"bcd.testConstructor('HashChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: HashChangeEvent is not defined"},{"name":"api.HashChangeEvent.newURL","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new HashChangeEvent(\"hashchange\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"HashChangeEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"newURL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.HashChangeEvent.oldURL","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new HashChangeEvent(\"hashchange\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"HashChangeEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"oldURL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Headers","info":{"code":"\"Headers\" in self","exposure":"Window"},"result":true},{"name":"api.Headers.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"Headers\" in self && !!(Headers.prototype[Symbol.iterator])","exposure":"Window"},"result":true},{"name":"api.Headers.Headers","info":{"code":"bcd.testConstructor('Headers')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.Headers.append","info":{"code":"\"Headers\" in self && \"append\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.delete","info":{"code":"\"Headers\" in self && \"delete\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.entries","info":{"code":"\"Headers\" in self && \"entries\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.forEach","info":{"code":"\"Headers\" in self && \"forEach\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.get","info":{"code":"\"Headers\" in self && \"get\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.getSetCookie","info":{"code":"\"Headers\" in self && \"getSetCookie\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.has","info":{"code":"\"Headers\" in self && \"has\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.iterate_lexicographically","info":{"code":"(function () {\n  if (!(\"Headers\" in self)) {\n    return { result: false, message: \"Headers is not defined\" };\n  }\n  var h = new Headers({ \"X-Framework\": \"web2py\", \"Content-Type\": \"text/xml\" });\n  var entry = h.entries().next().value;\n  // If the headers are sorted, the first entry should be 'Content-Type'\n  return entry[0].toLowerCase() === \"content-type\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.Headers.keys","info":{"code":"\"Headers\" in self && \"keys\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.set","info":{"code":"\"Headers\" in self && \"set\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Headers.values","info":{"code":"\"Headers\" in self && \"values\" in Headers.prototype","exposure":"Window"},"result":true},{"name":"api.Highlight","info":{"code":"\"Highlight\" in self","exposure":"Window"},"result":false},{"name":"api.Highlight.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"Highlight\" in self && !!(Highlight.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.Highlight.Highlight","info":{"code":"bcd.testConstructor('Highlight')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Highlight is not defined"},{"name":"api.Highlight.add","info":{"code":"\"Highlight\" in self && \"add\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.clear","info":{"code":"\"Highlight\" in self && \"clear\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.delete","info":{"code":"\"Highlight\" in self && \"delete\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.entries","info":{"code":"\"Highlight\" in self && \"entries\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.forEach","info":{"code":"\"Highlight\" in self && \"forEach\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.has","info":{"code":"\"Highlight\" in self && \"has\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.keys","info":{"code":"\"Highlight\" in self && \"keys\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.priority","info":{"code":"\"Highlight\" in self && \"priority\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.size","info":{"code":"\"Highlight\" in self && \"size\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.type","info":{"code":"\"Highlight\" in self && \"type\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.Highlight.values","info":{"code":"\"Highlight\" in self && \"values\" in Highlight.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry","info":{"code":"\"HighlightRegistry\" in self","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"HighlightRegistry\" in self && !!(HighlightRegistry.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.clear","info":{"code":"\"HighlightRegistry\" in self && \"clear\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.delete","info":{"code":"\"HighlightRegistry\" in self && \"delete\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.entries","info":{"code":"\"HighlightRegistry\" in self && \"entries\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.forEach","info":{"code":"\"HighlightRegistry\" in self && \"forEach\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.get","info":{"code":"\"HighlightRegistry\" in self && \"get\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.has","info":{"code":"\"HighlightRegistry\" in self && \"has\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.highlightsFromPoint","info":{"code":"\"HighlightRegistry\" in self && \"highlightsFromPoint\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.keys","info":{"code":"\"HighlightRegistry\" in self && \"keys\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.set","info":{"code":"\"HighlightRegistry\" in self && \"set\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.size","info":{"code":"\"HighlightRegistry\" in self && \"size\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.HighlightRegistry.values","info":{"code":"\"HighlightRegistry\" in self && \"values\" in HighlightRegistry.prototype","exposure":"Window"},"result":false},{"name":"api.History","info":{"code":"(function () {\n  var instance = history;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.back","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"back\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.forward","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"forward\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.go","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"go\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.length","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.pushState","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"pushState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.replaceState","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"replaceState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.scrollRestoration","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"scrollRestoration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.History.state","info":{"code":"(function () {\n  var instance = history;\n  return !!instance && \"state\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: history is not defined"},{"name":"api.IDBCursor","info":{"code":"\"IDBCursor\" in self","exposure":"Window"},"result":false},{"name":"api.IDBCursor.advance","info":{"code":"\"IDBCursor\" in self && \"advance\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.continue","info":{"code":"\"IDBCursor\" in self && \"continue\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.continuePrimaryKey","info":{"code":"\"IDBCursor\" in self && \"continuePrimaryKey\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.delete","info":{"code":"\"IDBCursor\" in self && \"delete\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.direction","info":{"code":"\"IDBCursor\" in self && \"direction\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.key","info":{"code":"\"IDBCursor\" in self && \"key\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.primaryKey","info":{"code":"\"IDBCursor\" in self && \"primaryKey\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.request","info":{"code":"\"IDBCursor\" in self && \"request\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.source","info":{"code":"\"IDBCursor\" in self && \"source\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursor.update","info":{"code":"\"IDBCursor\" in self && \"update\" in IDBCursor.prototype","exposure":"Window"},"result":false},{"name":"api.IDBCursorWithValue","info":{"code":"\"IDBCursorWithValue\" in self","exposure":"Window"},"result":false},{"name":"api.IDBCursorWithValue.value","info":{"code":"\"IDBCursorWithValue\" in self && \"value\" in IDBCursorWithValue.prototype","exposure":"Window"},"result":false},{"name":"api.IDBDatabase","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.close","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"close\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.createObjectStore","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"createObjectStore\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.deleteObjectStore","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"deleteObjectStore\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.name","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"name\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.objectStoreNames","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"objectStoreNames\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.transaction","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"transaction\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBDatabase.version","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var req = idb.open(\"collector\");\n  if (!req) {\n    return { result: false, message: \"req is falsy\" };\n  }\n  req.onsuccess = function () {\n    callback(req.result);\n  };\n  req.onerror = function (event) {\n    fail(event.message);\n  };\n  function callback(instance) {\n    try {\n      success(!!instance && \"version\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBFactory","info":{"code":"(function () {\n  var instance =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.IDBFactory.cmp","info":{"code":"(function () {\n  var instance =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  return !!instance && \"cmp\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.IDBFactory.databases","info":{"code":"(function () {\n  var instance =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  return !!instance && \"databases\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.IDBFactory.deleteDatabase","info":{"code":"(function () {\n  var instance =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  return !!instance && \"deleteDatabase\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.IDBFactory.open","info":{"code":"(function () {\n  var instance =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.IDBIndex","info":{"code":"\"IDBIndex\" in self","exposure":"Window"},"result":false},{"name":"api.IDBIndex.count","info":{"code":"\"IDBIndex\" in self && \"count\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.get","info":{"code":"\"IDBIndex\" in self && \"get\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.getAll","info":{"code":"\"IDBIndex\" in self && \"getAll\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.getAllKeys","info":{"code":"\"IDBIndex\" in self && \"getAllKeys\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.getAllRecords","info":{"code":"\"IDBIndex\" in self && \"getAllRecords\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.getKey","info":{"code":"\"IDBIndex\" in self && \"getKey\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.isAutoLocale","info":{"code":"\"IDBIndex\" in self && \"isAutoLocale\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.keyPath","info":{"code":"\"IDBIndex\" in self && \"keyPath\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.locale","info":{"code":"\"IDBIndex\" in self && \"locale\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.multiEntry","info":{"code":"\"IDBIndex\" in self && \"multiEntry\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.name","info":{"code":"\"IDBIndex\" in self && \"name\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.objectStore","info":{"code":"\"IDBIndex\" in self && \"objectStore\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.openCursor","info":{"code":"\"IDBIndex\" in self && \"openCursor\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.openKeyCursor","info":{"code":"\"IDBIndex\" in self && \"openKeyCursor\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBIndex.unique","info":{"code":"\"IDBIndex\" in self && \"unique\" in IDBIndex.prototype","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange","info":{"code":"\"IDBKeyRange\" in self","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.bound_static","info":{"code":"\"IDBKeyRange\" in self && \"bound\" in IDBKeyRange","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.includes","info":{"code":"\"IDBKeyRange\" in self && \"includes\" in IDBKeyRange.prototype","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.lower","info":{"code":"\"IDBKeyRange\" in self && \"lower\" in IDBKeyRange.prototype","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.lowerBound_static","info":{"code":"\"IDBKeyRange\" in self && \"lowerBound\" in IDBKeyRange","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.lowerOpen","info":{"code":"\"IDBKeyRange\" in self && \"lowerOpen\" in IDBKeyRange.prototype","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.only_static","info":{"code":"\"IDBKeyRange\" in self && \"only\" in IDBKeyRange","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.upper","info":{"code":"\"IDBKeyRange\" in self && \"upper\" in IDBKeyRange.prototype","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.upperBound_static","info":{"code":"\"IDBKeyRange\" in self && \"upperBound\" in IDBKeyRange","exposure":"Window"},"result":false},{"name":"api.IDBKeyRange.upperOpen","info":{"code":"\"IDBKeyRange\" in self && \"upperOpen\" in IDBKeyRange.prototype","exposure":"Window"},"result":false},{"name":"api.IDBLocaleAwareKeyRange","info":{"code":"\"IDBLocaleAwareKeyRange\" in self","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore","info":{"code":"\"IDBObjectStore\" in self","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.add","info":{"code":"\"IDBObjectStore\" in self && \"add\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.autoIncrement","info":{"code":"\"IDBObjectStore\" in self && \"autoIncrement\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.clear","info":{"code":"\"IDBObjectStore\" in self && \"clear\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.count","info":{"code":"\"IDBObjectStore\" in self && \"count\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.createIndex","info":{"code":"\"IDBObjectStore\" in self && \"createIndex\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.delete","info":{"code":"\"IDBObjectStore\" in self && \"delete\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.deleteIndex","info":{"code":"\"IDBObjectStore\" in self && \"deleteIndex\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.get","info":{"code":"\"IDBObjectStore\" in self && \"get\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.getAll","info":{"code":"\"IDBObjectStore\" in self && \"getAll\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.getAllKeys","info":{"code":"\"IDBObjectStore\" in self && \"getAllKeys\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.getAllRecords","info":{"code":"\"IDBObjectStore\" in self && \"getAllRecords\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.getKey","info":{"code":"\"IDBObjectStore\" in self && \"getKey\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.index","info":{"code":"\"IDBObjectStore\" in self && \"index\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.indexNames","info":{"code":"\"IDBObjectStore\" in self && \"indexNames\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.keyPath","info":{"code":"\"IDBObjectStore\" in self && \"keyPath\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.name","info":{"code":"\"IDBObjectStore\" in self && \"name\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.openCursor","info":{"code":"\"IDBObjectStore\" in self && \"openCursor\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.openKeyCursor","info":{"code":"\"IDBObjectStore\" in self && \"openKeyCursor\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.put","info":{"code":"\"IDBObjectStore\" in self && \"put\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBObjectStore.transaction","info":{"code":"\"IDBObjectStore\" in self && \"transaction\" in IDBObjectStore.prototype","exposure":"Window"},"result":false},{"name":"api.IDBOpenDBRequest","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBRecord","info":{"code":"\"IDBRecord\" in self","exposure":"Window"},"result":false},{"name":"api.IDBRecord.key","info":{"code":"\"IDBRecord\" in self && \"key\" in IDBRecord.prototype","exposure":"Window"},"result":false},{"name":"api.IDBRecord.primaryKey","info":{"code":"\"IDBRecord\" in self && \"primaryKey\" in IDBRecord.prototype","exposure":"Window"},"result":false},{"name":"api.IDBRecord.value","info":{"code":"\"IDBRecord\" in self && \"value\" in IDBRecord.prototype","exposure":"Window"},"result":false},{"name":"api.IDBRequest","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBRequest.error","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBRequest.readyState","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBRequest.result","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBRequest.source","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance && \"source\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBRequest.transaction","info":{"code":"(function () {\n  var idb =\n    self.indexedDB ||\n    self.mozIndexedDB ||\n    self.webkitIndexedDB ||\n    self.msIndexedDB;\n  if (!idb) {\n    return { result: false, message: \"idb is falsy\" };\n  }\n  var instance = idb.open(\"collector\");\n  return !!instance && \"transaction\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"idb is falsy"},{"name":"api.IDBTransaction","info":{"code":"\"IDBTransaction\" in self","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.abort","info":{"code":"\"IDBTransaction\" in self && \"abort\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.commit","info":{"code":"\"IDBTransaction\" in self && \"commit\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.db","info":{"code":"\"IDBTransaction\" in self && \"db\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.durability","info":{"code":"\"IDBTransaction\" in self && \"durability\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.error","info":{"code":"\"IDBTransaction\" in self && \"error\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.mode","info":{"code":"\"IDBTransaction\" in self && \"mode\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.objectStore","info":{"code":"\"IDBTransaction\" in self && \"objectStore\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBTransaction.objectStoreNames","info":{"code":"\"IDBTransaction\" in self && \"objectStoreNames\" in IDBTransaction.prototype","exposure":"Window"},"result":false},{"name":"api.IDBVersionChangeEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new IDBVersionChangeEvent(\"upgradeneeded\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"IDBVersionChangeEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.IDBVersionChangeEvent.IDBVersionChangeEvent","info":{"code":"bcd.testConstructor('IDBVersionChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: IDBVersionChangeEvent is not defined"},{"name":"api.IDBVersionChangeEvent.newVersion","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new IDBVersionChangeEvent(\"upgradeneeded\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"IDBVersionChangeEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"newVersion\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.IDBVersionChangeEvent.oldVersion","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new IDBVersionChangeEvent(\"upgradeneeded\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"IDBVersionChangeEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"oldVersion\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.IIRFilterNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createIIRFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createIIRFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createIIRFilter([1], [1]);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.IIRFilterNode.IIRFilterNode","info":{"code":"bcd.testConstructor('IIRFilterNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: IIRFilterNode is not defined"},{"name":"api.IIRFilterNode.getFrequencyResponse","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createIIRFilter\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createIIRFilter is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createIIRFilter([1], [1]);\n  return !!instance && \"getFrequencyResponse\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.IdentityCredential","info":{"code":"\"IdentityCredential\" in self","exposure":"Window"},"result":false},{"name":"api.IdentityCredential.configURL","info":{"code":"\"IdentityCredential\" in self && \"configURL\" in IdentityCredential.prototype","exposure":"Window"},"result":false},{"name":"api.IdentityCredential.disconnect_static","info":{"code":"\"IdentityCredential\" in self && \"disconnect\" in IdentityCredential","exposure":"Window"},"result":false},{"name":"api.IdentityCredential.isAutoSelected","info":{"code":"\"IdentityCredential\" in self && \"isAutoSelected\" in IdentityCredential.prototype","exposure":"Window"},"result":false},{"name":"api.IdentityCredential.token","info":{"code":"\"IdentityCredential\" in self && \"token\" in IdentityCredential.prototype","exposure":"Window"},"result":false},{"name":"api.IdentityCredentialError","info":{"code":"\"IdentityCredentialError\" in self","exposure":"Window"},"result":false},{"name":"api.IdentityCredentialError.IdentityCredentialError","info":{"code":"bcd.testConstructor('IdentityCredentialError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: IdentityCredentialError is not defined"},{"name":"api.IdentityCredentialError.error","info":{"code":"\"IdentityCredentialError\" in self && \"error\" in IdentityCredentialError.prototype","exposure":"Window"},"result":false},{"name":"api.IdentityCredentialError.url","info":{"code":"\"IdentityCredentialError\" in self && \"url\" in IdentityCredentialError.prototype","exposure":"Window"},"result":false},{"name":"api.IdentityProvider","info":{"code":"\"IdentityProvider\" in self","exposure":"Window"},"result":false},{"name":"api.IdentityProvider.close_static","info":{"code":"\"IdentityProvider\" in self && \"close\" in IdentityProvider","exposure":"Window"},"result":false},{"name":"api.IdentityProvider.getUserInfo_static","info":{"code":"\"IdentityProvider\" in self && \"getUserInfo\" in IdentityProvider","exposure":"Window"},"result":false},{"name":"api.IdentityProvider.resolve_static","info":{"code":"\"IdentityProvider\" in self && \"resolve\" in IdentityProvider","exposure":"Window"},"result":false},{"name":"api.IdleDeadline","info":{"code":"\"IdleDeadline\" in self","exposure":"Window"},"result":false},{"name":"api.IdleDeadline.didTimeout","info":{"code":"\"IdleDeadline\" in self && \"didTimeout\" in IdleDeadline.prototype","exposure":"Window"},"result":false},{"name":"api.IdleDeadline.timeRemaining","info":{"code":"\"IdleDeadline\" in self && \"timeRemaining\" in IdleDeadline.prototype","exposure":"Window"},"result":false},{"name":"api.IdleDetector","info":{"code":"\"IdleDetector\" in self","exposure":"Window"},"result":false},{"name":"api.IdleDetector.IdleDetector","info":{"code":"bcd.testConstructor('IdleDetector')","exposure":"Window"},"result":false,"message":"threw ReferenceError: IdleDetector is not defined"},{"name":"api.IdleDetector.requestPermission_static","info":{"code":"\"IdleDetector\" in self && \"requestPermission\" in IdleDetector","exposure":"Window"},"result":false},{"name":"api.IdleDetector.screenState","info":{"code":"\"IdleDetector\" in self && \"screenState\" in IdleDetector.prototype","exposure":"Window"},"result":false},{"name":"api.IdleDetector.start","info":{"code":"\"IdleDetector\" in self && \"start\" in IdleDetector.prototype","exposure":"Window"},"result":false},{"name":"api.IdleDetector.userState","info":{"code":"\"IdleDetector\" in self && \"userState\" in IdleDetector.prototype","exposure":"Window"},"result":false},{"name":"api.ImageBitmap","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmap\n    return {\n      result: null,\n      message: \"Testing ImageBitmap in workers is not yet implemented\"\n    };\n  }\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"Cannot create image bitmap\" };\n  }\n  var promise = createImageBitmap(\n    document.getElementById(\"resource-image-black\")\n  );\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmap in workers is not yet implemented"},{"name":"api.ImageBitmap.close","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmap\n    return {\n      result: null,\n      message: \"Testing ImageBitmap in workers is not yet implemented\"\n    };\n  }\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"Cannot create image bitmap\" };\n  }\n  var promise = createImageBitmap(\n    document.getElementById(\"resource-image-black\")\n  );\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"close\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmap in workers is not yet implemented"},{"name":"api.ImageBitmap.height","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmap\n    return {\n      result: null,\n      message: \"Testing ImageBitmap in workers is not yet implemented\"\n    };\n  }\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"Cannot create image bitmap\" };\n  }\n  var promise = createImageBitmap(\n    document.getElementById(\"resource-image-black\")\n  );\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"height\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmap in workers is not yet implemented"},{"name":"api.ImageBitmap.width","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmap\n    return {\n      result: null,\n      message: \"Testing ImageBitmap in workers is not yet implemented\"\n    };\n  }\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"Cannot create image bitmap\" };\n  }\n  var promise = createImageBitmap(\n    document.getElementById(\"resource-image-black\")\n  );\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"width\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmap in workers is not yet implemented"},{"name":"api.ImageBitmapRenderingContext","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmapRenderingContext\n    return {\n      result: null,\n      message:\n        \"Testing ImageBitmapRenderingContext in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"bitmaprenderer\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmapRenderingContext in workers is not yet implemented"},{"name":"api.ImageBitmapRenderingContext.canvas","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmapRenderingContext\n    return {\n      result: null,\n      message:\n        \"Testing ImageBitmapRenderingContext in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"bitmaprenderer\");\n  return !!instance && \"canvas\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmapRenderingContext in workers is not yet implemented"},{"name":"api.ImageBitmapRenderingContext.transferFromImageBitmap","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for ImageBitmapRenderingContext\n    return {\n      result: null,\n      message:\n        \"Testing ImageBitmapRenderingContext in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var instance = canvas.getContext(\"bitmaprenderer\");\n  return !!instance && \"transferFromImageBitmap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing ImageBitmapRenderingContext in workers is not yet implemented"},{"name":"api.ImageCapture","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  if (!(\"ImageCapture\" in self)) {\n    return { result: false, message: \"ImageCapture is not defined\" };\n  }\n  var stream = mediaDevices.getUserMedia({ video: true });\n  stream.then(function () {});\n  var promise = stream.then(function (s) {\n    var tracks = s.getVideoTracks();\n    return new ImageCapture(tracks[0]);\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ImageCapture.ImageCapture","info":{"code":"bcd.testConstructor('ImageCapture')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ImageCapture is not defined"},{"name":"api.ImageCapture.getPhotoCapabilities","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  if (!(\"ImageCapture\" in self)) {\n    return { result: false, message: \"ImageCapture is not defined\" };\n  }\n  var stream = mediaDevices.getUserMedia({ video: true });\n  stream.then(function () {});\n  var promise = stream.then(function (s) {\n    var tracks = s.getVideoTracks();\n    return new ImageCapture(tracks[0]);\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"getPhotoCapabilities\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ImageCapture.getPhotoSettings","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  if (!(\"ImageCapture\" in self)) {\n    return { result: false, message: \"ImageCapture is not defined\" };\n  }\n  var stream = mediaDevices.getUserMedia({ video: true });\n  stream.then(function () {});\n  var promise = stream.then(function (s) {\n    var tracks = s.getVideoTracks();\n    return new ImageCapture(tracks[0]);\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"getPhotoSettings\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ImageCapture.grabFrame","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  if (!(\"ImageCapture\" in self)) {\n    return { result: false, message: \"ImageCapture is not defined\" };\n  }\n  var stream = mediaDevices.getUserMedia({ video: true });\n  stream.then(function () {});\n  var promise = stream.then(function (s) {\n    var tracks = s.getVideoTracks();\n    return new ImageCapture(tracks[0]);\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"grabFrame\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ImageCapture.takePhoto","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  if (!(\"ImageCapture\" in self)) {\n    return { result: false, message: \"ImageCapture is not defined\" };\n  }\n  var stream = mediaDevices.getUserMedia({ video: true });\n  stream.then(function () {});\n  var promise = stream.then(function (s) {\n    var tracks = s.getVideoTracks();\n    return new ImageCapture(tracks[0]);\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"takePhoto\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ImageCapture.track","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  if (!(\"ImageCapture\" in self)) {\n    return { result: false, message: \"ImageCapture is not defined\" };\n  }\n  var stream = mediaDevices.getUserMedia({ video: true });\n  stream.then(function () {});\n  var promise = stream.then(function (s) {\n    var tracks = s.getVideoTracks();\n    return new ImageCapture(tracks[0]);\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"track\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ImageData","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.ImageData.ImageData","info":{"code":"bcd.testConstructor('ImageData')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ImageData is not defined"},{"name":"api.ImageData.ImageData.settings_parameter","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  if (!(\"ImageData\" in self)) {\n    return { result: false, message: \"ImageData is not defined\" };\n  }\n  instance = new ImageData(new Uint8ClampedArray(4 * 16 * 16), 16, 16, {\n    colorSpace: \"display-p3\"\n  });\n  return instance.colorSpace == \"display-p3\";\n})();\n","exposure":"Window"},"result":false,"message":"ImageData is not defined"},{"name":"api.ImageData.ImageData.settings_parameter.colorSpace_option","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  if (!(\"ImageData\" in self)) {\n    return { result: false, message: \"ImageData is not defined\" };\n  }\n  instance = new ImageData(new Uint8ClampedArray(4 * 16 * 16), 16, 16, {\n    colorSpace: \"display-p3\"\n  });\n  return instance.colorSpace == \"display-p3\";\n})();\n","exposure":"Window"},"result":false,"message":"ImageData is not defined"},{"name":"api.ImageData.ImageData.settings_parameter.desynchronized_option","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  if (!(\"ImageData\" in self)) {\n    return { result: false, message: \"ImageData is not defined\" };\n  }\n  instance = new ImageData(new Uint8ClampedArray(4 * 16 * 16), 16, 16, {\n    desynchronized: true\n  });\n  return instance.desynchronized == true;\n})();\n","exposure":"Window"},"result":false,"message":"ImageData is not defined"},{"name":"api.ImageData.ImageData.settings_parameter.pixelFormat_option","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  if (!(\"ImageData\" in self)) {\n    return { result: false, message: \"ImageData is not defined\" };\n  }\n  instance = new ImageData(new Uint8ClampedArray(4 * 16 * 16), 16, 16, {\n    pixelFormat: \"rgba-float16\"\n  });\n  return instance.pixelFormat == \"rgba-float16\";\n})();\n","exposure":"Window"},"result":false,"message":"ImageData is not defined"},{"name":"api.ImageData.colorSpace","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  return !!instance && \"colorSpace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.ImageData.data","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.ImageData.height","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.ImageData.pixelFormat","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  return !!instance && \"pixelFormat\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.ImageData.width","info":{"code":"(function () {\n  var instance;\n  if (\"ImageData\" in self) {\n    instance = new ImageData(5, 5);\n  } else if (\"document\" in self) {\n    if (!(\"document\" in self)) {\n      // XXX Implement worker tests for CanvasRenderingContext2D\n      return {\n        result: null,\n        message:\n          \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n      };\n    }\n    var canvas = document.createElement(\"canvas\");\n    if (!canvas) {\n      return { result: false, message: \"Could not create canvas element\" };\n    }\n    var ctx = canvas.getContext(\"2d\");\n    if (!ctx) {\n      return { result: false, message: \"ctx is falsy\" };\n    }\n    instance = ctx.createImageData(16, 16);\n  }\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.ImageDecoder","info":{"code":"\"ImageDecoder\" in self","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.ImageDecoder","info":{"code":"bcd.testConstructor('ImageDecoder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ImageDecoder is not defined"},{"name":"api.ImageDecoder.close","info":{"code":"\"ImageDecoder\" in self && \"close\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.complete","info":{"code":"\"ImageDecoder\" in self && \"complete\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.completed","info":{"code":"\"ImageDecoder\" in self && \"completed\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.decode","info":{"code":"\"ImageDecoder\" in self && \"decode\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.isTypeSupported_static","info":{"code":"\"ImageDecoder\" in self && \"isTypeSupported\" in ImageDecoder","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.reset","info":{"code":"\"ImageDecoder\" in self && \"reset\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.tracks","info":{"code":"\"ImageDecoder\" in self && \"tracks\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageDecoder.type","info":{"code":"\"ImageDecoder\" in self && \"type\" in ImageDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrack","info":{"code":"\"ImageTrack\" in self","exposure":"Window"},"result":false},{"name":"api.ImageTrack.animated","info":{"code":"\"ImageTrack\" in self && \"animated\" in ImageTrack.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrack.frameCount","info":{"code":"\"ImageTrack\" in self && \"frameCount\" in ImageTrack.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrack.repetitionCount","info":{"code":"\"ImageTrack\" in self && \"repetitionCount\" in ImageTrack.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrack.selected","info":{"code":"\"ImageTrack\" in self && \"selected\" in ImageTrack.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrackList","info":{"code":"\"ImageTrackList\" in self","exposure":"Window"},"result":false},{"name":"api.ImageTrackList.length","info":{"code":"\"ImageTrackList\" in self && \"length\" in ImageTrackList.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrackList.ready","info":{"code":"\"ImageTrackList\" in self && \"ready\" in ImageTrackList.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrackList.selectedIndex","info":{"code":"\"ImageTrackList\" in self && \"selectedIndex\" in ImageTrackList.prototype","exposure":"Window"},"result":false},{"name":"api.ImageTrackList.selectedTrack","info":{"code":"\"ImageTrackList\" in self && \"selectedTrack\" in ImageTrackList.prototype","exposure":"Window"},"result":false},{"name":"api.Ink","info":{"code":"\"Ink\" in self","exposure":"Window"},"result":false},{"name":"api.Ink.requestPresenter","info":{"code":"\"Ink\" in self && \"requestPresenter\" in Ink.prototype","exposure":"Window"},"result":false},{"name":"api.InputDeviceCapabilities","info":{"code":"\"InputDeviceCapabilities\" in self","exposure":"Window"},"result":false},{"name":"api.InputDeviceCapabilities.InputDeviceCapabilities","info":{"code":"bcd.testConstructor('InputDeviceCapabilities')","exposure":"Window"},"result":false,"message":"threw ReferenceError: InputDeviceCapabilities is not defined"},{"name":"api.InputDeviceCapabilities.firesTouchEvents","info":{"code":"\"InputDeviceCapabilities\" in self && \"firesTouchEvents\" in InputDeviceCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.InputDeviceCapabilities.pointerMovementScrolls","info":{"code":"\"InputDeviceCapabilities\" in self && \"pointerMovementScrolls\" in InputDeviceCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.InputDeviceInfo","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      for (var i = 0; i < devices.length; i++) {\n        if (\n          devices[i].kind == \"audioinput\" ||\n          devices[i].kind == \"videoinput\"\n        ) {\n          return devices[i];\n        }\n      }\n    });\n  promise.then(function (inst) {\n    if (!(\"getCapabilities\" in inst)) {\n      return {\n        result: false,\n        message:\n          \"Instance is only parent type MediaDeviceInfo, not InputDeviceInfo\"\n      };\n    }\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.InputDeviceInfo.getCapabilities","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      for (var i = 0; i < devices.length; i++) {\n        if (\n          devices[i].kind == \"audioinput\" ||\n          devices[i].kind == \"videoinput\"\n        ) {\n          return devices[i];\n        }\n      }\n    });\n  promise.then(function (inst) {\n    if (!(\"getCapabilities\" in inst)) {\n      return {\n        result: false,\n        message:\n          \"Instance is only parent type MediaDeviceInfo, not InputDeviceInfo\"\n      };\n    }\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"getCapabilities\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.InputEvent","info":{"code":"(function () {\n  if (!(\"InputEvent\" in self)) {\n    return { result: false, message: \"InputEvent is not defined\" };\n  }\n  var instance = new InputEvent(\"input\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"InputEvent is not defined"},{"name":"api.InputEvent.InputEvent","info":{"code":"bcd.testConstructor('InputEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: InputEvent is not defined"},{"name":"api.InputEvent.data","info":{"code":"(function () {\n  if (!(\"InputEvent\" in self)) {\n    return { result: false, message: \"InputEvent is not defined\" };\n  }\n  var instance = new InputEvent(\"input\");\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"InputEvent is not defined"},{"name":"api.InputEvent.dataTransfer","info":{"code":"(function () {\n  if (!(\"InputEvent\" in self)) {\n    return { result: false, message: \"InputEvent is not defined\" };\n  }\n  var instance = new InputEvent(\"input\");\n  return !!instance && \"dataTransfer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"InputEvent is not defined"},{"name":"api.InputEvent.getTargetRanges","info":{"code":"(function () {\n  if (!(\"InputEvent\" in self)) {\n    return { result: false, message: \"InputEvent is not defined\" };\n  }\n  var instance = new InputEvent(\"input\");\n  return !!instance && \"getTargetRanges\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"InputEvent is not defined"},{"name":"api.InputEvent.inputType","info":{"code":"(function () {\n  if (!(\"InputEvent\" in self)) {\n    return { result: false, message: \"InputEvent is not defined\" };\n  }\n  var instance = new InputEvent(\"input\");\n  return !!instance && \"inputType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"InputEvent is not defined"},{"name":"api.InputEvent.isComposing","info":{"code":"(function () {\n  if (!(\"InputEvent\" in self)) {\n    return { result: false, message: \"InputEvent is not defined\" };\n  }\n  var instance = new InputEvent(\"input\");\n  return !!instance && \"isComposing\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"InputEvent is not defined"},{"name":"api.IntersectionObserver","info":{"code":"\"IntersectionObserver\" in self","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.IntersectionObserver","info":{"code":"bcd.testConstructor('IntersectionObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: IntersectionObserver is not defined"},{"name":"api.IntersectionObserver.IntersectionObserver.options_root_parameter_Document","info":{"code":"(function () {\n  if (!(\"IntersectionObserver\" in self)) {\n    return { result: false, message: \"IntersectionObserver is not defined\" };\n  }\n  try {\n    new IntersectionObserver(function () {}, { root: document });\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"IntersectionObserver is not defined"},{"name":"api.IntersectionObserver.delay","info":{"code":"\"IntersectionObserver\" in self && \"delay\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.disconnect","info":{"code":"\"IntersectionObserver\" in self && \"disconnect\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.observe","info":{"code":"\"IntersectionObserver\" in self && \"observe\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.root","info":{"code":"\"IntersectionObserver\" in self && \"root\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.rootMargin","info":{"code":"\"IntersectionObserver\" in self && \"rootMargin\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.scrollMargin","info":{"code":"\"IntersectionObserver\" in self && \"scrollMargin\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.takeRecords","info":{"code":"\"IntersectionObserver\" in self && \"takeRecords\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.thresholds","info":{"code":"\"IntersectionObserver\" in self && \"thresholds\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.trackVisibility","info":{"code":"\"IntersectionObserver\" in self && \"trackVisibility\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserver.unobserve","info":{"code":"\"IntersectionObserver\" in self && \"unobserve\" in IntersectionObserver.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry","info":{"code":"\"IntersectionObserverEntry\" in self","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.IntersectionObserverEntry","info":{"code":"bcd.testConstructor('IntersectionObserverEntry')","exposure":"Window"},"result":false,"message":"threw ReferenceError: IntersectionObserverEntry is not defined"},{"name":"api.IntersectionObserverEntry.boundingClientRect","info":{"code":"\"IntersectionObserverEntry\" in self && \"boundingClientRect\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.intersectionRatio","info":{"code":"\"IntersectionObserverEntry\" in self && \"intersectionRatio\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.intersectionRect","info":{"code":"\"IntersectionObserverEntry\" in self && \"intersectionRect\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.isIntersecting","info":{"code":"\"IntersectionObserverEntry\" in self && \"isIntersecting\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.isVisible","info":{"code":"\"IntersectionObserverEntry\" in self && \"isVisible\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.rootBounds","info":{"code":"\"IntersectionObserverEntry\" in self && \"rootBounds\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.target","info":{"code":"\"IntersectionObserverEntry\" in self && \"target\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.IntersectionObserverEntry.time","info":{"code":"\"IntersectionObserverEntry\" in self && \"time\" in IntersectionObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.InvokeEvent","info":{"code":"\"InvokeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.InvokeEvent.InvokeEvent","info":{"code":"bcd.testConstructor('InvokeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: InvokeEvent is not defined"},{"name":"api.InvokeEvent.action","info":{"code":"\"InvokeEvent\" in self && \"action\" in InvokeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.InvokeEvent.invoker","info":{"code":"\"InvokeEvent\" in self && \"invoker\" in InvokeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.KHR_parallel_shader_compile","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"KHR_parallel_shader_compile\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.Keyboard","info":{"code":"\"Keyboard\" in self","exposure":"Window"},"result":false},{"name":"api.Keyboard.getLayoutMap","info":{"code":"\"Keyboard\" in self && \"getLayoutMap\" in Keyboard.prototype","exposure":"Window"},"result":false},{"name":"api.Keyboard.lock","info":{"code":"\"Keyboard\" in self && \"lock\" in Keyboard.prototype","exposure":"Window"},"result":false},{"name":"api.Keyboard.unlock","info":{"code":"\"Keyboard\" in self && \"unlock\" in Keyboard.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.KeyboardEvent","info":{"code":"bcd.testConstructor('KeyboardEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: KeyboardEvent is not defined"},{"name":"api.KeyboardEvent.altKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"altKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.charCode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"charCode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.code","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"code\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.ctrlKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"ctrlKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.getModifierState","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"getModifierState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.initKeyboardEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initKeyboardEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.isComposing","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"isComposing\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.key","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"key\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.keyCode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"keyCode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.keyIdentifier","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"keyIdentifier\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.location","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"location\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.metaKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"metaKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.repeat","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"repeat\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardEvent.shiftKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new KeyboardEvent(\"keypress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"KeyboardEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"shiftKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.KeyboardLayoutMap","info":{"code":"\"KeyboardLayoutMap\" in self","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"KeyboardLayoutMap\" in self && !!(KeyboardLayoutMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.entries","info":{"code":"\"KeyboardLayoutMap\" in self && \"entries\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.forEach","info":{"code":"\"KeyboardLayoutMap\" in self && \"forEach\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.get","info":{"code":"\"KeyboardLayoutMap\" in self && \"get\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.has","info":{"code":"\"KeyboardLayoutMap\" in self && \"has\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.keys","info":{"code":"\"KeyboardLayoutMap\" in self && \"keys\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.size","info":{"code":"\"KeyboardLayoutMap\" in self && \"size\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyboardLayoutMap.values","info":{"code":"\"KeyboardLayoutMap\" in self && \"values\" in KeyboardLayoutMap.prototype","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect","info":{"code":"\"KeyframeEffect\" in self","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect.KeyframeEffect","info":{"code":"bcd.testConstructor('KeyframeEffect')","exposure":"Window"},"result":false,"message":"threw ReferenceError: KeyframeEffect is not defined"},{"name":"api.KeyframeEffect.composite","info":{"code":"\"KeyframeEffect\" in self && \"composite\" in KeyframeEffect.prototype","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect.getKeyframes","info":{"code":"\"KeyframeEffect\" in self && \"getKeyframes\" in KeyframeEffect.prototype","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect.iterationComposite","info":{"code":"\"KeyframeEffect\" in self && \"iterationComposite\" in KeyframeEffect.prototype","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect.pseudoElement","info":{"code":"\"KeyframeEffect\" in self && \"pseudoElement\" in KeyframeEffect.prototype","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect.setKeyframes","info":{"code":"\"KeyframeEffect\" in self && \"setKeyframes\" in KeyframeEffect.prototype","exposure":"Window"},"result":false},{"name":"api.KeyframeEffect.target","info":{"code":"\"KeyframeEffect\" in self && \"target\" in KeyframeEffect.prototype","exposure":"Window"},"result":false},{"name":"api.LanguageDetector","info":{"code":"\"LanguageDetector\" in self","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.availability_static","info":{"code":"\"LanguageDetector\" in self && \"availability\" in LanguageDetector","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.create_static","info":{"code":"\"LanguageDetector\" in self && \"create\" in LanguageDetector","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.destroy","info":{"code":"\"LanguageDetector\" in self && \"destroy\" in LanguageDetector.prototype","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.detect","info":{"code":"\"LanguageDetector\" in self && \"detect\" in LanguageDetector.prototype","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.expectedInputLanguages","info":{"code":"\"LanguageDetector\" in self && \"expectedInputLanguages\" in LanguageDetector.prototype","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.inputQuota","info":{"code":"\"LanguageDetector\" in self && \"inputQuota\" in LanguageDetector.prototype","exposure":"Window"},"result":false},{"name":"api.LanguageDetector.measureInputUsage","info":{"code":"\"LanguageDetector\" in self && \"measureInputUsage\" in LanguageDetector.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint","info":{"code":"\"LargestContentfulPaint\" in self","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.element","info":{"code":"\"LargestContentfulPaint\" in self && \"element\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.id","info":{"code":"\"LargestContentfulPaint\" in self && \"id\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.loadTime","info":{"code":"\"LargestContentfulPaint\" in self && \"loadTime\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.paintTime","info":{"code":"\"LargestContentfulPaint\" in self && \"paintTime\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.presentationTime","info":{"code":"\"LargestContentfulPaint\" in self && \"presentationTime\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.renderTime","info":{"code":"\"LargestContentfulPaint\" in self && \"renderTime\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.size","info":{"code":"\"LargestContentfulPaint\" in self && \"size\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.toJSON","info":{"code":"\"LargestContentfulPaint\" in self && \"toJSON\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LargestContentfulPaint.url","info":{"code":"\"LargestContentfulPaint\" in self && \"url\" in LargestContentfulPaint.prototype","exposure":"Window"},"result":false},{"name":"api.LaunchParams","info":{"code":"\"LaunchParams\" in self","exposure":"Window"},"result":false},{"name":"api.LaunchParams.files","info":{"code":"\"LaunchParams\" in self && \"files\" in LaunchParams.prototype","exposure":"Window"},"result":false},{"name":"api.LaunchParams.targetURL","info":{"code":"\"LaunchParams\" in self && \"targetURL\" in LaunchParams.prototype","exposure":"Window"},"result":false},{"name":"api.LaunchQueue","info":{"code":"\"LaunchQueue\" in self","exposure":"Window"},"result":false},{"name":"api.LaunchQueue.setConsumer","info":{"code":"\"LaunchQueue\" in self && \"setConsumer\" in LaunchQueue.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShift","info":{"code":"\"LayoutShift\" in self","exposure":"Window"},"result":false},{"name":"api.LayoutShift.hadRecentInput","info":{"code":"\"LayoutShift\" in self && \"hadRecentInput\" in LayoutShift.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShift.lastInputTime","info":{"code":"\"LayoutShift\" in self && \"lastInputTime\" in LayoutShift.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShift.sources","info":{"code":"\"LayoutShift\" in self && \"sources\" in LayoutShift.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShift.toJSON","info":{"code":"\"LayoutShift\" in self && \"toJSON\" in LayoutShift.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShift.value","info":{"code":"\"LayoutShift\" in self && \"value\" in LayoutShift.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShiftAttribution","info":{"code":"\"LayoutShiftAttribution\" in self","exposure":"Window"},"result":false},{"name":"api.LayoutShiftAttribution.currentRect","info":{"code":"\"LayoutShiftAttribution\" in self && \"currentRect\" in LayoutShiftAttribution.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShiftAttribution.node","info":{"code":"\"LayoutShiftAttribution\" in self && \"node\" in LayoutShiftAttribution.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShiftAttribution.previousRect","info":{"code":"\"LayoutShiftAttribution\" in self && \"previousRect\" in LayoutShiftAttribution.prototype","exposure":"Window"},"result":false},{"name":"api.LayoutShiftAttribution.toJSON","info":{"code":"\"LayoutShiftAttribution\" in self && \"toJSON\" in LayoutShiftAttribution.prototype","exposure":"Window"},"result":false},{"name":"api.LinearAccelerationSensor","info":{"code":"\"LinearAccelerationSensor\" in self","exposure":"Window"},"result":false},{"name":"api.LinearAccelerationSensor.LinearAccelerationSensor","info":{"code":"bcd.testConstructor('LinearAccelerationSensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: LinearAccelerationSensor is not defined"},{"name":"api.Location","info":{"code":"(function () {\n  var instance = location;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.ancestorOrigins","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"ancestorOrigins\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.assign","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"assign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.hash","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"hash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.host","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"host\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.hostname","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"hostname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.href","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.origin","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"origin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.pathname","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"pathname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.port","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.protocol","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.reload","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"reload\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.replace","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"replace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.search","info":{"code":"(function () {\n  var instance = location;\n  return !!instance && \"search\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Location.toString","info":{"code":"(function () {\n  var instance = location;\n  if (!(\"toString\" in instance)) {\n    return { result: false, message: \"toString is not defined\" };\n  }\n  return instance.toString() == instance.href;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: location is not defined"},{"name":"api.Lock","info":{"code":"\"Lock\" in self","exposure":"Window"},"result":false},{"name":"api.Lock.mode","info":{"code":"\"Lock\" in self && \"mode\" in Lock.prototype","exposure":"Window"},"result":false},{"name":"api.Lock.name","info":{"code":"\"Lock\" in self && \"name\" in Lock.prototype","exposure":"Window"},"result":false},{"name":"api.LockManager","info":{"code":"\"LockManager\" in self","exposure":"Window"},"result":false},{"name":"api.LockManager.query","info":{"code":"\"LockManager\" in self && \"query\" in LockManager.prototype","exposure":"Window"},"result":false},{"name":"api.LockManager.request","info":{"code":"\"LockManager\" in self && \"request\" in LockManager.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIAccess","info":{"code":"\"MIDIAccess\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIAccess.inputs","info":{"code":"\"MIDIAccess\" in self && \"inputs\" in MIDIAccess.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIAccess.outputs","info":{"code":"\"MIDIAccess\" in self && \"outputs\" in MIDIAccess.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIAccess.sysexEnabled","info":{"code":"\"MIDIAccess\" in self && \"sysexEnabled\" in MIDIAccess.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIConnectionEvent","info":{"code":"\"MIDIConnectionEvent\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIConnectionEvent.MIDIConnectionEvent","info":{"code":"bcd.testConstructor('MIDIConnectionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MIDIConnectionEvent is not defined"},{"name":"api.MIDIConnectionEvent.port","info":{"code":"\"MIDIConnectionEvent\" in self && \"port\" in MIDIConnectionEvent.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInput","info":{"code":"\"MIDIInput\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap","info":{"code":"\"MIDIInputMap\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"MIDIInputMap\" in self && !!(MIDIInputMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.entries","info":{"code":"\"MIDIInputMap\" in self && \"entries\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.forEach","info":{"code":"\"MIDIInputMap\" in self && \"forEach\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.get","info":{"code":"\"MIDIInputMap\" in self && \"get\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.has","info":{"code":"\"MIDIInputMap\" in self && \"has\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.keys","info":{"code":"\"MIDIInputMap\" in self && \"keys\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.size","info":{"code":"\"MIDIInputMap\" in self && \"size\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIInputMap.values","info":{"code":"\"MIDIInputMap\" in self && \"values\" in MIDIInputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIMessageEvent","info":{"code":"\"MIDIMessageEvent\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIMessageEvent.MIDIMessageEvent","info":{"code":"bcd.testConstructor('MIDIMessageEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MIDIMessageEvent is not defined"},{"name":"api.MIDIMessageEvent.data","info":{"code":"\"MIDIMessageEvent\" in self && \"data\" in MIDIMessageEvent.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutput","info":{"code":"\"MIDIOutput\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIOutput.clear","info":{"code":"\"MIDIOutput\" in self && \"clear\" in MIDIOutput.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutput.send","info":{"code":"\"MIDIOutput\" in self && \"send\" in MIDIOutput.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap","info":{"code":"\"MIDIOutputMap\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"MIDIOutputMap\" in self && !!(MIDIOutputMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.entries","info":{"code":"\"MIDIOutputMap\" in self && \"entries\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.forEach","info":{"code":"\"MIDIOutputMap\" in self && \"forEach\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.get","info":{"code":"\"MIDIOutputMap\" in self && \"get\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.has","info":{"code":"\"MIDIOutputMap\" in self && \"has\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.keys","info":{"code":"\"MIDIOutputMap\" in self && \"keys\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.size","info":{"code":"\"MIDIOutputMap\" in self && \"size\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIOutputMap.values","info":{"code":"\"MIDIOutputMap\" in self && \"values\" in MIDIOutputMap.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort","info":{"code":"\"MIDIPort\" in self","exposure":"Window"},"result":false},{"name":"api.MIDIPort.close","info":{"code":"\"MIDIPort\" in self && \"close\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.connection","info":{"code":"\"MIDIPort\" in self && \"connection\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.id","info":{"code":"\"MIDIPort\" in self && \"id\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.manufacturer","info":{"code":"\"MIDIPort\" in self && \"manufacturer\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.name","info":{"code":"\"MIDIPort\" in self && \"name\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.open","info":{"code":"\"MIDIPort\" in self && \"open\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.state","info":{"code":"\"MIDIPort\" in self && \"state\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.type","info":{"code":"\"MIDIPort\" in self && \"type\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.MIDIPort.version","info":{"code":"\"MIDIPort\" in self && \"version\" in MIDIPort.prototype","exposure":"Window"},"result":false},{"name":"api.ML","info":{"code":"\"ML\" in self","exposure":"Window"},"result":false},{"name":"api.ML.createContext","info":{"code":"\"ML\" in self && \"createContext\" in ML.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext","info":{"code":"\"MLContext\" in self","exposure":"Window"},"result":false},{"name":"api.MLContext.createConstantTensor","info":{"code":"\"MLContext\" in self && \"createConstantTensor\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.createTensor","info":{"code":"\"MLContext\" in self && \"createTensor\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.destroy","info":{"code":"\"MLContext\" in self && \"destroy\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.dispatch","info":{"code":"\"MLContext\" in self && \"dispatch\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.lost","info":{"code":"\"MLContext\" in self && \"lost\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.opSupportLimits","info":{"code":"\"MLContext\" in self && \"opSupportLimits\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.readTensor","info":{"code":"\"MLContext\" in self && \"readTensor\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLContext.writeTensor","info":{"code":"\"MLContext\" in self && \"writeTensor\" in MLContext.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraph","info":{"code":"\"MLGraph\" in self","exposure":"Window"},"result":false},{"name":"api.MLGraph.destroy","info":{"code":"\"MLGraph\" in self && \"destroy\" in MLGraph.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder","info":{"code":"\"MLGraphBuilder\" in self","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.MLGraphBuilder","info":{"code":"bcd.testConstructor('MLGraphBuilder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MLGraphBuilder is not defined"},{"name":"api.MLGraphBuilder.abs","info":{"code":"\"MLGraphBuilder\" in self && \"abs\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.add","info":{"code":"\"MLGraphBuilder\" in self && \"add\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.argMax","info":{"code":"\"MLGraphBuilder\" in self && \"argMax\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.argMin","info":{"code":"\"MLGraphBuilder\" in self && \"argMin\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.averagePool2d","info":{"code":"\"MLGraphBuilder\" in self && \"averagePool2d\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.batchNormalization","info":{"code":"\"MLGraphBuilder\" in self && \"batchNormalization\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.build","info":{"code":"\"MLGraphBuilder\" in self && \"build\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.cast","info":{"code":"\"MLGraphBuilder\" in self && \"cast\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.ceil","info":{"code":"\"MLGraphBuilder\" in self && \"ceil\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.clamp","info":{"code":"\"MLGraphBuilder\" in self && \"clamp\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.concat","info":{"code":"\"MLGraphBuilder\" in self && \"concat\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.constant","info":{"code":"\"MLGraphBuilder\" in self && \"constant\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.conv2d","info":{"code":"\"MLGraphBuilder\" in self && \"conv2d\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.convTranspose2d","info":{"code":"\"MLGraphBuilder\" in self && \"convTranspose2d\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.cos","info":{"code":"\"MLGraphBuilder\" in self && \"cos\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.cumulativeSum","info":{"code":"\"MLGraphBuilder\" in self && \"cumulativeSum\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.dequantizeLinear","info":{"code":"\"MLGraphBuilder\" in self && \"dequantizeLinear\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.div","info":{"code":"\"MLGraphBuilder\" in self && \"div\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.elu","info":{"code":"\"MLGraphBuilder\" in self && \"elu\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.equal","info":{"code":"\"MLGraphBuilder\" in self && \"equal\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.erf","info":{"code":"\"MLGraphBuilder\" in self && \"erf\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.exp","info":{"code":"\"MLGraphBuilder\" in self && \"exp\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.expand","info":{"code":"\"MLGraphBuilder\" in self && \"expand\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.floor","info":{"code":"\"MLGraphBuilder\" in self && \"floor\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gather","info":{"code":"\"MLGraphBuilder\" in self && \"gather\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gatherElements","info":{"code":"\"MLGraphBuilder\" in self && \"gatherElements\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gatherND","info":{"code":"\"MLGraphBuilder\" in self && \"gatherND\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gelu","info":{"code":"\"MLGraphBuilder\" in self && \"gelu\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gemm","info":{"code":"\"MLGraphBuilder\" in self && \"gemm\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.greater","info":{"code":"\"MLGraphBuilder\" in self && \"greater\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.greaterOrEqual","info":{"code":"\"MLGraphBuilder\" in self && \"greaterOrEqual\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gru","info":{"code":"\"MLGraphBuilder\" in self && \"gru\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.gruCell","info":{"code":"\"MLGraphBuilder\" in self && \"gruCell\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.hardSigmoid","info":{"code":"\"MLGraphBuilder\" in self && \"hardSigmoid\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.hardSwish","info":{"code":"\"MLGraphBuilder\" in self && \"hardSwish\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.identity","info":{"code":"\"MLGraphBuilder\" in self && \"identity\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.input","info":{"code":"\"MLGraphBuilder\" in self && \"input\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.instanceNormalization","info":{"code":"\"MLGraphBuilder\" in self && \"instanceNormalization\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.isInfinite","info":{"code":"\"MLGraphBuilder\" in self && \"isInfinite\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.isNaN","info":{"code":"\"MLGraphBuilder\" in self && \"isNaN\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.l2Pool2d","info":{"code":"\"MLGraphBuilder\" in self && \"l2Pool2d\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.layerNormalization","info":{"code":"\"MLGraphBuilder\" in self && \"layerNormalization\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.leakyRelu","info":{"code":"\"MLGraphBuilder\" in self && \"leakyRelu\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.lesser","info":{"code":"\"MLGraphBuilder\" in self && \"lesser\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.lesserOrEqual","info":{"code":"\"MLGraphBuilder\" in self && \"lesserOrEqual\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.linear","info":{"code":"\"MLGraphBuilder\" in self && \"linear\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.log","info":{"code":"\"MLGraphBuilder\" in self && \"log\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.logicalAnd","info":{"code":"\"MLGraphBuilder\" in self && \"logicalAnd\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.logicalNot","info":{"code":"\"MLGraphBuilder\" in self && \"logicalNot\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.logicalOr","info":{"code":"\"MLGraphBuilder\" in self && \"logicalOr\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.logicalXor","info":{"code":"\"MLGraphBuilder\" in self && \"logicalXor\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.lstm","info":{"code":"\"MLGraphBuilder\" in self && \"lstm\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.lstmCell","info":{"code":"\"MLGraphBuilder\" in self && \"lstmCell\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.matmul","info":{"code":"\"MLGraphBuilder\" in self && \"matmul\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.max","info":{"code":"\"MLGraphBuilder\" in self && \"max\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.maxPool2d","info":{"code":"\"MLGraphBuilder\" in self && \"maxPool2d\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.min","info":{"code":"\"MLGraphBuilder\" in self && \"min\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.mul","info":{"code":"\"MLGraphBuilder\" in self && \"mul\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.neg","info":{"code":"\"MLGraphBuilder\" in self && \"neg\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.notEqual","info":{"code":"\"MLGraphBuilder\" in self && \"notEqual\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.pad","info":{"code":"\"MLGraphBuilder\" in self && \"pad\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.pow","info":{"code":"\"MLGraphBuilder\" in self && \"pow\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.prelu","info":{"code":"\"MLGraphBuilder\" in self && \"prelu\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.quantizeLinear","info":{"code":"\"MLGraphBuilder\" in self && \"quantizeLinear\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reciprocal","info":{"code":"\"MLGraphBuilder\" in self && \"reciprocal\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceL1","info":{"code":"\"MLGraphBuilder\" in self && \"reduceL1\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceL2","info":{"code":"\"MLGraphBuilder\" in self && \"reduceL2\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceLogSum","info":{"code":"\"MLGraphBuilder\" in self && \"reduceLogSum\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceLogSumExp","info":{"code":"\"MLGraphBuilder\" in self && \"reduceLogSumExp\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceMax","info":{"code":"\"MLGraphBuilder\" in self && \"reduceMax\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceMean","info":{"code":"\"MLGraphBuilder\" in self && \"reduceMean\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceMin","info":{"code":"\"MLGraphBuilder\" in self && \"reduceMin\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceProduct","info":{"code":"\"MLGraphBuilder\" in self && \"reduceProduct\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceSum","info":{"code":"\"MLGraphBuilder\" in self && \"reduceSum\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reduceSumSquare","info":{"code":"\"MLGraphBuilder\" in self && \"reduceSumSquare\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.relu","info":{"code":"\"MLGraphBuilder\" in self && \"relu\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.resample2d","info":{"code":"\"MLGraphBuilder\" in self && \"resample2d\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reshape","info":{"code":"\"MLGraphBuilder\" in self && \"reshape\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.reverse","info":{"code":"\"MLGraphBuilder\" in self && \"reverse\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.roundEven","info":{"code":"\"MLGraphBuilder\" in self && \"roundEven\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.scatterElements","info":{"code":"\"MLGraphBuilder\" in self && \"scatterElements\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.scatterND","info":{"code":"\"MLGraphBuilder\" in self && \"scatterND\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.sigmoid","info":{"code":"\"MLGraphBuilder\" in self && \"sigmoid\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.sign","info":{"code":"\"MLGraphBuilder\" in self && \"sign\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.sin","info":{"code":"\"MLGraphBuilder\" in self && \"sin\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.slice","info":{"code":"\"MLGraphBuilder\" in self && \"slice\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.softmax","info":{"code":"\"MLGraphBuilder\" in self && \"softmax\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.softplus","info":{"code":"\"MLGraphBuilder\" in self && \"softplus\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.softsign","info":{"code":"\"MLGraphBuilder\" in self && \"softsign\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.split","info":{"code":"\"MLGraphBuilder\" in self && \"split\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.sqrt","info":{"code":"\"MLGraphBuilder\" in self && \"sqrt\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.sub","info":{"code":"\"MLGraphBuilder\" in self && \"sub\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.tan","info":{"code":"\"MLGraphBuilder\" in self && \"tan\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.tanh","info":{"code":"\"MLGraphBuilder\" in self && \"tanh\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.tile","info":{"code":"\"MLGraphBuilder\" in self && \"tile\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.transpose","info":{"code":"\"MLGraphBuilder\" in self && \"transpose\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.triangular","info":{"code":"\"MLGraphBuilder\" in self && \"triangular\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLGraphBuilder.where","info":{"code":"\"MLGraphBuilder\" in self && \"where\" in MLGraphBuilder.prototype","exposure":"Window"},"result":false},{"name":"api.MLOperand","info":{"code":"\"MLOperand\" in self","exposure":"Window"},"result":false},{"name":"api.MLOperand.dataType","info":{"code":"\"MLOperand\" in self && \"dataType\" in MLOperand.prototype","exposure":"Window"},"result":false},{"name":"api.MLOperand.shape","info":{"code":"\"MLOperand\" in self && \"shape\" in MLOperand.prototype","exposure":"Window"},"result":false},{"name":"api.MLTensor","info":{"code":"\"MLTensor\" in self","exposure":"Window"},"result":false},{"name":"api.MLTensor.constant","info":{"code":"\"MLTensor\" in self && \"constant\" in MLTensor.prototype","exposure":"Window"},"result":false},{"name":"api.MLTensor.dataType","info":{"code":"\"MLTensor\" in self && \"dataType\" in MLTensor.prototype","exposure":"Window"},"result":false},{"name":"api.MLTensor.destroy","info":{"code":"\"MLTensor\" in self && \"destroy\" in MLTensor.prototype","exposure":"Window"},"result":false},{"name":"api.MLTensor.readable","info":{"code":"\"MLTensor\" in self && \"readable\" in MLTensor.prototype","exposure":"Window"},"result":false},{"name":"api.MLTensor.shape","info":{"code":"\"MLTensor\" in self && \"shape\" in MLTensor.prototype","exposure":"Window"},"result":false},{"name":"api.MLTensor.writable","info":{"code":"\"MLTensor\" in self && \"writable\" in MLTensor.prototype","exposure":"Window"},"result":false},{"name":"api.Magnetometer","info":{"code":"\"Magnetometer\" in self","exposure":"Window"},"result":false},{"name":"api.Magnetometer.Magnetometer","info":{"code":"bcd.testConstructor('Magnetometer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Magnetometer is not defined"},{"name":"api.Magnetometer.x","info":{"code":"\"Magnetometer\" in self && \"x\" in Magnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.Magnetometer.y","info":{"code":"\"Magnetometer\" in self && \"y\" in Magnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.Magnetometer.z","info":{"code":"\"Magnetometer\" in self && \"z\" in Magnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.ManagedMediaSource","info":{"code":"\"ManagedMediaSource\" in self","exposure":"Window"},"result":false},{"name":"api.ManagedMediaSource.ManagedMediaSource","info":{"code":"bcd.testConstructor('ManagedMediaSource')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ManagedMediaSource is not defined"},{"name":"api.ManagedMediaSource.streaming","info":{"code":"\"ManagedMediaSource\" in self && \"streaming\" in ManagedMediaSource.prototype","exposure":"Window"},"result":false},{"name":"api.ManagedSourceBuffer","info":{"code":"\"ManagedSourceBuffer\" in self","exposure":"Window"},"result":false},{"name":"api.MathMLElement","info":{"code":"\"MathMLElement\" in self","exposure":"Window"},"result":false},{"name":"api.MathMLElement.attributeStyleMap","info":{"code":"\"MathMLElement\" in self && \"attributeStyleMap\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.autofocus","info":{"code":"\"MathMLElement\" in self && \"autofocus\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.blur","info":{"code":"\"MathMLElement\" in self && \"blur\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.dataset","info":{"code":"\"MathMLElement\" in self && \"dataset\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.focus","info":{"code":"\"MathMLElement\" in self && \"focus\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.nonce","info":{"code":"\"MathMLElement\" in self && \"nonce\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.style","info":{"code":"\"MathMLElement\" in self && \"style\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MathMLElement.tabIndex","info":{"code":"\"MathMLElement\" in self && \"tabIndex\" in MathMLElement.prototype","exposure":"Window"},"result":false},{"name":"api.MediaCapabilities","info":{"code":"(function () {\n  var instance = navigator.mediaCapabilities;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaCapabilities.decodingInfo","info":{"code":"(function () {\n  var instance = navigator.mediaCapabilities;\n  return !!instance && \"decodingInfo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaCapabilities.encodingInfo","info":{"code":"(function () {\n  var instance = navigator.mediaCapabilities;\n  return !!instance && \"encodingInfo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaController","info":{"code":"\"MediaController\" in self","exposure":"Window"},"result":false},{"name":"api.MediaController.MediaController","info":{"code":"bcd.testConstructor('MediaController')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaController is not defined"},{"name":"api.MediaController.buffered","info":{"code":"\"MediaController\" in self && \"buffered\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.currentTime","info":{"code":"\"MediaController\" in self && \"currentTime\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.defaultPlaybackRate","info":{"code":"\"MediaController\" in self && \"defaultPlaybackRate\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.duration","info":{"code":"\"MediaController\" in self && \"duration\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.muted","info":{"code":"\"MediaController\" in self && \"muted\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.pause","info":{"code":"\"MediaController\" in self && \"pause\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.paused","info":{"code":"\"MediaController\" in self && \"paused\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.play","info":{"code":"\"MediaController\" in self && \"play\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.playbackRate","info":{"code":"\"MediaController\" in self && \"playbackRate\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.playbackState","info":{"code":"\"MediaController\" in self && \"playbackState\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.played","info":{"code":"\"MediaController\" in self && \"played\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.seekable","info":{"code":"\"MediaController\" in self && \"seekable\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.unpause","info":{"code":"\"MediaController\" in self && \"unpause\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaController.volume","info":{"code":"\"MediaController\" in self && \"volume\" in MediaController.prototype","exposure":"Window"},"result":false},{"name":"api.MediaDeviceInfo","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      return devices[0];\n    });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDeviceInfo.deviceId","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      return devices[0];\n    });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"deviceId\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDeviceInfo.groupId","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      return devices[0];\n    });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"groupId\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDeviceInfo.kind","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      return devices[0];\n    });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"kind\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDeviceInfo.label","info":{"code":"(function () {\n  var mediaDevices = navigator.mediaDevices;\n  if (!mediaDevices) {\n    return { result: false, message: \"mediaDevices is falsy\" };\n  }\n  var promise = navigator.mediaDevices\n    .enumerateDevices()\n    .then(function (devices) {\n      return devices[0];\n    });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"label\" in instance;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDeviceInfo.toJSON","info":{"code":"\"MediaDeviceInfo\" in self && \"toJSON\" in MediaDeviceInfo.prototype","exposure":"Window"},"result":false},{"name":"api.MediaDevices","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.enumerateDevices","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"enumerateDevices\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.getDisplayMedia","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"getDisplayMedia\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.getSupportedConstraints","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"getSupportedConstraints\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.getUserMedia","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"getUserMedia\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.getViewportMedia","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"getViewportMedia\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.selectAudioOutput","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"selectAudioOutput\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.setCaptureHandleConfig","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"setCaptureHandleConfig\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaDevices.setSupportedCaptureActions","info":{"code":"(function () {\n  var instance = navigator.mediaDevices;\n  return !!instance && \"setSupportedCaptureActions\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaElementAudioSourceNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createMediaElementSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaElementSource is not defined\"\n    };\n  }\n  var el = document.getElementById(\"resource-audio-blip\");\n  // Element is cloned for each test because only one audio source node can be associated with an element\n  var clone = el.cloneNode(true);\n  var instance = reusableInstances.audioContext.createMediaElementSource(clone);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.MediaElementAudioSourceNode.MediaElementAudioSourceNode","info":{"code":"bcd.testConstructor('MediaElementAudioSourceNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaElementAudioSourceNode is not defined"},{"name":"api.MediaElementAudioSourceNode.mediaElement","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createMediaElementSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaElementSource is not defined\"\n    };\n  }\n  var el = document.getElementById(\"resource-audio-blip\");\n  // Element is cloned for each test because only one audio source node can be associated with an element\n  var clone = el.cloneNode(true);\n  var instance = reusableInstances.audioContext.createMediaElementSource(clone);\n  return !!instance && \"mediaElement\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.MediaEncryptedEvent","info":{"code":"(function () {\n  if (!(\"MediaEncryptedEvent\" in self)) {\n    return { result: false, message: \"MediaEncryptedEvent is not defined\" };\n  }\n  var instance = new MediaEncryptedEvent(\"encrypted\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaEncryptedEvent is not defined"},{"name":"api.MediaEncryptedEvent.MediaEncryptedEvent","info":{"code":"bcd.testConstructor('MediaEncryptedEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaEncryptedEvent is not defined"},{"name":"api.MediaEncryptedEvent.initData","info":{"code":"(function () {\n  if (!(\"MediaEncryptedEvent\" in self)) {\n    return { result: false, message: \"MediaEncryptedEvent is not defined\" };\n  }\n  var instance = new MediaEncryptedEvent(\"encrypted\");\n  return !!instance && \"initData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaEncryptedEvent is not defined"},{"name":"api.MediaEncryptedEvent.initDataType","info":{"code":"(function () {\n  if (!(\"MediaEncryptedEvent\" in self)) {\n    return { result: false, message: \"MediaEncryptedEvent is not defined\" };\n  }\n  var instance = new MediaEncryptedEvent(\"encrypted\");\n  return !!instance && \"initDataType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaEncryptedEvent is not defined"},{"name":"api.MediaError","info":{"code":"\"MediaError\" in self","exposure":"Window"},"result":false},{"name":"api.MediaError.code","info":{"code":"\"MediaError\" in self && \"code\" in MediaError.prototype","exposure":"Window"},"result":false},{"name":"api.MediaError.message","info":{"code":"\"MediaError\" in self && \"message\" in MediaError.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyMessageEvent","info":{"code":"(function () {\n  if (!(\"MediaKeyMessageEvent\" in self)) {\n    return { result: false, message: \"MediaKeyMessageEvent is not defined\" };\n  }\n  var instance = new MediaKeyMessageEvent(\"license-request\", {\n    message: new ArrayBuffer(),\n    messageType: \"license-request\"\n  });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaKeyMessageEvent is not defined"},{"name":"api.MediaKeyMessageEvent.MediaKeyMessageEvent","info":{"code":"bcd.testConstructor('MediaKeyMessageEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaKeyMessageEvent is not defined"},{"name":"api.MediaKeyMessageEvent.message","info":{"code":"(function () {\n  if (!(\"MediaKeyMessageEvent\" in self)) {\n    return { result: false, message: \"MediaKeyMessageEvent is not defined\" };\n  }\n  var instance = new MediaKeyMessageEvent(\"license-request\", {\n    message: new ArrayBuffer(),\n    messageType: \"license-request\"\n  });\n  return !!instance && \"message\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaKeyMessageEvent is not defined"},{"name":"api.MediaKeyMessageEvent.messageType","info":{"code":"(function () {\n  if (!(\"MediaKeyMessageEvent\" in self)) {\n    return { result: false, message: \"MediaKeyMessageEvent is not defined\" };\n  }\n  var instance = new MediaKeyMessageEvent(\"license-request\", {\n    message: new ArrayBuffer(),\n    messageType: \"license-request\"\n  });\n  return !!instance && \"messageType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaKeyMessageEvent is not defined"},{"name":"api.MediaKeySession","info":{"code":"\"MediaKeySession\" in self","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.close","info":{"code":"\"MediaKeySession\" in self && \"close\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.closed","info":{"code":"\"MediaKeySession\" in self && \"closed\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.expiration","info":{"code":"\"MediaKeySession\" in self && \"expiration\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.generateRequest","info":{"code":"\"MediaKeySession\" in self && \"generateRequest\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.keyStatuses","info":{"code":"\"MediaKeySession\" in self && \"keyStatuses\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.load","info":{"code":"\"MediaKeySession\" in self && \"load\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.remove","info":{"code":"\"MediaKeySession\" in self && \"remove\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.sessionId","info":{"code":"\"MediaKeySession\" in self && \"sessionId\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySession.update","info":{"code":"\"MediaKeySession\" in self && \"update\" in MediaKeySession.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap","info":{"code":"\"MediaKeyStatusMap\" in self","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"MediaKeyStatusMap\" in self && !!(MediaKeyStatusMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.entries","info":{"code":"\"MediaKeyStatusMap\" in self && \"entries\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.forEach","info":{"code":"\"MediaKeyStatusMap\" in self && \"forEach\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.get","info":{"code":"\"MediaKeyStatusMap\" in self && \"get\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.has","info":{"code":"\"MediaKeyStatusMap\" in self && \"has\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.keys","info":{"code":"\"MediaKeyStatusMap\" in self && \"keys\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.size","info":{"code":"\"MediaKeyStatusMap\" in self && \"size\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeyStatusMap.values","info":{"code":"\"MediaKeyStatusMap\" in self && \"values\" in MediaKeyStatusMap.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySystemAccess","info":{"code":"\"MediaKeySystemAccess\" in self","exposure":"Window"},"result":false},{"name":"api.MediaKeySystemAccess.createMediaKeys","info":{"code":"\"MediaKeySystemAccess\" in self && \"createMediaKeys\" in MediaKeySystemAccess.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySystemAccess.getConfiguration","info":{"code":"\"MediaKeySystemAccess\" in self && \"getConfiguration\" in MediaKeySystemAccess.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeySystemAccess.keySystem","info":{"code":"\"MediaKeySystemAccess\" in self && \"keySystem\" in MediaKeySystemAccess.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeys","info":{"code":"\"MediaKeys\" in self","exposure":"Window"},"result":false},{"name":"api.MediaKeys.createSession","info":{"code":"\"MediaKeys\" in self && \"createSession\" in MediaKeys.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeys.getStatusForPolicy","info":{"code":"\"MediaKeys\" in self && \"getStatusForPolicy\" in MediaKeys.prototype","exposure":"Window"},"result":false},{"name":"api.MediaKeys.setServerCertificate","info":{"code":"\"MediaKeys\" in self && \"setServerCertificate\" in MediaKeys.prototype","exposure":"Window"},"result":false},{"name":"api.MediaList","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.media;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MediaList.appendMedium","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.media;\n  return !!instance && \"appendMedium\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MediaList.deleteMedium","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.media;\n  return !!instance && \"deleteMedium\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MediaList.item","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.media;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MediaList.length","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.media;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MediaList.mediaText","info":{"code":"(function () {\n  var stylesheet = reusableInstances.createStyleSheet(\n    \"@media (max-width: 600px) {body {background-color: #111;color: white;}}\"\n  );\n  var instance = stylesheet.media;\n  return !!instance && \"mediaText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MediaList.toString","info":{"code":"\"MediaList\" in self && \"toString\" in MediaList.prototype","exposure":"Window"},"result":false},{"name":"api.MediaMetadata","info":{"code":"\"MediaMetadata\" in self","exposure":"Window"},"result":false},{"name":"api.MediaMetadata.MediaMetadata","info":{"code":"bcd.testConstructor('MediaMetadata')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaMetadata is not defined"},{"name":"api.MediaMetadata.album","info":{"code":"\"MediaMetadata\" in self && \"album\" in MediaMetadata.prototype","exposure":"Window"},"result":false},{"name":"api.MediaMetadata.artist","info":{"code":"\"MediaMetadata\" in self && \"artist\" in MediaMetadata.prototype","exposure":"Window"},"result":false},{"name":"api.MediaMetadata.artwork","info":{"code":"\"MediaMetadata\" in self && \"artwork\" in MediaMetadata.prototype","exposure":"Window"},"result":false},{"name":"api.MediaMetadata.chapterInfo","info":{"code":"\"MediaMetadata\" in self && \"chapterInfo\" in MediaMetadata.prototype","exposure":"Window"},"result":false},{"name":"api.MediaMetadata.title","info":{"code":"\"MediaMetadata\" in self && \"title\" in MediaMetadata.prototype","exposure":"Window"},"result":false},{"name":"api.MediaQueryList","info":{"code":"(function () {\n  var instance = window.matchMedia(\"screen and max-width: 800px;\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MediaQueryList.EventTarget_inheritance","info":{"code":"(function () {\n  var instance = window.matchMedia(\"screen and max-width: 800px;\");\n  return !!instance && \"addEventListener\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MediaQueryList.addListener","info":{"code":"(function () {\n  var instance = window.matchMedia(\"screen and max-width: 800px;\");\n  return !!instance && \"addListener\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MediaQueryList.matches","info":{"code":"(function () {\n  var instance = window.matchMedia(\"screen and max-width: 800px;\");\n  return !!instance && \"matches\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MediaQueryList.media","info":{"code":"(function () {\n  var instance = window.matchMedia(\"screen and max-width: 800px;\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MediaQueryList.removeListener","info":{"code":"(function () {\n  var instance = window.matchMedia(\"screen and max-width: 800px;\");\n  return !!instance && \"removeListener\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MediaQueryListEvent","info":{"code":"(function () {\n  if (!(\"MediaQueryListEvent\" in self)) {\n    return { result: false, message: \"MediaQueryListEvent is not defined\" };\n  }\n  var instance = new MediaQueryListEvent(\"change\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaQueryListEvent is not defined"},{"name":"api.MediaQueryListEvent.MediaQueryListEvent","info":{"code":"bcd.testConstructor('MediaQueryListEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaQueryListEvent is not defined"},{"name":"api.MediaQueryListEvent.matches","info":{"code":"(function () {\n  if (!(\"MediaQueryListEvent\" in self)) {\n    return { result: false, message: \"MediaQueryListEvent is not defined\" };\n  }\n  var instance = new MediaQueryListEvent(\"change\");\n  return !!instance && \"matches\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaQueryListEvent is not defined"},{"name":"api.MediaQueryListEvent.media","info":{"code":"(function () {\n  if (!(\"MediaQueryListEvent\" in self)) {\n    return { result: false, message: \"MediaQueryListEvent is not defined\" };\n  }\n  var instance = new MediaQueryListEvent(\"change\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaQueryListEvent is not defined"},{"name":"api.MediaRecorder","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.MediaRecorder","info":{"code":"bcd.testConstructor('MediaRecorder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaRecorder is not defined"},{"name":"api.MediaRecorder.MediaRecorder.options_parameter","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  function construct(options) {\n    new MediaRecorder(reusableInstances.mediaStream, options);\n  }\n  return bcd.testOptionParam(construct, null, \"mimeType\", \"\");\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.audioBitrateMode","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"audioBitrateMode\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.audioBitsPerSecond","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"audioBitsPerSecond\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.isTypeSupported_static","info":{"code":"\"MediaRecorder\" in self && \"isTypeSupported\" in MediaRecorder","exposure":"Window"},"result":false},{"name":"api.MediaRecorder.mimeType","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"mimeType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.pause","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"pause\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.requestData","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"requestData\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.resume","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"resume\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.start","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.state","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"state\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.stop","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"stop\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.stream","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"stream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorder.videoBitsPerSecond","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"MediaRecorder\" in self)) {\n    return { result: false, message: \"MediaRecorder is not defined\" };\n  }\n  var instance = new MediaRecorder(reusableInstances.mediaStream);\n  return !!instance && \"videoBitsPerSecond\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaRecorderErrorEvent","info":{"code":"\"MediaRecorderErrorEvent\" in self","exposure":"Window"},"result":false},{"name":"api.MediaRecorderErrorEvent.MediaRecorderErrorEvent","info":{"code":"bcd.testConstructor('MediaRecorderErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaRecorderErrorEvent is not defined"},{"name":"api.MediaRecorderErrorEvent.error","info":{"code":"\"MediaRecorderErrorEvent\" in self && \"error\" in MediaRecorderErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.MediaSession","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.metadata","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance && \"metadata\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.playbackState","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance && \"playbackState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return !!instance && \"setActionHandler\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.hangup_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"hangup\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.nextslide_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"nextslide\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.nexttrack_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"nexttrack\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.pause_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"pause\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.play_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"play\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.previousslide_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"previousslide\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.previoustrack_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"previoustrack\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.seekbackward_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"seekbackward\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.seekforward_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"seekforward\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.seekto_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"seekto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.skipad_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"skipad\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.stop_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"stop\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.togglecamera_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"togglecamera\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setActionHandler.togglemicrophone_type","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  function setActionHandler(type) {\n    if (!(\"setActionHandler\" in instance)) {\n      return {\n        result: false,\n        message: \"MediaSession.setActionHandler is not defined\"\n      };\n    }\n    try {\n      instance.setActionHandler(type, null);\n      return true;\n    } catch (e) {\n      if (e instanceof TypeError) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    }\n  }\n  return setActionHandler(\"togglemicrophone\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setCameraActive","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance && \"setCameraActive\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setMicrophoneActive","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance && \"setMicrophoneActive\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setPositionState","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance && \"setPositionState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSession.setScreenshareActive","info":{"code":"(function () {\n  var instance = navigator.mediaSession;\n  return !!instance && \"setScreenshareActive\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MediaSource","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.MediaSource","info":{"code":"bcd.testConstructor('MediaSource')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaSource is not defined"},{"name":"api.MediaSource.activeSourceBuffers","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"activeSourceBuffers\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.addSourceBuffer","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"addSourceBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.canConstructInDedicatedWorker_static","info":{"code":"\"MediaSource\" in self && \"canConstructInDedicatedWorker\" in MediaSource","exposure":"Window"},"result":false},{"name":"api.MediaSource.clearLiveSeekableRange","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"clearLiveSeekableRange\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.duration","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"duration\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.endOfStream","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"endOfStream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.handle","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"handle\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.isTypeSupported_static","info":{"code":"\"MediaSource\" in self && \"isTypeSupported\" in MediaSource","exposure":"Window"},"result":false},{"name":"api.MediaSource.readyState","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.removeSourceBuffer","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"removeSourceBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.setLiveSeekableRange","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"setLiveSeekableRange\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSource.sourceBuffers","info":{"code":"(function () {\n  if (!(\"MediaSource\" in self)) {\n    return { result: false, message: \"MediaSource is not defined\" };\n  }\n  var instance = new MediaSource();\n  return !!instance && \"sourceBuffers\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MediaSource is not defined"},{"name":"api.MediaSourceHandle","info":{"code":"\"MediaSourceHandle\" in self","exposure":"Window"},"result":false},{"name":"api.MediaStream","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.MediaStream","info":{"code":"bcd.testConstructor('MediaStream')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStream is not defined"},{"name":"api.MediaStream.active","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"active\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.addTrack","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"addTrack\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.clone","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"clone\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.getAudioTracks","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"getAudioTracks\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.getTrackById","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"getTrackById\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.getTracks","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"getTracks\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.getVideoTracks","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"getVideoTracks\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.id","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStream.removeTrack","info":{"code":"(function () {\n  var instance = reusableInstances.mediaStream;\n  return !!instance && \"removeTrack\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MediaStreamAudioDestinationNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createMediaStreamDestination\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaStreamDestination is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createMediaStreamDestination();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.MediaStreamAudioDestinationNode.MediaStreamAudioDestinationNode","info":{"code":"bcd.testConstructor('MediaStreamAudioDestinationNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStreamAudioDestinationNode is not defined"},{"name":"api.MediaStreamAudioDestinationNode.stream","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createMediaStreamDestination\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaStreamDestination is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createMediaStreamDestination();\n  return !!instance && \"stream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.MediaStreamAudioSourceNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"createMediaStreamSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaStreamSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createMediaStreamSource(\n    reusableInstances.mediaStream\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.MediaStreamAudioSourceNode.MediaStreamAudioSourceNode","info":{"code":"bcd.testConstructor('MediaStreamAudioSourceNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStreamAudioSourceNode is not defined"},{"name":"api.MediaStreamAudioSourceNode.mediaStream","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  if (!(\"createMediaStreamSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaStreamSource is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createMediaStreamSource(\n    reusableInstances.mediaStream\n  );\n  return !!instance && \"mediaStream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.MediaStreamEvent","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n\n  var instance;\n  try {\n    instance = new MediaStreamEvent(\"addstream\", {\n      stream: reusableInstances.mediaStream\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MediaStreamEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: e.message };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamEvent.MediaStreamEvent","info":{"code":"bcd.testConstructor('MediaStreamEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStreamEvent is not defined"},{"name":"api.MediaStreamEvent.stream","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n\n  var instance;\n  try {\n    instance = new MediaStreamEvent(\"addstream\", {\n      stream: reusableInstances.mediaStream\n    });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MediaStreamEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: e.message };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"stream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.applyConstraints","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"applyConstraints\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.clone","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"clone\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.contentHint","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"contentHint\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.enabled","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"enabled\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.getCapabilities","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"getCapabilities\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.getCaptureHandle","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"getCaptureHandle\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.getConstraints","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"getConstraints\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.getSettings","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"getSettings\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.getSupportedCaptureActions","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"getSupportedCaptureActions\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.id","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.isolated","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"isolated\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.kind","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"kind\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.label","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.muted","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"muted\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.readyState","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.sendCaptureAction","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"sendCaptureAction\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrack.stop","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var instance = reusableInstances.mediaStream.getAudioTracks()[0];\n  return !!instance && \"stop\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrackAudioSourceNode","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var msTrack = reusableInstances.mediaStream.getAudioTracks()[0];\n  if (!msTrack) {\n    return { result: false, message: \"msTrack is falsy\" };\n  }\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createMediaStreamTrackSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaStreamTrackSource is not defined\"\n    };\n  }\n  var instance =\n    reusableInstances.audioContext.createMediaStreamTrackSource(msTrack);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrackAudioSourceNode.MediaStreamTrackAudioSourceNode","info":{"code":"bcd.testConstructor('MediaStreamTrackAudioSourceNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStreamTrackAudioSourceNode is not defined"},{"name":"api.MediaStreamTrackAudioSourceNode.mediaStreamTrack","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var msTrack = reusableInstances.mediaStream.getAudioTracks()[0];\n  if (!msTrack) {\n    return { result: false, message: \"msTrack is falsy\" };\n  }\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createMediaStreamTrackSource\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createMediaStreamTrackSource is not defined\"\n    };\n  }\n  var instance =\n    reusableInstances.audioContext.createMediaStreamTrackSource(msTrack);\n  return !!instance && \"mediaStreamTrack\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrackEvent","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var msTrack = reusableInstances.mediaStream.getAudioTracks()[0];\n  if (!msTrack) {\n    return { result: false, message: \"msTrack is falsy\" };\n  }\n\n  var instance;\n  try {\n    instance = new MediaStreamTrackEvent(\"addtrack\", { track: msTrack });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MediaStreamTrackEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: e.message };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrackEvent.MediaStreamTrackEvent","info":{"code":"bcd.testConstructor('MediaStreamTrackEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStreamTrackEvent is not defined"},{"name":"api.MediaStreamTrackEvent.track","info":{"code":"(function () {\n  if (!reusableInstances.mediaStream) {\n    return { result: false, message: \"Media stream is not available\" };\n  }\n  var msTrack = reusableInstances.mediaStream.getAudioTracks()[0];\n  if (!msTrack) {\n    return { result: false, message: \"msTrack is falsy\" };\n  }\n\n  var instance;\n  try {\n    instance = new MediaStreamTrackEvent(\"addtrack\", { track: msTrack });\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MediaStreamTrackEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: e.message };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"track\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Media stream is not available"},{"name":"api.MediaStreamTrackGenerator","info":{"code":"\"MediaStreamTrackGenerator\" in self","exposure":"Window"},"result":false},{"name":"api.MediaStreamTrackGenerator.MediaStreamTrackGenerator","info":{"code":"bcd.testConstructor('MediaStreamTrackGenerator')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MediaStreamTrackGenerator is not defined"},{"name":"api.MediaStreamTrackGenerator.writable","info":{"code":"\"MediaStreamTrackGenerator\" in self && \"writable\" in MediaStreamTrackGenerator.prototype","exposure":"Window"},"result":false},{"name":"api.MerchantValidationEvent","info":{"code":"(function () {\n  if (!(\"MerchantValidationEvent\" in self)) {\n    return { result: false, message: \"MerchantValidationEvent is not defined\" };\n  }\n  var instance = new MerchantValidationEvent(\"merchantvalidation\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"MerchantValidationEvent is not defined"},{"name":"api.MerchantValidationEvent.MerchantValidationEvent","info":{"code":"bcd.testConstructor('MerchantValidationEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MerchantValidationEvent is not defined"},{"name":"api.MerchantValidationEvent.complete","info":{"code":"(function () {\n  if (!(\"MerchantValidationEvent\" in self)) {\n    return { result: false, message: \"MerchantValidationEvent is not defined\" };\n  }\n  var instance = new MerchantValidationEvent(\"merchantvalidation\");\n  return !!instance && \"complete\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MerchantValidationEvent is not defined"},{"name":"api.MerchantValidationEvent.methodName","info":{"code":"(function () {\n  if (!(\"MerchantValidationEvent\" in self)) {\n    return { result: false, message: \"MerchantValidationEvent is not defined\" };\n  }\n  var instance = new MerchantValidationEvent(\"merchantvalidation\");\n  return !!instance && \"methodName\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MerchantValidationEvent is not defined"},{"name":"api.MerchantValidationEvent.validationURL","info":{"code":"(function () {\n  if (!(\"MerchantValidationEvent\" in self)) {\n    return { result: false, message: \"MerchantValidationEvent is not defined\" };\n  }\n  var instance = new MerchantValidationEvent(\"merchantvalidation\");\n  return !!instance && \"validationURL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"MerchantValidationEvent is not defined"},{"name":"api.MessageChannel","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var instance = new MessageChannel();\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageChannel.MessageChannel","info":{"code":"bcd.testConstructor('MessageChannel')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.MessageChannel.port1","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var instance = new MessageChannel();\n  return !!instance && \"port1\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageChannel.port2","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var instance = new MessageChannel();\n  return !!instance && \"port2\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent.MessageEvent","info":{"code":"bcd.testConstructor('MessageEvent')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.MessageEvent.data","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent.initMessageEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initMessageEvent\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MessageEvent.lastEventId","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"lastEventId\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent.origin","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"origin\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent.ports","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"ports\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent.source","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"source\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessageEvent.userActivation","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MessageEvent(\"message\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MessageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"userActivation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.MessagePort","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var channel = new MessageChannel();\n  if (!channel) {\n    return { result: false, message: \"channel is falsy\" };\n  }\n  var instance = channel.port1;\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessagePort.close","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var channel = new MessageChannel();\n  if (!channel) {\n    return { result: false, message: \"channel is falsy\" };\n  }\n  var instance = channel.port1;\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessagePort.postMessage","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var channel = new MessageChannel();\n  if (!channel) {\n    return { result: false, message: \"channel is falsy\" };\n  }\n  var instance = channel.port1;\n  return !!instance && \"postMessage\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.MessagePort.start","info":{"code":"(function () {\n  if (!(\"MessageChannel\" in self)) {\n    return { result: false, message: \"MessageChannel is not defined\" };\n  }\n  var channel = new MessageChannel();\n  if (!channel) {\n    return { result: false, message: \"channel is falsy\" };\n  }\n  var instance = channel.port1;\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Metadata","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    fseCallback(fs.root);\n  }\n  function fseCallback(fse) {\n    fse.getMetadata(callback, fail);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.Metadata.modificationTime","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    fseCallback(fs.root);\n  }\n  function fseCallback(fse) {\n    fse.getMetadata(callback, fail);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"modificationTime\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.Metadata.size","info":{"code":"(function () {\n  if ((!\"webkitRequestFileSystem\") in self) {\n    return { result: false, message: \"webkitRequestFileSystem is not defined\" };\n  }\n  self.webkitRequestFileSystem(\n    TEMPORARY,\n    8 * 1024 /* 8KB */,\n    function (fs) {\n      fsCallback(fs);\n    },\n    function (error) {\n      fail(error.message);\n    }\n  );\n  function fsCallback(fs) {\n    fseCallback(fs.root);\n  }\n  function fseCallback(fse) {\n    fse.getMetadata(callback, fail);\n  }\n  function callback(instance) {\n    try {\n      success(!!instance && \"size\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: TEMPORARY is not defined"},{"name":"api.MimeType","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var mimetypes = navigator.mimeTypes;\n  if (!mimetypes) {\n    return { result: false, message: \"mimetypes is falsy\" };\n  }\n  if (mimetypes.length === 0) {\n    return { result: null, message: \"navigator.mimeTypes is an empty array\" };\n  }\n  var instance = mimeTypes[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeType.description","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var mimetypes = navigator.mimeTypes;\n  if (!mimetypes) {\n    return { result: false, message: \"mimetypes is falsy\" };\n  }\n  if (mimetypes.length === 0) {\n    return { result: null, message: \"navigator.mimeTypes is an empty array\" };\n  }\n  var instance = mimeTypes[0];\n  return !!instance && \"description\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeType.enabledPlugin","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var mimetypes = navigator.mimeTypes;\n  if (!mimetypes) {\n    return { result: false, message: \"mimetypes is falsy\" };\n  }\n  if (mimetypes.length === 0) {\n    return { result: null, message: \"navigator.mimeTypes is an empty array\" };\n  }\n  var instance = mimeTypes[0];\n  return !!instance && \"enabledPlugin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeType.suffixes","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var mimetypes = navigator.mimeTypes;\n  if (!mimetypes) {\n    return { result: false, message: \"mimetypes is falsy\" };\n  }\n  if (mimetypes.length === 0) {\n    return { result: null, message: \"navigator.mimeTypes is an empty array\" };\n  }\n  var instance = mimeTypes[0];\n  return !!instance && \"suffixes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeType.type","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var mimetypes = navigator.mimeTypes;\n  if (!mimetypes) {\n    return { result: false, message: \"mimetypes is falsy\" };\n  }\n  if (mimetypes.length === 0) {\n    return { result: null, message: \"navigator.mimeTypes is an empty array\" };\n  }\n  var instance = mimeTypes[0];\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeTypeArray","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var instance = navigator.mimeTypes;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeTypeArray.item","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var instance = navigator.mimeTypes;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeTypeArray.length","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var instance = navigator.mimeTypes;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MimeTypeArray.namedItem","info":{"code":"(function () {\n  if (!(\"mimeTypes\" in navigator)) {\n    return { result: false, message: \"navigator.mimeTypes is not defined\" };\n  }\n  var instance = navigator.mimeTypes;\n  return !!instance && \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.MouseEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.MouseEvent","info":{"code":"bcd.testConstructor('MouseEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MouseEvent is not defined"},{"name":"api.MouseEvent.altKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"altKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.button","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"button\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.buttons","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"buttons\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.clientX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"clientX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.clientY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"clientY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.ctrlKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"ctrlKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.getModifierState","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"getModifierState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.initMouseEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initMouseEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.layerX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"layerX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.layerY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"layerY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.metaKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"metaKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.movementX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"movementX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.movementY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"movementY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.offsetX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"offsetX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.offsetY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"offsetY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.pageX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"pageX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.pageY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"pageY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.region","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"region\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.relatedTarget","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"relatedTarget\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.screenX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"screenX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.screenY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"screenY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.shiftKey","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"shiftKey\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.x","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseEvent.y","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new MouseEvent(\"click\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"MouseEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MouseScrollEvent","info":{"code":"\"MouseScrollEvent\" in self","exposure":"Window"},"result":false},{"name":"api.MutationEvent","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationEvent.attrChange","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"attrChange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationEvent.attrName","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"attrName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationEvent.initMutationEvent","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"initMutationEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationEvent.newValue","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"newValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationEvent.prevValue","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"prevValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationEvent.relatedNode","info":{"code":"(function () {\n  try {\n    var instance = document.createEvent(\"MutationEvent\");\n  } catch (e) {\n    if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    throw e;\n  }\n  return !!instance && \"relatedNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.MutationObserver","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var instance = new constructor(function (mutations) {});\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationObserver.MutationObserver","info":{"code":"bcd.testConstructor('MutationObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: MutationObserver is not defined"},{"name":"api.MutationObserver.disconnect","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var instance = new constructor(function (mutations) {});\n  return !!instance && \"disconnect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationObserver.observe","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var instance = new constructor(function (mutations) {});\n  return !!instance && \"observe\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationObserver.takeRecords","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var instance = new constructor(function (mutations) {});\n  return !!instance && \"takeRecords\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.addedNodes","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"addedNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.attributeName","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"attributeName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.attributeNamespace","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"attributeNamespace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.nextSibling","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"nextSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.oldValue","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"oldValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.previousSibling","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"previousSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.removedNodes","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"removedNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.target","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.MutationRecord.type","info":{"code":"(function () {\n  var constructor = window.MutationObserver || window.WebKitMutationObserver;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(WebKit)MutationObserver is not defined\"\n    };\n  }\n  var observer = new constructor(function (mutations) {});\n  if (!observer) {\n    return { result: false, message: \"observer is falsy\" };\n  }\n\n  // Create element and observe\n  var targetNode = document.createElement(\"p\");\n  observer.observe(targetNode, {\n    childList: true,\n    attributes: true\n  });\n\n  // Make a change\n  targetNode.innerHTML = \"foo bar\";\n\n  // Get the record\n  var records = observer.takeRecords();\n  var instance = records[0];\n\n  // Finally, disconnect the observer\n  observer.disconnect();\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.NDEFMessage","info":{"code":"\"NDEFMessage\" in self","exposure":"Window"},"result":false},{"name":"api.NDEFMessage.NDEFMessage","info":{"code":"bcd.testConstructor('NDEFMessage')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NDEFMessage is not defined"},{"name":"api.NDEFMessage.records","info":{"code":"\"NDEFMessage\" in self && \"records\" in NDEFMessage.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFReader","info":{"code":"\"NDEFReader\" in self","exposure":"Window"},"result":false},{"name":"api.NDEFReader.NDEFReader","info":{"code":"bcd.testConstructor('NDEFReader')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NDEFReader is not defined"},{"name":"api.NDEFReader.makeReadOnly","info":{"code":"\"NDEFReader\" in self && \"makeReadOnly\" in NDEFReader.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFReader.scan","info":{"code":"\"NDEFReader\" in self && \"scan\" in NDEFReader.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFReader.write","info":{"code":"\"NDEFReader\" in self && \"write\" in NDEFReader.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFReadingEvent","info":{"code":"\"NDEFReadingEvent\" in self","exposure":"Window"},"result":false},{"name":"api.NDEFReadingEvent.NDEFReadingEvent","info":{"code":"bcd.testConstructor('NDEFReadingEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NDEFReadingEvent is not defined"},{"name":"api.NDEFReadingEvent.message","info":{"code":"\"NDEFReadingEvent\" in self && \"message\" in NDEFReadingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFReadingEvent.serialNumber","info":{"code":"\"NDEFReadingEvent\" in self && \"serialNumber\" in NDEFReadingEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord","info":{"code":"\"NDEFRecord\" in self","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.NDEFRecord","info":{"code":"bcd.testConstructor('NDEFRecord')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NDEFRecord is not defined"},{"name":"api.NDEFRecord.data","info":{"code":"\"NDEFRecord\" in self && \"data\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.encoding","info":{"code":"\"NDEFRecord\" in self && \"encoding\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.id","info":{"code":"\"NDEFRecord\" in self && \"id\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.lang","info":{"code":"\"NDEFRecord\" in self && \"lang\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.mediaType","info":{"code":"\"NDEFRecord\" in self && \"mediaType\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.recordType","info":{"code":"\"NDEFRecord\" in self && \"recordType\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NDEFRecord.toRecords","info":{"code":"\"NDEFRecord\" in self && \"toRecords\" in NDEFRecord.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlow","info":{"code":"\"NamedFlow\" in self","exposure":"Window"},"result":false},{"name":"api.NamedFlow.firstEmptyRegionIndex","info":{"code":"\"NamedFlow\" in self && \"firstEmptyRegionIndex\" in NamedFlow.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlow.getContent","info":{"code":"\"NamedFlow\" in self && \"getContent\" in NamedFlow.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlow.getRegions","info":{"code":"\"NamedFlow\" in self && \"getRegions\" in NamedFlow.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlow.getRegionsByContent","info":{"code":"\"NamedFlow\" in self && \"getRegionsByContent\" in NamedFlow.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlow.name","info":{"code":"\"NamedFlow\" in self && \"name\" in NamedFlow.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlow.overset","info":{"code":"\"NamedFlow\" in self && \"overset\" in NamedFlow.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap","info":{"code":"\"NamedFlowMap\" in self","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"NamedFlowMap\" in self && !!(NamedFlowMap.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.clear","info":{"code":"\"NamedFlowMap\" in self && \"clear\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.delete","info":{"code":"\"NamedFlowMap\" in self && \"delete\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.entries","info":{"code":"\"NamedFlowMap\" in self && \"entries\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.forEach","info":{"code":"\"NamedFlowMap\" in self && \"forEach\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.get","info":{"code":"\"NamedFlowMap\" in self && \"get\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.has","info":{"code":"\"NamedFlowMap\" in self && \"has\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.keys","info":{"code":"\"NamedFlowMap\" in self && \"keys\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.set","info":{"code":"\"NamedFlowMap\" in self && \"set\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.size","info":{"code":"\"NamedFlowMap\" in self && \"size\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedFlowMap.values","info":{"code":"\"NamedFlowMap\" in self && \"values\" in NamedFlowMap.prototype","exposure":"Window"},"result":false},{"name":"api.NamedNodeMap","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.getNamedItem","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"getNamedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.getNamedItemNS","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"getNamedItemNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.item","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.length","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.removeNamedItem","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"removeNamedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.removeNamedItemNS","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"removeNamedItemNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.setNamedItem","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"setNamedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NamedNodeMap.setNamedItemNS","info":{"code":"(function () {\n  var instance = document.body.attributes;\n  return !!instance && \"setNamedItemNS\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NavigateEvent","info":{"code":"\"NavigateEvent\" in self","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.NavigateEvent","info":{"code":"bcd.testConstructor('NavigateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NavigateEvent is not defined"},{"name":"api.NavigateEvent.canIntercept","info":{"code":"\"NavigateEvent\" in self && \"canIntercept\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.destination","info":{"code":"\"NavigateEvent\" in self && \"destination\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.downloadRequest","info":{"code":"\"NavigateEvent\" in self && \"downloadRequest\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.formData","info":{"code":"\"NavigateEvent\" in self && \"formData\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.hasUAVisualTransition","info":{"code":"\"NavigateEvent\" in self && \"hasUAVisualTransition\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.hashChange","info":{"code":"\"NavigateEvent\" in self && \"hashChange\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.info","info":{"code":"\"NavigateEvent\" in self && \"info\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.intercept","info":{"code":"\"NavigateEvent\" in self && \"intercept\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.navigationType","info":{"code":"\"NavigateEvent\" in self && \"navigationType\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.scroll","info":{"code":"\"NavigateEvent\" in self && \"scroll\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.signal","info":{"code":"\"NavigateEvent\" in self && \"signal\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.sourceElement","info":{"code":"\"NavigateEvent\" in self && \"sourceElement\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigateEvent.userInitiated","info":{"code":"\"NavigateEvent\" in self && \"userInitiated\" in NavigateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation","info":{"code":"\"Navigation\" in self","exposure":"Window"},"result":false},{"name":"api.Navigation.activation","info":{"code":"\"Navigation\" in self && \"activation\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.back","info":{"code":"\"Navigation\" in self && \"back\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.canGoBack","info":{"code":"\"Navigation\" in self && \"canGoBack\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.canGoForward","info":{"code":"\"Navigation\" in self && \"canGoForward\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.currentEntry","info":{"code":"\"Navigation\" in self && \"currentEntry\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.entries","info":{"code":"\"Navigation\" in self && \"entries\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.forward","info":{"code":"\"Navigation\" in self && \"forward\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.navigate","info":{"code":"\"Navigation\" in self && \"navigate\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.reload","info":{"code":"\"Navigation\" in self && \"reload\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.transition","info":{"code":"\"Navigation\" in self && \"transition\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.traverseTo","info":{"code":"\"Navigation\" in self && \"traverseTo\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.Navigation.updateCurrentEntry","info":{"code":"\"Navigation\" in self && \"updateCurrentEntry\" in Navigation.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationActivation","info":{"code":"(function () {\n  if (!(\"navigation\" in self)) {\n    return { result: false, message: \"navigation is not defined\" };\n  }\n  var instance = navigation.activation;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"navigation is not defined"},{"name":"api.NavigationActivation.entry","info":{"code":"(function () {\n  if (!(\"navigation\" in self)) {\n    return { result: false, message: \"navigation is not defined\" };\n  }\n  var instance = navigation.activation;\n  return !!instance && \"entry\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"navigation is not defined"},{"name":"api.NavigationActivation.from","info":{"code":"(function () {\n  if (!(\"navigation\" in self)) {\n    return { result: false, message: \"navigation is not defined\" };\n  }\n  var instance = navigation.activation;\n  return !!instance && \"from\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"navigation is not defined"},{"name":"api.NavigationActivation.navigationType","info":{"code":"(function () {\n  if (!(\"navigation\" in self)) {\n    return { result: false, message: \"navigation is not defined\" };\n  }\n  var instance = navigation.activation;\n  return !!instance && \"navigationType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"navigation is not defined"},{"name":"api.NavigationCurrentEntryChangeEvent","info":{"code":"\"NavigationCurrentEntryChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationCurrentEntryChangeEvent.NavigationCurrentEntryChangeEvent","info":{"code":"bcd.testConstructor('NavigationCurrentEntryChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NavigationCurrentEntryChangeEvent is not defined"},{"name":"api.NavigationCurrentEntryChangeEvent.from","info":{"code":"\"NavigationCurrentEntryChangeEvent\" in self && \"from\" in NavigationCurrentEntryChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationCurrentEntryChangeEvent.navigationType","info":{"code":"\"NavigationCurrentEntryChangeEvent\" in self && \"navigationType\" in NavigationCurrentEntryChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationDestination","info":{"code":"\"NavigationDestination\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationDestination.getState","info":{"code":"\"NavigationDestination\" in self && \"getState\" in NavigationDestination.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationDestination.id","info":{"code":"\"NavigationDestination\" in self && \"id\" in NavigationDestination.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationDestination.index","info":{"code":"\"NavigationDestination\" in self && \"index\" in NavigationDestination.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationDestination.key","info":{"code":"\"NavigationDestination\" in self && \"key\" in NavigationDestination.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationDestination.sameDocument","info":{"code":"\"NavigationDestination\" in self && \"sameDocument\" in NavigationDestination.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationDestination.url","info":{"code":"\"NavigationDestination\" in self && \"url\" in NavigationDestination.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationEvent","info":{"code":"\"NavigationEvent\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationEvent.NavigationEvent","info":{"code":"bcd.testConstructor('NavigationEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: NavigationEvent is not defined"},{"name":"api.NavigationEvent.dir","info":{"code":"\"NavigationEvent\" in self && \"dir\" in NavigationEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationEvent.relatedTarget","info":{"code":"\"NavigationEvent\" in self && \"relatedTarget\" in NavigationEvent.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry","info":{"code":"\"NavigationHistoryEntry\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry.getState","info":{"code":"\"NavigationHistoryEntry\" in self && \"getState\" in NavigationHistoryEntry.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry.id","info":{"code":"\"NavigationHistoryEntry\" in self && \"id\" in NavigationHistoryEntry.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry.index","info":{"code":"\"NavigationHistoryEntry\" in self && \"index\" in NavigationHistoryEntry.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry.key","info":{"code":"\"NavigationHistoryEntry\" in self && \"key\" in NavigationHistoryEntry.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry.sameDocument","info":{"code":"\"NavigationHistoryEntry\" in self && \"sameDocument\" in NavigationHistoryEntry.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationHistoryEntry.url","info":{"code":"\"NavigationHistoryEntry\" in self && \"url\" in NavigationHistoryEntry.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationPrecommitController","info":{"code":"\"NavigationPrecommitController\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationPrecommitController.redirect","info":{"code":"\"NavigationPrecommitController\" in self && \"redirect\" in NavigationPrecommitController.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationPreloadManager","info":{"code":"\"NavigationPreloadManager\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationPreloadManager.disable","info":{"code":"\"NavigationPreloadManager\" in self && \"disable\" in NavigationPreloadManager.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationPreloadManager.enable","info":{"code":"\"NavigationPreloadManager\" in self && \"enable\" in NavigationPreloadManager.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationPreloadManager.getState","info":{"code":"\"NavigationPreloadManager\" in self && \"getState\" in NavigationPreloadManager.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationPreloadManager.setHeaderValue","info":{"code":"\"NavigationPreloadManager\" in self && \"setHeaderValue\" in NavigationPreloadManager.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationTransition","info":{"code":"\"NavigationTransition\" in self","exposure":"Window"},"result":false},{"name":"api.NavigationTransition.committed","info":{"code":"\"NavigationTransition\" in self && \"committed\" in NavigationTransition.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationTransition.finished","info":{"code":"\"NavigationTransition\" in self && \"finished\" in NavigationTransition.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationTransition.from","info":{"code":"\"NavigationTransition\" in self && \"from\" in NavigationTransition.prototype","exposure":"Window"},"result":false},{"name":"api.NavigationTransition.navigationType","info":{"code":"\"NavigationTransition\" in self && \"navigationType\" in NavigationTransition.prototype","exposure":"Window"},"result":false},{"name":"api.Navigator","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.activeVRDisplays","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"activeVRDisplays\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.adAuctionComponents","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"adAuctionComponents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.appCodeName","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"appCodeName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.appName","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"appName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.appVersion","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"appVersion\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.attribution","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"attribution\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.audioSession","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"audioSession\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.authentication","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"authentication\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.bluetooth","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"bluetooth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.buildID","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"buildID\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.canLoadAdAuctionFencedFrame","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"canLoadAdAuctionFencedFrame\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.canShare","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"canShare\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.canShare.data_files_parameter","info":{"code":"(function () {\n  var instance = navigator;\n  return bcd.testOptionParam(instance, \"canShare\", \"files\", [\n    new File([\"foo bar\"], \"foo.txt\")\n  ]);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.canShare.data_text_parameter","info":{"code":"(function () {\n  var instance = navigator;\n  return bcd.testOptionParam(instance, \"canShare\", \"text\", \"foo bar\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.clearAppBadge","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"clearAppBadge\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.clearOriginJoinedAdInterestGroups","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"clearOriginJoinedAdInterestGroups\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.clipboard","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"clipboard\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.connection","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"connection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.contacts","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"contacts\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.cookieEnabled","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"cookieEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.createAuctionNonce","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"createAuctionNonce\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.createHandwritingRecognizer","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"createHandwritingRecognizer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.credentials","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"credentials\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.deprecatedReplaceInURN","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"deprecatedReplaceInURN\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.deprecatedRunAdAuctionEnforcesKAnonymity","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"deprecatedRunAdAuctionEnforcesKAnonymity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.deprecatedURNtoURL","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"deprecatedURNtoURL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.deviceMemory","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"deviceMemory\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.devicePosture","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"devicePosture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.doNotTrack","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"doNotTrack\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.geolocation","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"geolocation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getAutoplayPolicy","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getAutoplayPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getBattery","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getBattery\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getGamepads","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getGamepads\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getInstalledRelatedApps","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getInstalledRelatedApps\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getInterestGroupAdAuctionData","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getInterestGroupAdAuctionData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getUserMedia","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getUserMedia\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.getVRDisplays","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"getVRDisplays\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.globalPrivacyControl","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"globalPrivacyControl\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.gpu","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"gpu\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.hardwareConcurrency","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"hardwareConcurrency\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.hid","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"hid\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.ink","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"ink\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.javaEnabled","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"javaEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.joinAdInterestGroup","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"joinAdInterestGroup\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.keyboard","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"keyboard\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.language","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"language\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.languages","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"languages\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.leaveAdInterestGroup","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"leaveAdInterestGroup\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.locks","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"locks\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.login","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"login\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.managed","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"managed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.maxTouchPoints","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"maxTouchPoints\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.mediaCapabilities","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"mediaCapabilities\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.mediaDevices","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"mediaDevices\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.mediaSession","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"mediaSession\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.mimeTypes","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"mimeTypes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.ml","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"ml\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.onLine","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"onLine\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.oscpu","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"oscpu\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.pdfViewerEnabled","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"pdfViewerEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.permissions","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"permissions\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.platform","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"platform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.plugins","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"plugins\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.preferences","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"preferences\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.presentation","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"presentation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.product","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"product\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.productSub","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"productSub\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.protectedAudience","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"protectedAudience\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.queryHandwritingRecognizer","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"queryHandwritingRecognizer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.registerProtocolHandler","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"registerProtocolHandler\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.requestMIDIAccess","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"requestMIDIAccess\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.requestMediaKeySystemAccess","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"requestMediaKeySystemAccess\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.runAdAuction","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"runAdAuction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.scheduling","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"scheduling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.sendBeacon","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"sendBeacon\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.serial","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"serial\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.serviceWorker","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"serviceWorker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.setAppBadge","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"setAppBadge\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.share","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"share\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.share.data_files_parameter","info":{"code":"(function () {\n  var instance = navigator; // If `canShare` supports the parameter, `share` does\n  return bcd.testOptionParam(instance, \"canShare\", \"files\", [\n    new File([\"foo bar\"], \"foo.txt\")\n  ]);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.share.data_text_parameter","info":{"code":"(function () {\n  var instance = navigator; // If `canShare` supports the parameter, `share` does\n  return bcd.testOptionParam(instance, \"canShare\", \"text\", \"foo bar\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.storage","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"storage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.storageBuckets","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"storageBuckets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.taintEnabled","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"taintEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.unregisterProtocolHandler","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"unregisterProtocolHandler\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.updateAdInterestGroups","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"updateAdInterestGroups\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.usb","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"usb\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.userActivation","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"userActivation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.userAgent","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"userAgent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.userAgentData","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"userAgentData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.vendor","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"vendor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.vendorSub","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"vendorSub\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.vibrate","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"vibrate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.virtualKeyboard","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"virtualKeyboard\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.wakeLock","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"wakeLock\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.webdriver","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"webdriver\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.windowControlsOverlay","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"windowControlsOverlay\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Navigator.xr","info":{"code":"(function () {\n  var instance = navigator;\n  return !!instance && \"xr\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.NavigatorLogin","info":{"code":"\"NavigatorLogin\" in self","exposure":"Window"},"result":false},{"name":"api.NavigatorLogin.setStatus","info":{"code":"\"NavigatorLogin\" in self && \"setStatus\" in NavigatorLogin.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData","info":{"code":"\"NavigatorManagedData\" in self","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData.getAnnotatedAssetId","info":{"code":"\"NavigatorManagedData\" in self && \"getAnnotatedAssetId\" in NavigatorManagedData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData.getAnnotatedLocation","info":{"code":"\"NavigatorManagedData\" in self && \"getAnnotatedLocation\" in NavigatorManagedData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData.getDirectoryId","info":{"code":"\"NavigatorManagedData\" in self && \"getDirectoryId\" in NavigatorManagedData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData.getHostname","info":{"code":"\"NavigatorManagedData\" in self && \"getHostname\" in NavigatorManagedData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData.getManagedConfiguration","info":{"code":"\"NavigatorManagedData\" in self && \"getManagedConfiguration\" in NavigatorManagedData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorManagedData.getSerialNumber","info":{"code":"\"NavigatorManagedData\" in self && \"getSerialNumber\" in NavigatorManagedData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorUAData","info":{"code":"\"NavigatorUAData\" in self","exposure":"Window"},"result":false},{"name":"api.NavigatorUAData.brands","info":{"code":"\"NavigatorUAData\" in self && \"brands\" in NavigatorUAData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorUAData.getHighEntropyValues","info":{"code":"\"NavigatorUAData\" in self && \"getHighEntropyValues\" in NavigatorUAData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorUAData.mobile","info":{"code":"\"NavigatorUAData\" in self && \"mobile\" in NavigatorUAData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorUAData.platform","info":{"code":"\"NavigatorUAData\" in self && \"platform\" in NavigatorUAData.prototype","exposure":"Window"},"result":false},{"name":"api.NavigatorUAData.toJSON","info":{"code":"\"NavigatorUAData\" in self && \"toJSON\" in NavigatorUAData.prototype","exposure":"Window"},"result":false},{"name":"api.NetworkInformation","info":{"code":"\"NetworkInformation\" in self","exposure":"Window"},"result":false},{"name":"api.NetworkInformation.downlink","info":{"code":"\"NetworkInformation\" in self && \"downlink\" in NetworkInformation.prototype","exposure":"Window"},"result":false},{"name":"api.NetworkInformation.downlinkMax","info":{"code":"\"NetworkInformation\" in self && \"downlinkMax\" in NetworkInformation.prototype","exposure":"Window"},"result":false},{"name":"api.NetworkInformation.effectiveType","info":{"code":"\"NetworkInformation\" in self && \"effectiveType\" in NetworkInformation.prototype","exposure":"Window"},"result":false},{"name":"api.NetworkInformation.rtt","info":{"code":"\"NetworkInformation\" in self && \"rtt\" in NetworkInformation.prototype","exposure":"Window"},"result":false},{"name":"api.NetworkInformation.saveData","info":{"code":"\"NetworkInformation\" in self && \"saveData\" in NetworkInformation.prototype","exposure":"Window"},"result":false},{"name":"api.NetworkInformation.type","info":{"code":"\"NetworkInformation\" in self && \"type\" in NetworkInformation.prototype","exposure":"Window"},"result":false},{"name":"api.Node","info":{"code":"(function () {\n  var instance = document;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.appendChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"appendChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.baseURI","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"baseURI\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.childNodes","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"childNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.cloneNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"cloneNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.compareDocumentPosition","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"compareDocumentPosition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.contains","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"contains\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.firstChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"firstChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.getRootNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"getRootNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.hasChildNodes","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"hasChildNodes\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.insertBefore","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"insertBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.isConnected","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"isConnected\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.isDefaultNamespace","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"isDefaultNamespace\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.isEqualNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"isEqualNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.isSameNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"isSameNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.lastChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"lastChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.lookupNamespaceURI","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"lookupNamespaceURI\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.lookupPrefix","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"lookupPrefix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.nextSibling","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"nextSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.nodeName","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"nodeName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.nodeType","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"nodeType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.nodeValue","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"nodeValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.normalize","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"normalize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.ownerDocument","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"ownerDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.parentElement","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"parentElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.parentNode","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"parentNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.previousSibling","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"previousSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.removeChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"removeChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.replaceChild","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"replaceChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Node.textContent","info":{"code":"(function () {\n  var instance = document;\n  return !!instance && \"textContent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.detach","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"detach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.filter","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"filter\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.nextNode","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"nextNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.pointerBeforeReferenceNode","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"pointerBeforeReferenceNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.previousNode","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"previousNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.referenceNode","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"referenceNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.root","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"root\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeIterator.whatToShow","info":{"code":"(function () {\n  var instance = document.createNodeIterator(document);\n  return !!instance && \"whatToShow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.@@iterator","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.entries","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.forEach","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.item","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.keys","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.length","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NodeList.values","info":{"code":"(function () {\n  var instance = document.childNodes;\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.NotRestoredReasonDetails","info":{"code":"\"NotRestoredReasonDetails\" in self","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasonDetails.reason","info":{"code":"\"NotRestoredReasonDetails\" in self && \"reason\" in NotRestoredReasonDetails.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasonDetails.toJSON","info":{"code":"\"NotRestoredReasonDetails\" in self && \"toJSON\" in NotRestoredReasonDetails.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons","info":{"code":"\"NotRestoredReasons\" in self","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.children","info":{"code":"\"NotRestoredReasons\" in self && \"children\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.id","info":{"code":"\"NotRestoredReasons\" in self && \"id\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.name","info":{"code":"\"NotRestoredReasons\" in self && \"name\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.reasons","info":{"code":"\"NotRestoredReasons\" in self && \"reasons\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.src","info":{"code":"\"NotRestoredReasons\" in self && \"src\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.toJSON","info":{"code":"\"NotRestoredReasons\" in self && \"toJSON\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.NotRestoredReasons.url","info":{"code":"\"NotRestoredReasons\" in self && \"url\" in NotRestoredReasons.prototype","exposure":"Window"},"result":false},{"name":"api.Notification","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.Notification","info":{"code":"bcd.testConstructor('Notification')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Notification is not defined"},{"name":"api.Notification.actions","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"actions\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.badge","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"badge\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.body","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"body\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.close","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.data","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"data\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.dir","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"dir\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.icon","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"icon\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.image","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"image\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.lang","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"lang\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.maxActions_static","info":{"code":"\"Notification\" in self && \"maxActions\" in Notification","exposure":"Window"},"result":false},{"name":"api.Notification.navigate","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"navigate\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.permission_static","info":{"code":"\"Notification\" in self && \"permission\" in Notification","exposure":"Window"},"result":false},{"name":"api.Notification.renotify","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"renotify\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.requestPermission_static","info":{"code":"\"Notification\" in self && \"requestPermission\" in Notification","exposure":"Window"},"result":false},{"name":"api.Notification.requireInteraction","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"requireInteraction\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.silent","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"silent\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.tag","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"tag\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.timestamp","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"timestamp\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.title","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"title\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.Notification.vibrate","info":{"code":"(function () {\n  if (!(\"Notification\" in self)) {\n    return { result: false, message: \"Notification is not defined\" };\n  }\n  var instance = new Notification(\"\");\n  return !!instance && \"vibrate\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Notification is not defined"},{"name":"api.OES_draw_buffers_indexed","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.blendEquationSeparateiOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"blendEquationSeparateiOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.blendEquationiOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"blendEquationiOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.blendFuncSeparateiOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"blendFuncSeparateiOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.blendFunciOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"blendFunciOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.colorMaskiOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"colorMaskiOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.disableiOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"disableiOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_draw_buffers_indexed.enableiOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_draw_buffers_indexed\"\n  );\n  return !!instance && \"enableiOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_element_index_uint","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_element_index_uint\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_fbo_render_mipmap","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"OES_fbo_render_mipmap\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_standard_derivatives","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_standard_derivatives\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_texture_float","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"OES_texture_float\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_texture_float_linear","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"OES_texture_float_linear\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.OES_texture_half_float","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_texture_half_float\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_texture_half_float_linear","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_texture_half_float_linear\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_vertex_array_object","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_vertex_array_object\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_vertex_array_object.bindVertexArrayOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_vertex_array_object\"\n  );\n  return !!instance && \"bindVertexArrayOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_vertex_array_object.createVertexArrayOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_vertex_array_object\"\n  );\n  return !!instance && \"createVertexArrayOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_vertex_array_object.deleteVertexArrayOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_vertex_array_object\"\n  );\n  return !!instance && \"deleteVertexArrayOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OES_vertex_array_object.isVertexArrayOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"OES_vertex_array_object\"\n  );\n  return !!instance && \"isVertexArrayOES\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.OTPCredential","info":{"code":"\"OTPCredential\" in self","exposure":"Window"},"result":false},{"name":"api.OTPCredential.code","info":{"code":"\"OTPCredential\" in self && \"code\" in OTPCredential.prototype","exposure":"Window"},"result":false},{"name":"api.OVR_multiview2","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  var instance = reusableInstances.webGL2.getExtension(\"OVR_multiview2\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.OVR_multiview2.framebufferTextureMultiviewOVR","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  var instance = reusableInstances.webGL2.getExtension(\"OVR_multiview2\");\n  return !!instance && \"framebufferTextureMultiviewOVR\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.Observable","info":{"code":"\"Observable\" in self","exposure":"Window"},"result":false},{"name":"api.Observable.Observable","info":{"code":"bcd.testConstructor('Observable')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Observable is not defined"},{"name":"api.Observable.catch","info":{"code":"\"Observable\" in self && \"catch\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.drop","info":{"code":"\"Observable\" in self && \"drop\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.every","info":{"code":"\"Observable\" in self && \"every\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.filter","info":{"code":"\"Observable\" in self && \"filter\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.finally","info":{"code":"\"Observable\" in self && \"finally\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.find","info":{"code":"\"Observable\" in self && \"find\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.first","info":{"code":"\"Observable\" in self && \"first\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.flatMap","info":{"code":"\"Observable\" in self && \"flatMap\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.forEach","info":{"code":"\"Observable\" in self && \"forEach\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.from_static","info":{"code":"\"Observable\" in self && \"from\" in Observable","exposure":"Window"},"result":false},{"name":"api.Observable.inspect","info":{"code":"\"Observable\" in self && \"inspect\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.last","info":{"code":"\"Observable\" in self && \"last\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.map","info":{"code":"\"Observable\" in self && \"map\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.reduce","info":{"code":"\"Observable\" in self && \"reduce\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.some","info":{"code":"\"Observable\" in self && \"some\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.subscribe","info":{"code":"\"Observable\" in self && \"subscribe\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.switchMap","info":{"code":"\"Observable\" in self && \"switchMap\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.take","info":{"code":"\"Observable\" in self && \"take\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.takeUntil","info":{"code":"\"Observable\" in self && \"takeUntil\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.Observable.toArray","info":{"code":"\"Observable\" in self && \"toArray\" in Observable.prototype","exposure":"Window"},"result":false},{"name":"api.OfflineAudioCompletionEvent","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var buffer = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  if (!buffer) {\n    return { result: false, message: \"buffer is falsy\" };\n  }\n  if (!(\"OfflineAudioCompletionEvent\" in self)) {\n    return {\n      result: false,\n      message: \"OfflineAudioCompletionEvent is not defined\"\n    };\n  }\n  var instance = new OfflineAudioCompletionEvent(\"complete\", {\n    renderedBuffer: buffer\n  });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OfflineAudioCompletionEvent.OfflineAudioCompletionEvent","info":{"code":"bcd.testConstructor('OfflineAudioCompletionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: OfflineAudioCompletionEvent is not defined"},{"name":"api.OfflineAudioCompletionEvent.renderedBuffer","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var buffer = reusableInstances.audioContext.createBuffer(\n    2,\n    reusableInstances.audioContext.sampleRate * 3,\n    reusableInstances.audioContext.sampleRate\n  );\n  if (!buffer) {\n    return { result: false, message: \"buffer is falsy\" };\n  }\n  if (!(\"OfflineAudioCompletionEvent\" in self)) {\n    return {\n      result: false,\n      message: \"OfflineAudioCompletionEvent is not defined\"\n    };\n  }\n  var instance = new OfflineAudioCompletionEvent(\"complete\", {\n    renderedBuffer: buffer\n  });\n  return !!instance && \"renderedBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OfflineAudioContext","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  return \"OfflineAudioContext\" in self;\n})();\n","exposure":"Window"},"result":false},{"name":"api.OfflineAudioContext.OfflineAudioContext","info":{"code":"bcd.testConstructor('OfflineAudioContext')","exposure":"Window"},"result":false,"message":"threw ReferenceError: OfflineAudioContext is not defined"},{"name":"api.OfflineAudioContext.OfflineAudioContext.options_parameter","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  try {\n    new OfflineAudioContext({\n      numberOfChannels: 2,\n      length: 44100 * 40,\n      sampleRate: 44100\n    });\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"OfflineAudioContext is not defined"},{"name":"api.OfflineAudioContext.length","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.OfflineAudioContext.resume","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  return !!instance && \"resume\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.OfflineAudioContext.startRendering","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  return !!instance && \"startRendering\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.OfflineAudioContext.startRendering.returns_promise","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  if (!(instance && instance.startRendering)) {\n    return { result: false, message: \"instance.startRendering is not defined\" };\n  }\n  var value = instance.startRendering();\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":false,"message":"instance.startRendering is not defined"},{"name":"api.OfflineAudioContext.suspend","info":{"code":"(function () {\n  var instance = reusableInstances.offlineAudioContext;\n  return !!instance && \"suspend\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvas","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.OffscreenCanvas","info":{"code":"bcd.testConstructor('OffscreenCanvas')","exposure":"Window"},"result":false,"message":"threw ReferenceError: OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.convertToBlob","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  return !!instance && \"convertToBlob\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.convertToBlob.option_type_parameter_webp","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  instance.getContext(\"2d\");\n  if (!(\"convertToBlob\" in instance)) {\n    return { result: false, message: \"instance.convertToBlob is not defined\" };\n  }\n  var blobPromise = instance.convertToBlob({ type: \"image/webp\" });\n  return blobPromise.then(function (blob) {\n    return blob.type === \"image/webp\";\n  });\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.getContext","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  return !!instance && \"getContext\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.getContext.2d_context","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"2d\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.getContext.bitmaprenderer_context","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"bitmaprenderer\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.getContext.webgl2_context","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"webgl2\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.getContext.webgl_context","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"webgl\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.getContext.webgpu_context","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  bcd.skipIf(\n    \"Generating a WebGPU context in Safari 18.4 causes a browser crash\",\n    \"safari\",\n    \"18.4\"\n  );\n  if (!(instance && instance.getContext)) {\n    return { result: false, message: \"instance.getContext is not defined\" };\n  }\n  try {\n    var ctx = instance.getContext(\"webgpu\");\n    return !!ctx;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.height","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.transferToImageBitmap","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  return !!instance && \"transferToImageBitmap\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvas.width","info":{"code":"(function () {\n  if (!(\"OffscreenCanvas\" in self)) {\n    return { result: false, message: \"OffscreenCanvas is not defined\" };\n  }\n  var instance = new OffscreenCanvas(1024, 1024);\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"OffscreenCanvas is not defined"},{"name":"api.OffscreenCanvasRenderingContext2D","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.arc","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"arc\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.arcTo","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"arcTo\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.beginPath","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"beginPath\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.bezierCurveTo","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"bezierCurveTo\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.canvas","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"canvas\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.clearRect","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"clearRect\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.clip","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"clip\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.closePath","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"closePath\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.commit","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"commit\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.createConicGradient","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"createConicGradient\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.createImageData","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"createImageData\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.createLinearGradient","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"createLinearGradient\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.createPattern","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"createPattern\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.createRadialGradient","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"createRadialGradient\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.direction","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"direction\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.drawImage","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"drawImage\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.ellipse","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"ellipse\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fill","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fill\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fillRect","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fillRect\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fillStyle","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fillStyle\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fillText","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fillText\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.filter","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"filter\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.font","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"font\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fontKerning","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fontKerning\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fontStretch","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fontStretch\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.fontVariantCaps","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"fontVariantCaps\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.getContextAttributes","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"getContextAttributes\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.getImageData","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"getImageData\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.getLineDash","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"getLineDash\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.getTransform","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"getTransform\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.globalAlpha","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"globalAlpha\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.globalCompositeOperation","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"globalCompositeOperation\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.imageSmoothingEnabled","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"imageSmoothingEnabled\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.imageSmoothingQuality","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"imageSmoothingQuality\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.isContextLost","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"isContextLost\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.isPointInPath","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"isPointInPath\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.isPointInStroke","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"isPointInStroke\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.lang","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"lang\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.letterSpacing","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"letterSpacing\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.lineCap","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"lineCap\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.lineDashOffset","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"lineDashOffset\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.lineJoin","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"lineJoin\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.lineTo","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"lineTo\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.lineWidth","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"lineWidth\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.measureText","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"measureText\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.miterLimit","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"miterLimit\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.moveTo","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"moveTo\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.putImageData","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"putImageData\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.quadraticCurveTo","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"quadraticCurveTo\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.rect","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"rect\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.reset","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"reset\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.resetTransform","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"resetTransform\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.restore","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"restore\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.rotate","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"rotate\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.roundRect","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"roundRect\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.save","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"save\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.scale","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"scale\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.setLineDash","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"setLineDash\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.setTransform","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"setTransform\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.shadowBlur","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"shadowBlur\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.shadowColor","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"shadowColor\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.shadowOffsetX","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"shadowOffsetX\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.shadowOffsetY","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"shadowOffsetY\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.stroke","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"stroke\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.strokeRect","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"strokeRect\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.strokeStyle","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"strokeStyle\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.strokeText","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"strokeText\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.textAlign","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"textAlign\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.textBaseline","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"textBaseline\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.textRendering","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"textRendering\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.transform","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"transform\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.translate","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"translate\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OffscreenCanvasRenderingContext2D.wordSpacing","info":{"code":"\"OffscreenCanvasRenderingContext2D\" in self && \"wordSpacing\" in OffscreenCanvasRenderingContext2D.prototype","exposure":"Window"},"result":false},{"name":"api.OrientationSensor","info":{"code":"\"OrientationSensor\" in self","exposure":"Window"},"result":false},{"name":"api.OrientationSensor.populateMatrix","info":{"code":"\"OrientationSensor\" in self && \"populateMatrix\" in OrientationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.OrientationSensor.quaternion","info":{"code":"\"OrientationSensor\" in self && \"quaternion\" in OrientationSensor.prototype","exposure":"Window"},"result":false},{"name":"api.OscillatorNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createOscillator\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createOscillator is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createOscillator();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OscillatorNode.OscillatorNode","info":{"code":"bcd.testConstructor('OscillatorNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: OscillatorNode is not defined"},{"name":"api.OscillatorNode.detune","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createOscillator\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createOscillator is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createOscillator();\n  return !!instance && \"detune\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OscillatorNode.frequency","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createOscillator\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createOscillator is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createOscillator();\n  return !!instance && \"frequency\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OscillatorNode.setPeriodicWave","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createOscillator\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createOscillator is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createOscillator();\n  return !!instance && \"setPeriodicWave\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OscillatorNode.type","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createOscillator\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createOscillator is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createOscillator();\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.OverconstrainedError","info":{"code":"\"OverconstrainedError\" in self","exposure":"Window"},"result":false},{"name":"api.OverconstrainedError.OverconstrainedError","info":{"code":"bcd.testConstructor('OverconstrainedError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: OverconstrainedError is not defined"},{"name":"api.OverconstrainedError.constraint","info":{"code":"\"OverconstrainedError\" in self && \"constraint\" in OverconstrainedError.prototype","exposure":"Window"},"result":false},{"name":"api.PageRevealEvent","info":{"code":"\"PageRevealEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PageRevealEvent.PageRevealEvent","info":{"code":"bcd.testConstructor('PageRevealEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PageRevealEvent is not defined"},{"name":"api.PageRevealEvent.viewTransition","info":{"code":"\"PageRevealEvent\" in self && \"viewTransition\" in PageRevealEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PageSwapEvent","info":{"code":"\"PageSwapEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PageSwapEvent.PageSwapEvent","info":{"code":"bcd.testConstructor('PageSwapEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PageSwapEvent is not defined"},{"name":"api.PageSwapEvent.activation","info":{"code":"\"PageSwapEvent\" in self && \"activation\" in PageSwapEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PageSwapEvent.viewTransition","info":{"code":"\"PageSwapEvent\" in self && \"viewTransition\" in PageSwapEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PageTransitionEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new PageTransitionEvent(\"pageshow\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"PageTransitionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.PageTransitionEvent.PageTransitionEvent","info":{"code":"bcd.testConstructor('PageTransitionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PageTransitionEvent is not defined"},{"name":"api.PageTransitionEvent.persisted","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new PageTransitionEvent(\"pageshow\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"PageTransitionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"persisted\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.PannerNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.PannerNode","info":{"code":"bcd.testConstructor('PannerNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PannerNode is not defined"},{"name":"api.PannerNode.coneInnerAngle","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"coneInnerAngle\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.coneOuterAngle","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"coneOuterAngle\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.coneOuterGain","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"coneOuterGain\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.distanceModel","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"distanceModel\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.maxDistance","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"maxDistance\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.orientationX","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"orientationX\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.orientationY","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"orientationY\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.orientationZ","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"orientationZ\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.panningModel","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"panningModel\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.positionX","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"positionX\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.positionY","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"positionY\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.positionZ","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"positionZ\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.refDistance","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"refDistance\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.rolloffFactor","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"rolloffFactor\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.setOrientation","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"setOrientation\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.setPosition","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"setPosition\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PannerNode.setVelocity","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createPanner();\n  return !!instance && \"setVelocity\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PasswordCredential","info":{"code":"\"PasswordCredential\" in self","exposure":"Window"},"result":false},{"name":"api.PasswordCredential.PasswordCredential","info":{"code":"bcd.testConstructor('PasswordCredential')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PasswordCredential is not defined"},{"name":"api.PasswordCredential.iconURL","info":{"code":"\"PasswordCredential\" in self && \"iconURL\" in PasswordCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PasswordCredential.name","info":{"code":"\"PasswordCredential\" in self && \"name\" in PasswordCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PasswordCredential.password","info":{"code":"\"PasswordCredential\" in self && \"password\" in PasswordCredential.prototype","exposure":"Window"},"result":false},{"name":"api.Path2D","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.Path2D","info":{"code":"bcd.testConstructor('Path2D')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Path2D is not defined"},{"name":"api.Path2D.addPath","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"addPath\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.arc","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"arc\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.arcTo","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"arcTo\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.bezierCurveTo","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"bezierCurveTo\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.closePath","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"closePath\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.ellipse","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"ellipse\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.lineTo","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"lineTo\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.moveTo","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"moveTo\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.quadraticCurveTo","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"quadraticCurveTo\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.rect","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"rect\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.Path2D.roundRect","info":{"code":"(function () {\n  if (!(\"Path2D\" in self)) {\n    return { result: false, message: \"Path2D is not defined\" };\n  }\n  var instance = new Path2D();\n  return !!instance && \"roundRect\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Path2D is not defined"},{"name":"api.PaymentAddress","info":{"code":"\"PaymentAddress\" in self","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.addressLine","info":{"code":"\"PaymentAddress\" in self && \"addressLine\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.city","info":{"code":"\"PaymentAddress\" in self && \"city\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.country","info":{"code":"\"PaymentAddress\" in self && \"country\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.dependentLocality","info":{"code":"\"PaymentAddress\" in self && \"dependentLocality\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.organization","info":{"code":"\"PaymentAddress\" in self && \"organization\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.phone","info":{"code":"\"PaymentAddress\" in self && \"phone\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.postalCode","info":{"code":"\"PaymentAddress\" in self && \"postalCode\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.recipient","info":{"code":"\"PaymentAddress\" in self && \"recipient\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.region","info":{"code":"\"PaymentAddress\" in self && \"region\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.sortingCode","info":{"code":"\"PaymentAddress\" in self && \"sortingCode\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentAddress.toJSON","info":{"code":"\"PaymentAddress\" in self && \"toJSON\" in PaymentAddress.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentManager","info":{"code":"\"PaymentManager\" in self","exposure":"Window"},"result":false},{"name":"api.PaymentManager.enableDelegations","info":{"code":"\"PaymentManager\" in self && \"enableDelegations\" in PaymentManager.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentManager.userHint","info":{"code":"\"PaymentManager\" in self && \"userHint\" in PaymentManager.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentMethodChangeEvent","info":{"code":"\"PaymentMethodChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PaymentMethodChangeEvent.PaymentMethodChangeEvent","info":{"code":"bcd.testConstructor('PaymentMethodChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PaymentMethodChangeEvent is not defined"},{"name":"api.PaymentMethodChangeEvent.methodDetails","info":{"code":"\"PaymentMethodChangeEvent\" in self && \"methodDetails\" in PaymentMethodChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentMethodChangeEvent.methodName","info":{"code":"\"PaymentMethodChangeEvent\" in self && \"methodName\" in PaymentMethodChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest","info":{"code":"\"PaymentRequest\" in self","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.PaymentRequest","info":{"code":"bcd.testConstructor('PaymentRequest')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PaymentRequest is not defined"},{"name":"api.PaymentRequest.abort","info":{"code":"\"PaymentRequest\" in self && \"abort\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.canMakePayment","info":{"code":"\"PaymentRequest\" in self && \"canMakePayment\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.id","info":{"code":"\"PaymentRequest\" in self && \"id\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.securePaymentConfirmationAvailability_static","info":{"code":"\"PaymentRequest\" in self && \"securePaymentConfirmationAvailability\" in PaymentRequest","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.shippingAddress","info":{"code":"\"PaymentRequest\" in self && \"shippingAddress\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.shippingOption","info":{"code":"\"PaymentRequest\" in self && \"shippingOption\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.shippingType","info":{"code":"\"PaymentRequest\" in self && \"shippingType\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequest.show","info":{"code":"\"PaymentRequest\" in self && \"show\" in PaymentRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentRequestUpdateEvent","info":{"code":"\"PaymentRequestUpdateEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PaymentRequestUpdateEvent.PaymentRequestUpdateEvent","info":{"code":"bcd.testConstructor('PaymentRequestUpdateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PaymentRequestUpdateEvent is not defined"},{"name":"api.PaymentRequestUpdateEvent.updateWith","info":{"code":"\"PaymentRequestUpdateEvent\" in self && \"updateWith\" in PaymentRequestUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse","info":{"code":"\"PaymentResponse\" in self","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.complete","info":{"code":"\"PaymentResponse\" in self && \"complete\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.details","info":{"code":"\"PaymentResponse\" in self && \"details\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.methodName","info":{"code":"\"PaymentResponse\" in self && \"methodName\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.payerEmail","info":{"code":"\"PaymentResponse\" in self && \"payerEmail\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.payerName","info":{"code":"\"PaymentResponse\" in self && \"payerName\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.payerPhone","info":{"code":"\"PaymentResponse\" in self && \"payerPhone\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.requestId","info":{"code":"\"PaymentResponse\" in self && \"requestId\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.retry","info":{"code":"\"PaymentResponse\" in self && \"retry\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.shippingAddress","info":{"code":"\"PaymentResponse\" in self && \"shippingAddress\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.shippingOption","info":{"code":"\"PaymentResponse\" in self && \"shippingOption\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.PaymentResponse.toJSON","info":{"code":"\"PaymentResponse\" in self && \"toJSON\" in PaymentResponse.prototype","exposure":"Window"},"result":false},{"name":"api.Performance","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.clearMarks","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"clearMarks\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.clearMeasures","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"clearMeasures\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.clearResourceTimings","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"clearResourceTimings\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.eventCounts","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"eventCounts\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.getEntries","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"getEntries\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.getEntriesByName","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"getEntriesByName\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.getEntriesByType","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"getEntriesByType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.interactionCount","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"interactionCount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.mark","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"mark\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.mark.markOptions_parameter","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  if (!(instance && instance.mark)) {\n    return { result: false, message: \"instance.mark is not defined\" };\n  }\n  function mark(options) {\n    instance.mark(\"foo\", options);\n  }\n  return bcd.testOptionParam(mark, null, \"detail\", \"bar\");\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.mark.returns_performancemark","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance.mark(\"foo\");\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.measure","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"measure\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.measure.measureOptions_parameter","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  if (!(instance && instance.measure)) {\n    return { result: false, message: \"instance.measure is not defined\" };\n  }\n  function measure(options) {\n    instance.measure(\"foo\", options);\n  }\n  try {\n    return bcd.testOptionParam(measure, null, \"detail\", \"bar\", { start: 0 });\n  } catch (e) {\n    if (e instanceof SyntaxError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.measure.returns_performancemeasure","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance.measure(\"foo\");\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.measureUserAgentSpecificMemory","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"measureUserAgentSpecificMemory\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.memory","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"memory\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.navigation","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"navigation\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.now","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"now\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.setResourceTimingBufferSize","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"setResourceTimingBufferSize\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.timeOrigin","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"timeOrigin\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.timing","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var instance = performance;\n  return !!instance && \"timing\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.Performance.toJSON","info":{"code":"\"Performance\" in self && \"toJSON\" in Performance.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming","info":{"code":"\"PerformanceElementTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.element","info":{"code":"\"PerformanceElementTiming\" in self && \"element\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.id","info":{"code":"\"PerformanceElementTiming\" in self && \"id\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.identifier","info":{"code":"\"PerformanceElementTiming\" in self && \"identifier\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.intersectionRect","info":{"code":"\"PerformanceElementTiming\" in self && \"intersectionRect\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.loadTime","info":{"code":"\"PerformanceElementTiming\" in self && \"loadTime\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.naturalHeight","info":{"code":"\"PerformanceElementTiming\" in self && \"naturalHeight\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.naturalWidth","info":{"code":"\"PerformanceElementTiming\" in self && \"naturalWidth\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.paintTime","info":{"code":"\"PerformanceElementTiming\" in self && \"paintTime\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.presentationTime","info":{"code":"\"PerformanceElementTiming\" in self && \"presentationTime\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.renderTime","info":{"code":"\"PerformanceElementTiming\" in self && \"renderTime\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.toJSON","info":{"code":"\"PerformanceElementTiming\" in self && \"toJSON\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceElementTiming.url","info":{"code":"\"PerformanceElementTiming\" in self && \"url\" in PerformanceElementTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEntry","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.duration","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"duration\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.entryType","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"entryType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.id","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.name","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.navigationId","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"navigationId\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.startTime","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"startTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEntry.toJSON","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"getEntries\" in prf)) {\n    return { result: false, message: \"performance.getEntries is not defined\" };\n  }\n  var instance = prf.getEntries()[0];\n  return !!instance && \"toJSON\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceEventTiming","info":{"code":"\"PerformanceEventTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.cancelable","info":{"code":"\"PerformanceEventTiming\" in self && \"cancelable\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.interactionId","info":{"code":"\"PerformanceEventTiming\" in self && \"interactionId\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.processingEnd","info":{"code":"\"PerformanceEventTiming\" in self && \"processingEnd\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.processingStart","info":{"code":"\"PerformanceEventTiming\" in self && \"processingStart\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.target","info":{"code":"\"PerformanceEventTiming\" in self && \"target\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.targetSelector","info":{"code":"\"PerformanceEventTiming\" in self && \"targetSelector\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceEventTiming.toJSON","info":{"code":"\"PerformanceEventTiming\" in self && \"toJSON\" in PerformanceEventTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.blockingDuration","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"blockingDuration\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.firstUIEventTimestamp","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"firstUIEventTimestamp\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.paintTime","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"paintTime\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.presentationTime","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"presentationTime\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.renderStart","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"renderStart\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.scripts","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"scripts\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.styleAndLayoutStart","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"styleAndLayoutStart\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongAnimationFrameTiming.toJSON","info":{"code":"\"PerformanceLongAnimationFrameTiming\" in self && \"toJSON\" in PerformanceLongAnimationFrameTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongTaskTiming","info":{"code":"\"PerformanceLongTaskTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceLongTaskTiming.attribution","info":{"code":"\"PerformanceLongTaskTiming\" in self && \"attribution\" in PerformanceLongTaskTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceLongTaskTiming.toJSON","info":{"code":"\"PerformanceLongTaskTiming\" in self && \"toJSON\" in PerformanceLongTaskTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceMark","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"mark\" in prf)) {\n    return { result: false, message: \"performance.mark is not defined\" };\n  }\n  performance.mark(\"mark\");\n  var instance = performance.getEntriesByName(\"mark\")[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceMark.PerformanceMark","info":{"code":"bcd.testConstructor('PerformanceMark')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PerformanceMark is not defined"},{"name":"api.PerformanceMark.detail","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  if (!(\"mark\" in prf)) {\n    return { result: false, message: \"performance.mark is not defined\" };\n  }\n  performance.mark(\"mark\");\n  var instance = performance.getEntriesByName(\"mark\")[0];\n  return !!instance && \"detail\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceMeasure","info":{"code":"\"PerformanceMeasure\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceMeasure.detail","info":{"code":"\"PerformanceMeasure\" in self && \"detail\" in PerformanceMeasure.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigation","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.navigation;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceNavigation.redirectCount","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.navigation;\n  return !!instance && \"redirectCount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceNavigation.toJSON","info":{"code":"\"PerformanceNavigation\" in self && \"toJSON\" in PerformanceNavigation.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigation.type","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.navigation;\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceNavigationTiming","info":{"code":"\"PerformanceNavigationTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.activationStart","info":{"code":"\"PerformanceNavigationTiming\" in self && \"activationStart\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.criticalCHRestart","info":{"code":"\"PerformanceNavigationTiming\" in self && \"criticalCHRestart\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.domComplete","info":{"code":"\"PerformanceNavigationTiming\" in self && \"domComplete\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.domContentLoadedEventEnd","info":{"code":"\"PerformanceNavigationTiming\" in self && \"domContentLoadedEventEnd\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.domContentLoadedEventStart","info":{"code":"\"PerformanceNavigationTiming\" in self && \"domContentLoadedEventStart\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.domInteractive","info":{"code":"\"PerformanceNavigationTiming\" in self && \"domInteractive\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.loadEventEnd","info":{"code":"\"PerformanceNavigationTiming\" in self && \"loadEventEnd\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.loadEventStart","info":{"code":"\"PerformanceNavigationTiming\" in self && \"loadEventStart\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.notRestoredReasons","info":{"code":"\"PerformanceNavigationTiming\" in self && \"notRestoredReasons\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.redirectCount","info":{"code":"\"PerformanceNavigationTiming\" in self && \"redirectCount\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.toJSON","info":{"code":"\"PerformanceNavigationTiming\" in self && \"toJSON\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.type","info":{"code":"\"PerformanceNavigationTiming\" in self && \"type\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.unloadEventEnd","info":{"code":"\"PerformanceNavigationTiming\" in self && \"unloadEventEnd\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceNavigationTiming.unloadEventStart","info":{"code":"\"PerformanceNavigationTiming\" in self && \"unloadEventStart\" in PerformanceNavigationTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceObserver","info":{"code":"\"PerformanceObserver\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceObserver.PerformanceObserver","info":{"code":"bcd.testConstructor('PerformanceObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PerformanceObserver is not defined"},{"name":"api.PerformanceObserver.PerformanceObserver.droppedEntriesCount","info":{"code":"(function () {\n  // Using the \"completed\" variable ensures the callback isn't run multiple times\n  var completed = false;\n\n  function perfObserver(entries, observer, droppedEntriesCount) {\n    if (!completed) {\n      success(typeof droppedEntriesCount != \"undefined\");\n      completed = true;\n    }\n  }\n\n  var observer = new PerformanceObserver(perfObserver);\n  observer.observe({ type: \"resource\", buffered: true });\n\n  bcd.addCleanup(function () {\n    observer.disconnect();\n  });\n\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: PerformanceObserver is not defined"},{"name":"api.PerformanceObserver.disconnect","info":{"code":"\"PerformanceObserver\" in self && \"disconnect\" in PerformanceObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceObserver.observe","info":{"code":"\"PerformanceObserver\" in self && \"observe\" in PerformanceObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceObserver.supportedEntryTypes_static","info":{"code":"\"PerformanceObserver\" in self && \"supportedEntryTypes\" in PerformanceObserver","exposure":"Window"},"result":false},{"name":"api.PerformanceObserver.takeRecords","info":{"code":"\"PerformanceObserver\" in self && \"takeRecords\" in PerformanceObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceObserverEntryList","info":{"code":"\"PerformanceObserverEntryList\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceObserverEntryList.getEntries","info":{"code":"\"PerformanceObserverEntryList\" in self && \"getEntries\" in PerformanceObserverEntryList.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceObserverEntryList.getEntriesByName","info":{"code":"\"PerformanceObserverEntryList\" in self && \"getEntriesByName\" in PerformanceObserverEntryList.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceObserverEntryList.getEntriesByType","info":{"code":"\"PerformanceObserverEntryList\" in self && \"getEntriesByType\" in PerformanceObserverEntryList.prototype","exposure":"Window"},"result":false},{"name":"api.PerformancePaintTiming","info":{"code":"\"PerformancePaintTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformancePaintTiming.paintTime","info":{"code":"\"PerformancePaintTiming\" in self && \"paintTime\" in PerformancePaintTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformancePaintTiming.presentationTime","info":{"code":"\"PerformancePaintTiming\" in self && \"presentationTime\" in PerformancePaintTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformancePaintTiming.toJSON","info":{"code":"\"PerformancePaintTiming\" in self && \"toJSON\" in PerformancePaintTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceResourceTiming","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.connectEnd","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"connectEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.connectStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"connectStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.contentEncoding","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"contentEncoding\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.contentType","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"contentType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.decodedBodySize","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"decodedBodySize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.deliveryType","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"deliveryType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.domainLookupEnd","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"domainLookupEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.domainLookupStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"domainLookupStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.encodedBodySize","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"encodedBodySize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.fetchStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"fetchStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.finalResponseHeadersStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"finalResponseHeadersStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.firstInterimResponseStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"firstInterimResponseStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.initiatorType","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"initiatorType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.nextHopProtocol","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"nextHopProtocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.redirectEnd","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"redirectEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.redirectStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"redirectStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.renderBlockingStatus","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"renderBlockingStatus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.requestStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"requestStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.responseEnd","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"responseEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.responseStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"responseStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.responseStatus","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"responseStatus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.secureConnectionStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"secureConnectionStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.serverTiming","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"serverTiming\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.toJSON","info":{"code":"\"PerformanceResourceTiming\" in self && \"toJSON\" in PerformanceResourceTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceResourceTiming.transferSize","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"transferSize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceResourceTiming.workerStart","info":{"code":"(function () {\n  var instance = performance.getEntriesByType(\"resource\")[0];\n  return !!instance && \"workerStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: performance is not defined"},{"name":"api.PerformanceScriptTiming","info":{"code":"\"PerformanceScriptTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.executionStart","info":{"code":"\"PerformanceScriptTiming\" in self && \"executionStart\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.forcedStyleAndLayoutDuration","info":{"code":"\"PerformanceScriptTiming\" in self && \"forcedStyleAndLayoutDuration\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.invoker","info":{"code":"\"PerformanceScriptTiming\" in self && \"invoker\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.invokerType","info":{"code":"\"PerformanceScriptTiming\" in self && \"invokerType\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.pauseDuration","info":{"code":"\"PerformanceScriptTiming\" in self && \"pauseDuration\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.sourceCharPosition","info":{"code":"\"PerformanceScriptTiming\" in self && \"sourceCharPosition\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.sourceFunctionName","info":{"code":"\"PerformanceScriptTiming\" in self && \"sourceFunctionName\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.sourceURL","info":{"code":"\"PerformanceScriptTiming\" in self && \"sourceURL\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.toJSON","info":{"code":"\"PerformanceScriptTiming\" in self && \"toJSON\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.window","info":{"code":"\"PerformanceScriptTiming\" in self && \"window\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceScriptTiming.windowAttribution","info":{"code":"\"PerformanceScriptTiming\" in self && \"windowAttribution\" in PerformanceScriptTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceServerTiming","info":{"code":"\"PerformanceServerTiming\" in self","exposure":"Window"},"result":false},{"name":"api.PerformanceServerTiming.description","info":{"code":"\"PerformanceServerTiming\" in self && \"description\" in PerformanceServerTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceServerTiming.duration","info":{"code":"\"PerformanceServerTiming\" in self && \"duration\" in PerformanceServerTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceServerTiming.name","info":{"code":"\"PerformanceServerTiming\" in self && \"name\" in PerformanceServerTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceServerTiming.toJSON","info":{"code":"\"PerformanceServerTiming\" in self && \"toJSON\" in PerformanceServerTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceTiming","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.connectEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"connectEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.connectStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"connectStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domComplete","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domComplete\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domContentLoadedEventEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domContentLoadedEventEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domContentLoadedEventStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domContentLoadedEventStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domInteractive","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domInteractive\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domLoading","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domLoading\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domainLookupEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domainLookupEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.domainLookupStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"domainLookupStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.fetchStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"fetchStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.loadEventEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"loadEventEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.loadEventStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"loadEventStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.navigationStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"navigationStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.redirectEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"redirectEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.redirectStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"redirectStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.requestStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"requestStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.responseEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"responseEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.responseStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"responseStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.secureConnectionStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"secureConnectionStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.toJSON","info":{"code":"\"PerformanceTiming\" in self && \"toJSON\" in PerformanceTiming.prototype","exposure":"Window"},"result":false},{"name":"api.PerformanceTiming.unloadEventEnd","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"unloadEventEnd\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PerformanceTiming.unloadEventStart","info":{"code":"(function () {\n  if (!(\"performance\" in self)) {\n    return { result: false, message: \"performance is not defined\" };\n  }\n  var prf = performance;\n  if (!prf) {\n    return { result: false, message: \"prf is falsy\" };\n  }\n  var instance = performance.timing;\n  return !!instance && \"unloadEventStart\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"performance is not defined"},{"name":"api.PeriodicSyncManager","info":{"code":"\"PeriodicSyncManager\" in self","exposure":"Window"},"result":false},{"name":"api.PeriodicSyncManager.getTags","info":{"code":"\"PeriodicSyncManager\" in self && \"getTags\" in PeriodicSyncManager.prototype","exposure":"Window"},"result":false},{"name":"api.PeriodicSyncManager.register","info":{"code":"\"PeriodicSyncManager\" in self && \"register\" in PeriodicSyncManager.prototype","exposure":"Window"},"result":false},{"name":"api.PeriodicSyncManager.unregister","info":{"code":"\"PeriodicSyncManager\" in self && \"unregister\" in PeriodicSyncManager.prototype","exposure":"Window"},"result":false},{"name":"api.PeriodicWave","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  var real = new Float32Array(2);\n  var imag = new Float32Array(2);\n  var instance = reusableInstances.audioContext.createPeriodicWave(real, imag);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.PeriodicWave.PeriodicWave","info":{"code":"bcd.testConstructor('PeriodicWave')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PeriodicWave is not defined"},{"name":"api.PermissionStatus","info":{"code":"\"PermissionStatus\" in self","exposure":"Window"},"result":false},{"name":"api.PermissionStatus.name","info":{"code":"\"PermissionStatus\" in self && \"name\" in PermissionStatus.prototype","exposure":"Window"},"result":false},{"name":"api.PermissionStatus.state","info":{"code":"\"PermissionStatus\" in self && \"state\" in PermissionStatus.prototype","exposure":"Window"},"result":false},{"name":"api.Permissions","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_accelerometer","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"accelerometer\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_accessibility-events","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"accessibility-events\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_ambient-light-sensor","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"ambient-light-sensor\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_background-sync","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"background-sync\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_camera","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"camera\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_clipboard-read","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"clipboard-read\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_clipboard-write","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"clipboard-write\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_compute-pressure","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"compute-pressure\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_geolocation","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"geolocation\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_gyroscope","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"gyroscope\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_local-fonts","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"local-fonts\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_magnetometer","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"magnetometer\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_microphone","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"microphone\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_midi","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"midi\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_notifications","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"notifications\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_payment-handler","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"payment-handler\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_persistent-storage","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"persistent-storage\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_push","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"push\", userVisibleOnly: true })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_screen-wake-lock","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"screen-wake-lock\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_storage-access","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"storage-access\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_top-level-storage-access","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"top-level-storage-access\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.permission_window-management","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  if (!(instance && \"query\" in instance)) {\n    return { result: false, message: \"Permissions.query is not defined\" };\n  }\n  return instance\n    .query({ name: \"window-management\" })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.query","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  return !!instance && \"query\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.request","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  return !!instance && \"request\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.requestAll","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  return !!instance && \"requestAll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Permissions.revoke","info":{"code":"(function () {\n  var instance = navigator.permissions;\n  return !!instance && \"revoke\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PermissionsPolicy","info":{"code":"\"PermissionsPolicy\" in self","exposure":"Window"},"result":false},{"name":"api.PermissionsPolicy.allowedFeatures","info":{"code":"\"PermissionsPolicy\" in self && \"allowedFeatures\" in PermissionsPolicy.prototype","exposure":"Window"},"result":false},{"name":"api.PermissionsPolicy.allowsFeature","info":{"code":"\"PermissionsPolicy\" in self && \"allowsFeature\" in PermissionsPolicy.prototype","exposure":"Window"},"result":false},{"name":"api.PermissionsPolicy.features","info":{"code":"\"PermissionsPolicy\" in self && \"features\" in PermissionsPolicy.prototype","exposure":"Window"},"result":false},{"name":"api.PermissionsPolicy.getAllowlistForFeature","info":{"code":"\"PermissionsPolicy\" in self && \"getAllowlistForFeature\" in PermissionsPolicy.prototype","exposure":"Window"},"result":false},{"name":"api.PictureInPictureEvent","info":{"code":"\"PictureInPictureEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PictureInPictureEvent.PictureInPictureEvent","info":{"code":"bcd.testConstructor('PictureInPictureEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PictureInPictureEvent is not defined"},{"name":"api.PictureInPictureEvent.pictureInPictureWindow","info":{"code":"\"PictureInPictureEvent\" in self && \"pictureInPictureWindow\" in PictureInPictureEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PictureInPictureWindow","info":{"code":"\"PictureInPictureWindow\" in self","exposure":"Window"},"result":false},{"name":"api.PictureInPictureWindow.height","info":{"code":"\"PictureInPictureWindow\" in self && \"height\" in PictureInPictureWindow.prototype","exposure":"Window"},"result":false},{"name":"api.PictureInPictureWindow.width","info":{"code":"\"PictureInPictureWindow\" in self && \"width\" in PictureInPictureWindow.prototype","exposure":"Window"},"result":false},{"name":"api.Plugin","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.description","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"description\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.filename","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"filename\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.item","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.length","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.name","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.namedItem","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.Plugin.version","info":{"code":"(function () {\n  if (!navigator.plugins.length) {\n    throw new Error(\"navigator.plugins is empty\");\n  }\n  var instance = navigator.plugins[0];\n  return !!instance && \"version\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PluginArray","info":{"code":"(function () {\n  var instance = navigator.plugins;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PluginArray.item","info":{"code":"(function () {\n  var instance = navigator.plugins;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PluginArray.length","info":{"code":"(function () {\n  var instance = navigator.plugins;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PluginArray.namedItem","info":{"code":"(function () {\n  var instance = navigator.plugins;\n  return !!instance && \"namedItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PluginArray.refresh","info":{"code":"(function () {\n  var instance = navigator.plugins;\n  return !!instance && \"refresh\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.PointerEvent","info":{"code":"\"PointerEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PointerEvent.PointerEvent","info":{"code":"bcd.testConstructor('PointerEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PointerEvent is not defined"},{"name":"api.PointerEvent.altitudeAngle","info":{"code":"\"PointerEvent\" in self && \"altitudeAngle\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.azimuthAngle","info":{"code":"\"PointerEvent\" in self && \"azimuthAngle\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.getCoalescedEvents","info":{"code":"\"PointerEvent\" in self && \"getCoalescedEvents\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.getPredictedEvents","info":{"code":"\"PointerEvent\" in self && \"getPredictedEvents\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.height","info":{"code":"\"PointerEvent\" in self && \"height\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.isPrimary","info":{"code":"\"PointerEvent\" in self && \"isPrimary\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.persistentDeviceId","info":{"code":"\"PointerEvent\" in self && \"persistentDeviceId\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.pointerId","info":{"code":"\"PointerEvent\" in self && \"pointerId\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.pointerType","info":{"code":"\"PointerEvent\" in self && \"pointerType\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.pressure","info":{"code":"\"PointerEvent\" in self && \"pressure\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.tangentialPressure","info":{"code":"\"PointerEvent\" in self && \"tangentialPressure\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.tiltX","info":{"code":"\"PointerEvent\" in self && \"tiltX\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.tiltY","info":{"code":"\"PointerEvent\" in self && \"tiltY\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.twist","info":{"code":"\"PointerEvent\" in self && \"twist\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerEvent.width","info":{"code":"\"PointerEvent\" in self && \"width\" in PointerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PointerTimeline","info":{"code":"\"PointerTimeline\" in self","exposure":"Window"},"result":false},{"name":"api.PointerTimeline.PointerTimeline","info":{"code":"bcd.testConstructor('PointerTimeline')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PointerTimeline is not defined"},{"name":"api.PointerTimeline.axis","info":{"code":"\"PointerTimeline\" in self && \"axis\" in PointerTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.PointerTimeline.source","info":{"code":"\"PointerTimeline\" in self && \"source\" in PointerTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.PopStateEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new PopStateEvent(\"popstate\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"PopStateEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.PopStateEvent.PopStateEvent","info":{"code":"bcd.testConstructor('PopStateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PopStateEvent is not defined"},{"name":"api.PopStateEvent.hasUAVisualTransition","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new PopStateEvent(\"popstate\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"PopStateEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"hasUAVisualTransition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.PopStateEvent.state","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new PopStateEvent(\"popstate\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"PopStateEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"state\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.PortalActivateEvent","info":{"code":"\"PortalActivateEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PortalActivateEvent.PortalActivateEvent","info":{"code":"bcd.testConstructor('PortalActivateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PortalActivateEvent is not defined"},{"name":"api.PortalActivateEvent.adoptPredecessor","info":{"code":"\"PortalActivateEvent\" in self && \"adoptPredecessor\" in PortalActivateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PortalActivateEvent.data","info":{"code":"\"PortalActivateEvent\" in self && \"data\" in PortalActivateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PortalHost","info":{"code":"\"PortalHost\" in self","exposure":"Window"},"result":false},{"name":"api.PortalHost.postMessage","info":{"code":"\"PortalHost\" in self && \"postMessage\" in PortalHost.prototype","exposure":"Window"},"result":false},{"name":"api.PositionSensorVRDevice","info":{"code":"\"PositionSensorVRDevice\" in self","exposure":"Window"},"result":false},{"name":"api.PositionSensorVRDevice.getImmediateState","info":{"code":"\"PositionSensorVRDevice\" in self && \"getImmediateState\" in PositionSensorVRDevice.prototype","exposure":"Window"},"result":false},{"name":"api.PositionSensorVRDevice.getState","info":{"code":"\"PositionSensorVRDevice\" in self && \"getState\" in PositionSensorVRDevice.prototype","exposure":"Window"},"result":false},{"name":"api.PositionSensorVRDevice.resetSensor","info":{"code":"\"PositionSensorVRDevice\" in self && \"resetSensor\" in PositionSensorVRDevice.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceManager","info":{"code":"\"PreferenceManager\" in self","exposure":"Window"},"result":false},{"name":"api.PreferenceManager.colorScheme","info":{"code":"\"PreferenceManager\" in self && \"colorScheme\" in PreferenceManager.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceManager.contrast","info":{"code":"\"PreferenceManager\" in self && \"contrast\" in PreferenceManager.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceManager.reducedData","info":{"code":"\"PreferenceManager\" in self && \"reducedData\" in PreferenceManager.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceManager.reducedMotion","info":{"code":"\"PreferenceManager\" in self && \"reducedMotion\" in PreferenceManager.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceManager.reducedTransparency","info":{"code":"\"PreferenceManager\" in self && \"reducedTransparency\" in PreferenceManager.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceObject","info":{"code":"\"PreferenceObject\" in self","exposure":"Window"},"result":false},{"name":"api.PreferenceObject.clearOverride","info":{"code":"\"PreferenceObject\" in self && \"clearOverride\" in PreferenceObject.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceObject.override","info":{"code":"\"PreferenceObject\" in self && \"override\" in PreferenceObject.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceObject.requestOverride","info":{"code":"\"PreferenceObject\" in self && \"requestOverride\" in PreferenceObject.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceObject.validValues","info":{"code":"\"PreferenceObject\" in self && \"validValues\" in PreferenceObject.prototype","exposure":"Window"},"result":false},{"name":"api.PreferenceObject.value","info":{"code":"\"PreferenceObject\" in self && \"value\" in PreferenceObject.prototype","exposure":"Window"},"result":false},{"name":"api.Presentation","info":{"code":"\"Presentation\" in self","exposure":"Window"},"result":false},{"name":"api.Presentation.defaultRequest","info":{"code":"\"Presentation\" in self && \"defaultRequest\" in Presentation.prototype","exposure":"Window"},"result":false},{"name":"api.Presentation.receiver","info":{"code":"\"Presentation\" in self && \"receiver\" in Presentation.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationAvailability","info":{"code":"\"PresentationAvailability\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationAvailability.value","info":{"code":"\"PresentationAvailability\" in self && \"value\" in PresentationAvailability.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection","info":{"code":"\"PresentationConnection\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.binaryType","info":{"code":"\"PresentationConnection\" in self && \"binaryType\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.close","info":{"code":"\"PresentationConnection\" in self && \"close\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.id","info":{"code":"\"PresentationConnection\" in self && \"id\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.send","info":{"code":"\"PresentationConnection\" in self && \"send\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.state","info":{"code":"\"PresentationConnection\" in self && \"state\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.terminate","info":{"code":"\"PresentationConnection\" in self && \"terminate\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnection.url","info":{"code":"\"PresentationConnection\" in self && \"url\" in PresentationConnection.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionAvailableEvent","info":{"code":"\"PresentationConnectionAvailableEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionAvailableEvent.PresentationConnectionAvailableEvent","info":{"code":"bcd.testConstructor('PresentationConnectionAvailableEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PresentationConnectionAvailableEvent is not defined"},{"name":"api.PresentationConnectionAvailableEvent.connection","info":{"code":"\"PresentationConnectionAvailableEvent\" in self && \"connection\" in PresentationConnectionAvailableEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionCloseEvent","info":{"code":"\"PresentationConnectionCloseEvent\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionCloseEvent.PresentationConnectionCloseEvent","info":{"code":"bcd.testConstructor('PresentationConnectionCloseEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PresentationConnectionCloseEvent is not defined"},{"name":"api.PresentationConnectionCloseEvent.message","info":{"code":"\"PresentationConnectionCloseEvent\" in self && \"message\" in PresentationConnectionCloseEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionCloseEvent.reason","info":{"code":"\"PresentationConnectionCloseEvent\" in self && \"reason\" in PresentationConnectionCloseEvent.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionList","info":{"code":"\"PresentationConnectionList\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationConnectionList.connections","info":{"code":"\"PresentationConnectionList\" in self && \"connections\" in PresentationConnectionList.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationReceiver","info":{"code":"\"PresentationReceiver\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationReceiver.connectionList","info":{"code":"\"PresentationReceiver\" in self && \"connectionList\" in PresentationReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationRequest","info":{"code":"\"PresentationRequest\" in self","exposure":"Window"},"result":false},{"name":"api.PresentationRequest.PresentationRequest","info":{"code":"bcd.testConstructor('PresentationRequest')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PresentationRequest is not defined"},{"name":"api.PresentationRequest.getAvailability","info":{"code":"\"PresentationRequest\" in self && \"getAvailability\" in PresentationRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationRequest.reconnect","info":{"code":"\"PresentationRequest\" in self && \"reconnect\" in PresentationRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PresentationRequest.start","info":{"code":"\"PresentationRequest\" in self && \"start\" in PresentationRequest.prototype","exposure":"Window"},"result":false},{"name":"api.PressureObserver","info":{"code":"\"PressureObserver\" in self","exposure":"Window"},"result":false},{"name":"api.PressureObserver.PressureObserver","info":{"code":"bcd.testConstructor('PressureObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: PressureObserver is not defined"},{"name":"api.PressureObserver.disconnect","info":{"code":"\"PressureObserver\" in self && \"disconnect\" in PressureObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PressureObserver.knownSources_static","info":{"code":"\"PressureObserver\" in self && \"knownSources\" in PressureObserver","exposure":"Window"},"result":false},{"name":"api.PressureObserver.observe","info":{"code":"\"PressureObserver\" in self && \"observe\" in PressureObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PressureObserver.takeRecords","info":{"code":"\"PressureObserver\" in self && \"takeRecords\" in PressureObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PressureObserver.unobserve","info":{"code":"\"PressureObserver\" in self && \"unobserve\" in PressureObserver.prototype","exposure":"Window"},"result":false},{"name":"api.PressureRecord","info":{"code":"\"PressureRecord\" in self","exposure":"Window"},"result":false},{"name":"api.PressureRecord.source","info":{"code":"\"PressureRecord\" in self && \"source\" in PressureRecord.prototype","exposure":"Window"},"result":false},{"name":"api.PressureRecord.state","info":{"code":"\"PressureRecord\" in self && \"state\" in PressureRecord.prototype","exposure":"Window"},"result":false},{"name":"api.PressureRecord.time","info":{"code":"\"PressureRecord\" in self && \"time\" in PressureRecord.prototype","exposure":"Window"},"result":false},{"name":"api.PressureRecord.toJSON","info":{"code":"\"PressureRecord\" in self && \"toJSON\" in PressureRecord.prototype","exposure":"Window"},"result":false},{"name":"api.ProcessingInstruction","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var parser = new DOMParser();\n  if (!parser) {\n    return { result: false, message: \"parser is falsy\" };\n  }\n  var doc = parser.parseFromString(\"<foo />\", \"application/xml\");\n  var instance = doc.createProcessingInstruction(\n    \"xml-stylesheet\",\n    'href=\"mycss.css\" type=\"text/css\"'\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.ProcessingInstruction.sheet","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var parser = new DOMParser();\n  if (!parser) {\n    return { result: false, message: \"parser is falsy\" };\n  }\n  var doc = parser.parseFromString(\"<foo />\", \"application/xml\");\n  var instance = doc.createProcessingInstruction(\n    \"xml-stylesheet\",\n    'href=\"mycss.css\" type=\"text/css\"'\n  );\n  return !!instance && \"sheet\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.ProcessingInstruction.target","info":{"code":"(function () {\n  if (!(\"DOMParser\" in self)) {\n    return { result: false, message: \"DOMParser is not defined\" };\n  }\n  var parser = new DOMParser();\n  if (!parser) {\n    return { result: false, message: \"parser is falsy\" };\n  }\n  var doc = parser.parseFromString(\"<foo />\", \"application/xml\");\n  var instance = doc.createProcessingInstruction(\n    \"xml-stylesheet\",\n    'href=\"mycss.css\" type=\"text/css\"'\n  );\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"DOMParser is not defined"},{"name":"api.Profiler","info":{"code":"\"Profiler\" in self","exposure":"Window"},"result":false},{"name":"api.Profiler.Profiler","info":{"code":"bcd.testConstructor('Profiler')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Profiler is not defined"},{"name":"api.Profiler.sampleInterval","info":{"code":"\"Profiler\" in self && \"sampleInterval\" in Profiler.prototype","exposure":"Window"},"result":false},{"name":"api.Profiler.stop","info":{"code":"\"Profiler\" in self && \"stop\" in Profiler.prototype","exposure":"Window"},"result":false},{"name":"api.Profiler.stopped","info":{"code":"\"Profiler\" in self && \"stopped\" in Profiler.prototype","exposure":"Window"},"result":false},{"name":"api.ProgressEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ProgressEvent(\"progress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ProgressEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ProgressEvent.ProgressEvent","info":{"code":"bcd.testConstructor('ProgressEvent')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.ProgressEvent.lengthComputable","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ProgressEvent(\"progress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ProgressEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"lengthComputable\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ProgressEvent.loaded","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ProgressEvent(\"progress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ProgressEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"loaded\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ProgressEvent.total","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new ProgressEvent(\"progress\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"ProgressEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"total\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.PromiseRejectionEvent","info":{"code":"\"PromiseRejectionEvent\" in self","exposure":"Window"},"result":true},{"name":"api.PromiseRejectionEvent.PromiseRejectionEvent","info":{"code":"bcd.testConstructor('PromiseRejectionEvent')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.PromiseRejectionEvent.promise","info":{"code":"\"PromiseRejectionEvent\" in self && \"promise\" in PromiseRejectionEvent.prototype","exposure":"Window"},"result":true},{"name":"api.PromiseRejectionEvent.reason","info":{"code":"\"PromiseRejectionEvent\" in self && \"reason\" in PromiseRejectionEvent.prototype","exposure":"Window"},"result":true},{"name":"api.ProtectedAudience","info":{"code":"\"ProtectedAudience\" in self","exposure":"Window"},"result":false},{"name":"api.ProtectedAudience.queryFeatureSupport","info":{"code":"\"ProtectedAudience\" in self && \"queryFeatureSupport\" in ProtectedAudience.prototype","exposure":"Window"},"result":false},{"name":"api.ProximitySensor","info":{"code":"\"ProximitySensor\" in self","exposure":"Window"},"result":false},{"name":"api.ProximitySensor.ProximitySensor","info":{"code":"bcd.testConstructor('ProximitySensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ProximitySensor is not defined"},{"name":"api.ProximitySensor.distance","info":{"code":"\"ProximitySensor\" in self && \"distance\" in ProximitySensor.prototype","exposure":"Window"},"result":false},{"name":"api.ProximitySensor.max","info":{"code":"\"ProximitySensor\" in self && \"max\" in ProximitySensor.prototype","exposure":"Window"},"result":false},{"name":"api.ProximitySensor.near","info":{"code":"\"ProximitySensor\" in self && \"near\" in ProximitySensor.prototype","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential","info":{"code":"\"PublicKeyCredential\" in self","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.authenticatorAttachment","info":{"code":"\"PublicKeyCredential\" in self && \"authenticatorAttachment\" in PublicKeyCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.getClientCapabilities_static","info":{"code":"\"PublicKeyCredential\" in self && \"getClientCapabilities\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.getClientExtensionResults","info":{"code":"\"PublicKeyCredential\" in self && \"getClientExtensionResults\" in PublicKeyCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.isConditionalMediationAvailable_static","info":{"code":"\"PublicKeyCredential\" in self && \"isConditionalMediationAvailable\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable_static","info":{"code":"\"PublicKeyCredential\" in self && \"isUserVerifyingPlatformAuthenticatorAvailable\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.parseCreationOptionsFromJSON_static","info":{"code":"\"PublicKeyCredential\" in self && \"parseCreationOptionsFromJSON\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.parseRequestOptionsFromJSON_static","info":{"code":"\"PublicKeyCredential\" in self && \"parseRequestOptionsFromJSON\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.rawId","info":{"code":"\"PublicKeyCredential\" in self && \"rawId\" in PublicKeyCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.response","info":{"code":"\"PublicKeyCredential\" in self && \"response\" in PublicKeyCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.signalAllAcceptedCredentials_static","info":{"code":"\"PublicKeyCredential\" in self && \"signalAllAcceptedCredentials\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.signalCurrentUserDetails_static","info":{"code":"\"PublicKeyCredential\" in self && \"signalCurrentUserDetails\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.signalUnknownCredential_static","info":{"code":"\"PublicKeyCredential\" in self && \"signalUnknownCredential\" in PublicKeyCredential","exposure":"Window"},"result":false},{"name":"api.PublicKeyCredential.toJSON","info":{"code":"\"PublicKeyCredential\" in self && \"toJSON\" in PublicKeyCredential.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager","info":{"code":"\"PushManager\" in self","exposure":"Window"},"result":false},{"name":"api.PushManager.getSubscription","info":{"code":"\"PushManager\" in self && \"getSubscription\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager.hasPermission","info":{"code":"\"PushManager\" in self && \"hasPermission\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager.permissionState","info":{"code":"\"PushManager\" in self && \"permissionState\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager.register","info":{"code":"\"PushManager\" in self && \"register\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager.registrations","info":{"code":"\"PushManager\" in self && \"registrations\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager.subscribe","info":{"code":"\"PushManager\" in self && \"subscribe\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushManager.supportedContentEncodings_static","info":{"code":"\"PushManager\" in self && \"supportedContentEncodings\" in PushManager","exposure":"Window"},"result":false},{"name":"api.PushManager.unregister","info":{"code":"\"PushManager\" in self && \"unregister\" in PushManager.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription","info":{"code":"\"PushSubscription\" in self","exposure":"Window"},"result":false},{"name":"api.PushSubscription.endpoint","info":{"code":"\"PushSubscription\" in self && \"endpoint\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription.expirationTime","info":{"code":"\"PushSubscription\" in self && \"expirationTime\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription.getKey","info":{"code":"\"PushSubscription\" in self && \"getKey\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription.options","info":{"code":"\"PushSubscription\" in self && \"options\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription.subscriptionId","info":{"code":"\"PushSubscription\" in self && \"subscriptionId\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription.toJSON","info":{"code":"\"PushSubscription\" in self && \"toJSON\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscription.unsubscribe","info":{"code":"\"PushSubscription\" in self && \"unsubscribe\" in PushSubscription.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscriptionOptions","info":{"code":"\"PushSubscriptionOptions\" in self","exposure":"Window"},"result":false},{"name":"api.PushSubscriptionOptions.applicationServerKey","info":{"code":"\"PushSubscriptionOptions\" in self && \"applicationServerKey\" in PushSubscriptionOptions.prototype","exposure":"Window"},"result":false},{"name":"api.PushSubscriptionOptions.userVisibleOnly","info":{"code":"\"PushSubscriptionOptions\" in self && \"userVisibleOnly\" in PushSubscriptionOptions.prototype","exposure":"Window"},"result":false},{"name":"api.QuotaExceededError","info":{"code":"\"QuotaExceededError\" in self","exposure":"Window"},"result":false},{"name":"api.QuotaExceededError.QuotaExceededError","info":{"code":"bcd.testConstructor('QuotaExceededError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: QuotaExceededError is not defined"},{"name":"api.QuotaExceededError.quota","info":{"code":"\"QuotaExceededError\" in self && \"quota\" in QuotaExceededError.prototype","exposure":"Window"},"result":false},{"name":"api.QuotaExceededError.requested","info":{"code":"\"QuotaExceededError\" in self && \"requested\" in QuotaExceededError.prototype","exposure":"Window"},"result":false},{"name":"api.RGBColor","info":{"code":"\"RGBColor\" in self","exposure":"Window"},"result":false},{"name":"api.RGBColor.blue","info":{"code":"\"RGBColor\" in self && \"blue\" in RGBColor.prototype","exposure":"Window"},"result":false},{"name":"api.RGBColor.green","info":{"code":"\"RGBColor\" in self && \"green\" in RGBColor.prototype","exposure":"Window"},"result":false},{"name":"api.RGBColor.red","info":{"code":"\"RGBColor\" in self && \"red\" in RGBColor.prototype","exposure":"Window"},"result":false},{"name":"api.RTCCertificate","info":{"code":"\"RTCCertificate\" in self","exposure":"Window"},"result":false},{"name":"api.RTCCertificate.expires","info":{"code":"\"RTCCertificate\" in self && \"expires\" in RTCCertificate.prototype","exposure":"Window"},"result":false},{"name":"api.RTCCertificate.getFingerprints","info":{"code":"\"RTCCertificate\" in self && \"getFingerprints\" in RTCCertificate.prototype","exposure":"Window"},"result":false},{"name":"api.RTCDTMFSender","info":{"code":"\"RTCDTMFSender\" in self","exposure":"Window"},"result":false},{"name":"api.RTCDTMFSender.canInsertDTMF","info":{"code":"\"RTCDTMFSender\" in self && \"canInsertDTMF\" in RTCDTMFSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCDTMFSender.insertDTMF","info":{"code":"\"RTCDTMFSender\" in self && \"insertDTMF\" in RTCDTMFSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCDTMFSender.toneBuffer","info":{"code":"\"RTCDTMFSender\" in self && \"toneBuffer\" in RTCDTMFSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCDTMFToneChangeEvent","info":{"code":"(function () {\n  if (!(\"RTCDTMFToneChangeEvent\" in self)) {\n    return { result: false, message: \"RTCDTMFToneChangeEvent is not defined\" };\n  }\n  var instance = new RTCDTMFToneChangeEvent(\"tonechange\", { tone: \"\" });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"RTCDTMFToneChangeEvent is not defined"},{"name":"api.RTCDTMFToneChangeEvent.RTCDTMFToneChangeEvent","info":{"code":"bcd.testConstructor('RTCDTMFToneChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCDTMFToneChangeEvent is not defined"},{"name":"api.RTCDTMFToneChangeEvent.tone","info":{"code":"(function () {\n  if (!(\"RTCDTMFToneChangeEvent\" in self)) {\n    return { result: false, message: \"RTCDTMFToneChangeEvent is not defined\" };\n  }\n  var instance = new RTCDTMFToneChangeEvent(\"tonechange\", { tone: \"\" });\n  return !!instance && \"tone\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"RTCDTMFToneChangeEvent is not defined"},{"name":"api.RTCDataChannel","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.binaryType","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"binaryType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.binaryType.arraybuffer_value","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  try {\n    instance.binaryType = \"arraybuffer\";\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.binaryType.blob_value","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  try {\n    instance.binaryType = \"blob\";\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.bufferedAmount","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"bufferedAmount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.bufferedAmountLowThreshold","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"bufferedAmountLowThreshold\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.close","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.id","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.label","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.maxPacketLifeTime","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"maxPacketLifeTime\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.maxRetransmits","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"maxRetransmits\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.negotiated","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"negotiated\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.ordered","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"ordered\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.priority","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"priority\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.protocol","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.readyState","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.reliable","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"reliable\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannel.send","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var instance = connection.createDataChannel(\"channel\");\n  return !!instance && \"send\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannelEvent","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var channel = connection.createDataChannel(\"channel\");\n  if (!channel) {\n    return { result: false, message: \"channel is falsy\" };\n  }\n  if (!(\"RTCDataChannelEvent\" in self)) {\n    return { result: false, message: \"RTCDataChannelEvent is not defined\" };\n  }\n  var instance = new RTCDataChannelEvent(\"datachannel\", { channel: channel });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDataChannelEvent.RTCDataChannelEvent","info":{"code":"bcd.testConstructor('RTCDataChannelEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCDataChannelEvent is not defined"},{"name":"api.RTCDataChannelEvent.channel","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var connection = new constructor({ iceServers: [] });\n  if (!connection) {\n    return { result: false, message: \"connection is falsy\" };\n  }\n  var channel = connection.createDataChannel(\"channel\");\n  if (!channel) {\n    return { result: false, message: \"channel is falsy\" };\n  }\n  if (!(\"RTCDataChannelEvent\" in self)) {\n    return { result: false, message: \"RTCDataChannelEvent is not defined\" };\n  }\n  var instance = new RTCDataChannelEvent(\"datachannel\", { channel: channel });\n  return !!instance && \"channel\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCDtlsTransport","info":{"code":"\"RTCDtlsTransport\" in self","exposure":"Window"},"result":false},{"name":"api.RTCDtlsTransport.getRemoteCertificates","info":{"code":"\"RTCDtlsTransport\" in self && \"getRemoteCertificates\" in RTCDtlsTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCDtlsTransport.iceTransport","info":{"code":"\"RTCDtlsTransport\" in self && \"iceTransport\" in RTCDtlsTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCDtlsTransport.state","info":{"code":"\"RTCDtlsTransport\" in self && \"state\" in RTCDtlsTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedAudioFrame","info":{"code":"\"RTCEncodedAudioFrame\" in self","exposure":"Window"},"result":false},{"name":"api.RTCEncodedAudioFrame.RTCEncodedAudioFrame","info":{"code":"bcd.testConstructor('RTCEncodedAudioFrame')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCEncodedAudioFrame is not defined"},{"name":"api.RTCEncodedAudioFrame.data","info":{"code":"\"RTCEncodedAudioFrame\" in self && \"data\" in RTCEncodedAudioFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedAudioFrame.getMetadata","info":{"code":"\"RTCEncodedAudioFrame\" in self && \"getMetadata\" in RTCEncodedAudioFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedAudioFrame.timestamp","info":{"code":"\"RTCEncodedAudioFrame\" in self && \"timestamp\" in RTCEncodedAudioFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedVideoFrame","info":{"code":"\"RTCEncodedVideoFrame\" in self","exposure":"Window"},"result":false},{"name":"api.RTCEncodedVideoFrame.RTCEncodedVideoFrame","info":{"code":"bcd.testConstructor('RTCEncodedVideoFrame')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCEncodedVideoFrame is not defined"},{"name":"api.RTCEncodedVideoFrame.data","info":{"code":"\"RTCEncodedVideoFrame\" in self && \"data\" in RTCEncodedVideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedVideoFrame.getMetadata","info":{"code":"\"RTCEncodedVideoFrame\" in self && \"getMetadata\" in RTCEncodedVideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedVideoFrame.timestamp","info":{"code":"\"RTCEncodedVideoFrame\" in self && \"timestamp\" in RTCEncodedVideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCEncodedVideoFrame.type","info":{"code":"\"RTCEncodedVideoFrame\" in self && \"type\" in RTCEncodedVideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.RTCError","info":{"code":"\"RTCError\" in self","exposure":"Window"},"result":false},{"name":"api.RTCError.RTCError","info":{"code":"bcd.testConstructor('RTCError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCError is not defined"},{"name":"api.RTCError.errorDetail","info":{"code":"\"RTCError\" in self && \"errorDetail\" in RTCError.prototype","exposure":"Window"},"result":false},{"name":"api.RTCError.httpRequestStatusCode","info":{"code":"\"RTCError\" in self && \"httpRequestStatusCode\" in RTCError.prototype","exposure":"Window"},"result":false},{"name":"api.RTCError.receivedAlert","info":{"code":"\"RTCError\" in self && \"receivedAlert\" in RTCError.prototype","exposure":"Window"},"result":false},{"name":"api.RTCError.sctpCauseCode","info":{"code":"\"RTCError\" in self && \"sctpCauseCode\" in RTCError.prototype","exposure":"Window"},"result":false},{"name":"api.RTCError.sdpLineNumber","info":{"code":"\"RTCError\" in self && \"sdpLineNumber\" in RTCError.prototype","exposure":"Window"},"result":false},{"name":"api.RTCError.sentAlert","info":{"code":"\"RTCError\" in self && \"sentAlert\" in RTCError.prototype","exposure":"Window"},"result":false},{"name":"api.RTCErrorEvent","info":{"code":"\"RTCErrorEvent\" in self","exposure":"Window"},"result":false},{"name":"api.RTCErrorEvent.RTCErrorEvent","info":{"code":"bcd.testConstructor('RTCErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCErrorEvent is not defined"},{"name":"api.RTCErrorEvent.error","info":{"code":"\"RTCErrorEvent\" in self && \"error\" in RTCErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidate","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.RTCIceCandidate","info":{"code":"bcd.testConstructor('RTCIceCandidate')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCIceCandidate is not defined"},{"name":"api.RTCIceCandidate.address","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"address\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.candidate","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"candidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.component","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"component\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.foundation","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"foundation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.port","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.priority","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"priority\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.protocol","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.relatedAddress","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"relatedAddress\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.relatedPort","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"relatedPort\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.relayProtocol","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"relayProtocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.sdpMLineIndex","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"sdpMLineIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.sdpMid","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"sdpMid\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.tcpType","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"tcpType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.toJSON","info":{"code":"\"RTCIceCandidate\" in self && \"toJSON\" in RTCIceCandidate.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidate.type","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.url","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"url\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidate.usernameFragment","info":{"code":"(function () {\n  var instance = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  return !!instance && \"usernameFragment\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: (self.RTCIceCandidate || self.mozRTCIceCandidate) is not a constructor"},{"name":"api.RTCIceCandidatePair","info":{"code":"\"RTCIceCandidatePair\" in self","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidatePair.local","info":{"code":"\"RTCIceCandidatePair\" in self && \"local\" in RTCIceCandidatePair.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidatePair.remote","info":{"code":"\"RTCIceCandidatePair\" in self && \"remote\" in RTCIceCandidatePair.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidatePairEvent","info":{"code":"\"RTCIceCandidatePairEvent\" in self","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidatePairEvent.RTCIceCandidatePairEvent","info":{"code":"bcd.testConstructor('RTCIceCandidatePairEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCIceCandidatePairEvent is not defined"},{"name":"api.RTCIceCandidatePairEvent.local","info":{"code":"\"RTCIceCandidatePairEvent\" in self && \"local\" in RTCIceCandidatePairEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceCandidatePairEvent.remote","info":{"code":"\"RTCIceCandidatePairEvent\" in self && \"remote\" in RTCIceCandidatePairEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport","info":{"code":"\"RTCIceTransport\" in self","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.RTCIceTransport","info":{"code":"bcd.testConstructor('RTCIceTransport')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCIceTransport is not defined"},{"name":"api.RTCIceTransport.addRemoteCandidate","info":{"code":"\"RTCIceTransport\" in self && \"addRemoteCandidate\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.component","info":{"code":"\"RTCIceTransport\" in self && \"component\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.gather","info":{"code":"\"RTCIceTransport\" in self && \"gather\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.gatheringState","info":{"code":"\"RTCIceTransport\" in self && \"gatheringState\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.getLocalCandidates","info":{"code":"\"RTCIceTransport\" in self && \"getLocalCandidates\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.getLocalParameters","info":{"code":"\"RTCIceTransport\" in self && \"getLocalParameters\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.getRemoteCandidates","info":{"code":"\"RTCIceTransport\" in self && \"getRemoteCandidates\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.getRemoteParameters","info":{"code":"\"RTCIceTransport\" in self && \"getRemoteParameters\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.getSelectedCandidatePair","info":{"code":"\"RTCIceTransport\" in self && \"getSelectedCandidatePair\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.removeCandidatePair","info":{"code":"\"RTCIceTransport\" in self && \"removeCandidatePair\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.role","info":{"code":"\"RTCIceTransport\" in self && \"role\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.selectCandidatePair","info":{"code":"\"RTCIceTransport\" in self && \"selectCandidatePair\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.start","info":{"code":"\"RTCIceTransport\" in self && \"start\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.state","info":{"code":"\"RTCIceTransport\" in self && \"state\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIceTransport.stop","info":{"code":"\"RTCIceTransport\" in self && \"stop\" in RTCIceTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCIdentityAssertion","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var rpc = new constructor({ iceServers: [] });\n  if (!rpc) {\n    return { result: false, message: \"rpc is falsy\" };\n  }\n  if (!(\"getIdentityAssertion\" in rpc)) {\n    return {\n      result: false,\n      message: \"RTCPeerConnection.prototype.getIdentityAssertion is not defined\"\n    };\n  }\n  var promise = rpc.getIdentityAssertion();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCIdentityAssertion.RTCIdentityAssertion","info":{"code":"bcd.testConstructor('RTCIdentityAssertion')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCIdentityAssertion is not defined"},{"name":"api.RTCIdentityAssertion.idp","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var rpc = new constructor({ iceServers: [] });\n  if (!rpc) {\n    return { result: false, message: \"rpc is falsy\" };\n  }\n  if (!(\"getIdentityAssertion\" in rpc)) {\n    return {\n      result: false,\n      message: \"RTCPeerConnection.prototype.getIdentityAssertion is not defined\"\n    };\n  }\n  var promise = rpc.getIdentityAssertion();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"idp\" in instance;\n  });\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCIdentityAssertion.name","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var rpc = new constructor({ iceServers: [] });\n  if (!rpc) {\n    return { result: false, message: \"rpc is falsy\" };\n  }\n  if (!(\"getIdentityAssertion\" in rpc)) {\n    return {\n      result: false,\n      message: \"RTCPeerConnection.prototype.getIdentityAssertion is not defined\"\n    };\n  }\n  var promise = rpc.getIdentityAssertion();\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"name\" in instance;\n  });\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection","info":{"code":"bcd.testConstructor('RTCPeerConnection')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCPeerConnection is not defined"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_bundlePolicy_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(\n    constructor,\n    \"constructor\",\n    \"bundlePolicy\",\n    \"balanced\"\n  );\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_certificates_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(constructor, \"constructor\", \"certificates\", []);\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_iceCandidatePoolSize_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(\n    constructor,\n    \"constructor\",\n    \"iceCandidatePoolSize\",\n    0\n  );\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_iceServers_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(constructor, \"constructor\", \"iceServers\", []);\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_iceTransportPolicy_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(\n    constructor,\n    \"constructor\",\n    \"iceTransportPolicy\",\n    \"all\"\n  );\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_peerIdentity_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(\n    constructor,\n    \"constructor\",\n    \"peerIdentity\",\n    \"foobar\"\n  );\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.RTCPeerConnection.configuration_rtcpMuxPolicy_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return bcd.testOptionParam(\n    constructor,\n    \"constructor\",\n    \"rtcpMuxPolicy\",\n    \"negotiate\"\n  );\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addIceCandidate","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"addIceCandidate\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addIceCandidate.returns_promise","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  var candidate = new (self.RTCIceCandidate || self.mozRTCIceCandidate)({\n    candidate:\n      \"candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host\",\n    sdpMid: \"\"\n  });\n  if (!candidate) {\n    return { result: false, message: \"candidate is falsy\" };\n  }\n  if (!(instance && instance.addIceCandidate)) {\n    return {\n      result: false,\n      message: \"instance.addIceCandidate is not defined\"\n    };\n  }\n  var value = instance.addIceCandidate(candidate);\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addStream","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"addStream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addTrack","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"addTrack\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addTransceiver","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"addTransceiver\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addTransceiver.init_direction_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  if (!(instance && instance.addTransceiver)) {\n    return { result: false, message: \"instance.addTransceiver is not defined\" };\n  }\n  function addTransceiver(init) {\n    instance.addTransceiver(\"audio\", init);\n  }\n  return bcd.testOptionParam(addTransceiver, null, \"direction\", \"sendrecv\");\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.addTransceiver.init_sendEncodings_parameter","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  if (!(instance && instance.addTransceiver)) {\n    return { result: false, message: \"instance.addTransceiver is not defined\" };\n  }\n  function addTransceiver(init) {\n    instance.addTransceiver(\"audio\", init);\n  }\n  return bcd.testOptionParam(addTransceiver, null, \"sendEncodings\", [\n    { maxBitrate: 44100 }\n  ]);\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.canTrickleIceCandidates","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"canTrickleIceCandidates\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.close","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.connectionState","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"connectionState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.createAnswer","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"createAnswer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.createAnswer.returns_promise","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  if (!(instance && instance.createAnswer)) {\n    return { result: false, message: \"instance.createAnswer is not defined\" };\n  }\n  var value = instance.createAnswer();\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.createDTMFSender","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"createDTMFSender\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.createDataChannel","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"createDataChannel\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.createOffer","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"createOffer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.createOffer.returns_promise","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  if (!(instance && instance.createOffer)) {\n    return { result: false, message: \"instance.createOffer is not defined\" };\n  }\n  var value = instance.createOffer();\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.currentLocalDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"currentLocalDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.currentRemoteDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"currentRemoteDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.generateCertificate_static","info":{"code":"\"RTCPeerConnection\" in self && \"generateCertificate\" in RTCPeerConnection","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnection.getConfiguration","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getConfiguration\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getIdentityAssertion","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getIdentityAssertion\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getLocalStreams","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getLocalStreams\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getReceivers","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getReceivers\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getRemoteStreams","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getRemoteStreams\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getSenders","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getSenders\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getStats","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getStats\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getStats.returns_promise","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  if (!(instance && instance.getStats)) {\n    return { result: false, message: \"instance.getStats is not defined\" };\n  }\n  var value = instance.getStats();\n  return !!value && \"then\" in value;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.getTransceivers","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"getTransceivers\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.iceConnectionState","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"iceConnectionState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.iceGatheringState","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"iceGatheringState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.idpErrorInfo","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"idpErrorInfo\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.idpLoginUrl","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"idpLoginUrl\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.localDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"localDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.peerIdentity","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"peerIdentity\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.pendingLocalDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"pendingLocalDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.pendingRemoteDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"pendingRemoteDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.remoteDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"remoteDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.removeStream","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"removeStream\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.removeTrack","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"removeTrack\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.restartIce","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"restartIce\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.sctp","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"sctp\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setConfiguration","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"setConfiguration\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setIdentityProvider","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"setIdentityProvider\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setLocalDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"setLocalDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setLocalDescription.description_parameter_optional","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  if (!(instance && instance.setLocalDescription)) {\n    return {\n      result: false,\n      message: \"instance.setLocalDescription is not defined\"\n    };\n  }\n  return instance\n    .setLocalDescription()\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      if (\n        e instanceof TypeError ||\n        stringIncludes(e.message, [\n          \"WRONG_ARGUMENTS_ERR\",\n          \"Not enough arguments\"\n        ])\n      ) {\n        return { result: false, message: e.message };\n      }\n      return e;\n    });\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setLocalDescription.returns_promise","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  var description = new RTCSessionDescription({ type: \"offer\" });\n  if (!description) {\n    return { result: false, message: \"description is falsy\" };\n  }\n  if (!(instance && instance.setLocalDescription)) {\n    return {\n      result: false,\n      message: \"instance.setLocalDescription is not defined\"\n    };\n  }\n  var value = instance.setLocalDescription(description);\n  if (\"then\" in value) {\n    value.catch(function () {});\n    return true;\n  }\n  return false;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setRemoteDescription","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"setRemoteDescription\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.setRemoteDescription.returns_promise","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  var description = new RTCSessionDescription({ type: \"offer\" });\n  if (!description) {\n    return { result: false, message: \"description is falsy\" };\n  }\n  if (!(instance && instance.setRemoteDescription)) {\n    return {\n      result: false,\n      message: \"instance.setRemoteDescription is not defined\"\n    };\n  }\n  var value = instance.setRemoteDescription(description);\n  if (\"then\" in value) {\n    value.catch(function () {});\n    return true;\n  }\n  return false;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnection.signalingState","info":{"code":"(function () {\n  /* Firefox briefly defines RTCPeerConnection in older versions, but it is not a valid constructor until later versions. */\n  var constructor =\n    self.mozRTCPeerConnection ||\n    self.RTCPeerConnection ||\n    self.webkitRTCPeerConnection;\n  if (!constructor) {\n    return {\n      result: false,\n      message: \"(moz/webkit)RTCPeerConnection is not defined or is falsy\"\n    };\n  }\n  var instance = new constructor({ iceServers: [] });\n  return !!instance && \"signalingState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(moz/webkit)RTCPeerConnection is not defined or is falsy"},{"name":"api.RTCPeerConnectionIceErrorEvent","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceErrorEvent.RTCPeerConnectionIceErrorEvent","info":{"code":"bcd.testConstructor('RTCPeerConnectionIceErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCPeerConnectionIceErrorEvent is not defined"},{"name":"api.RTCPeerConnectionIceErrorEvent.address","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self && \"address\" in RTCPeerConnectionIceErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceErrorEvent.errorCode","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self && \"errorCode\" in RTCPeerConnectionIceErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceErrorEvent.errorText","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self && \"errorText\" in RTCPeerConnectionIceErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceErrorEvent.hostCandidate","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self && \"hostCandidate\" in RTCPeerConnectionIceErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceErrorEvent.port","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self && \"port\" in RTCPeerConnectionIceErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceErrorEvent.url","info":{"code":"\"RTCPeerConnectionIceErrorEvent\" in self && \"url\" in RTCPeerConnectionIceErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceEvent","info":{"code":"\"RTCPeerConnectionIceEvent\" in self","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceEvent.RTCPeerConnectionIceEvent","info":{"code":"bcd.testConstructor('RTCPeerConnectionIceEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCPeerConnectionIceEvent is not defined"},{"name":"api.RTCPeerConnectionIceEvent.candidate","info":{"code":"\"RTCPeerConnectionIceEvent\" in self && \"candidate\" in RTCPeerConnectionIceEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCPeerConnectionIceEvent.url","info":{"code":"\"RTCPeerConnectionIceEvent\" in self && \"url\" in RTCPeerConnectionIceEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver","info":{"code":"\"RTCRtpReceiver\" in self","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.createEncodedStreams","info":{"code":"\"RTCRtpReceiver\" in self && \"createEncodedStreams\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.disableHardwareDecoding_static","info":{"code":"\"RTCRtpReceiver\" in self && \"disableHardwareDecoding\" in RTCRtpReceiver","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.getCapabilities_static","info":{"code":"\"RTCRtpReceiver\" in self && \"getCapabilities\" in RTCRtpReceiver","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.getContributingSources","info":{"code":"\"RTCRtpReceiver\" in self && \"getContributingSources\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.getParameters","info":{"code":"\"RTCRtpReceiver\" in self && \"getParameters\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.getStats","info":{"code":"\"RTCRtpReceiver\" in self && \"getStats\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.getSynchronizationSources","info":{"code":"\"RTCRtpReceiver\" in self && \"getSynchronizationSources\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.jitterBufferTarget","info":{"code":"\"RTCRtpReceiver\" in self && \"jitterBufferTarget\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.rtcpTransport","info":{"code":"\"RTCRtpReceiver\" in self && \"rtcpTransport\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.track","info":{"code":"\"RTCRtpReceiver\" in self && \"track\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.transform","info":{"code":"\"RTCRtpReceiver\" in self && \"transform\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpReceiver.transport","info":{"code":"\"RTCRtpReceiver\" in self && \"transport\" in RTCRtpReceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpScriptTransform","info":{"code":"\"RTCRtpScriptTransform\" in self","exposure":"Window"},"result":false},{"name":"api.RTCRtpScriptTransform.RTCRtpScriptTransform","info":{"code":"bcd.testConstructor('RTCRtpScriptTransform')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCRtpScriptTransform is not defined"},{"name":"api.RTCRtpSender","info":{"code":"\"RTCRtpSender\" in self","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.createEncodedStreams","info":{"code":"\"RTCRtpSender\" in self && \"createEncodedStreams\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.disableHardwareEncoding_static","info":{"code":"\"RTCRtpSender\" in self && \"disableHardwareEncoding\" in RTCRtpSender","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.dtmf","info":{"code":"\"RTCRtpSender\" in self && \"dtmf\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.getCapabilities_static","info":{"code":"\"RTCRtpSender\" in self && \"getCapabilities\" in RTCRtpSender","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.getParameters","info":{"code":"\"RTCRtpSender\" in self && \"getParameters\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.getStats","info":{"code":"\"RTCRtpSender\" in self && \"getStats\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.replaceTrack","info":{"code":"\"RTCRtpSender\" in self && \"replaceTrack\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.rtcpTransport","info":{"code":"\"RTCRtpSender\" in self && \"rtcpTransport\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.setParameters","info":{"code":"\"RTCRtpSender\" in self && \"setParameters\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.setStreams","info":{"code":"\"RTCRtpSender\" in self && \"setStreams\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.track","info":{"code":"\"RTCRtpSender\" in self && \"track\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.transform","info":{"code":"\"RTCRtpSender\" in self && \"transform\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpSender.transport","info":{"code":"\"RTCRtpSender\" in self && \"transport\" in RTCRtpSender.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver","info":{"code":"\"RTCRtpTransceiver\" in self","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.currentDirection","info":{"code":"\"RTCRtpTransceiver\" in self && \"currentDirection\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.direction","info":{"code":"\"RTCRtpTransceiver\" in self && \"direction\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.getHeaderExtensionsToNegotiate","info":{"code":"\"RTCRtpTransceiver\" in self && \"getHeaderExtensionsToNegotiate\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.getNegotiatedHeaderExtensions","info":{"code":"\"RTCRtpTransceiver\" in self && \"getNegotiatedHeaderExtensions\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.mid","info":{"code":"\"RTCRtpTransceiver\" in self && \"mid\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.receiver","info":{"code":"\"RTCRtpTransceiver\" in self && \"receiver\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.rtpHeaderEncryptionNegotiated","info":{"code":"\"RTCRtpTransceiver\" in self && \"rtpHeaderEncryptionNegotiated\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.sender","info":{"code":"\"RTCRtpTransceiver\" in self && \"sender\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.setCodecPreferences","info":{"code":"\"RTCRtpTransceiver\" in self && \"setCodecPreferences\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.setHeaderExtensionsToNegotiate","info":{"code":"\"RTCRtpTransceiver\" in self && \"setHeaderExtensionsToNegotiate\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.stop","info":{"code":"\"RTCRtpTransceiver\" in self && \"stop\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCRtpTransceiver.stopped","info":{"code":"\"RTCRtpTransceiver\" in self && \"stopped\" in RTCRtpTransceiver.prototype","exposure":"Window"},"result":false},{"name":"api.RTCSctpTransport","info":{"code":"\"RTCSctpTransport\" in self","exposure":"Window"},"result":false},{"name":"api.RTCSctpTransport.maxChannels","info":{"code":"\"RTCSctpTransport\" in self && \"maxChannels\" in RTCSctpTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCSctpTransport.maxMessageSize","info":{"code":"\"RTCSctpTransport\" in self && \"maxMessageSize\" in RTCSctpTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCSctpTransport.state","info":{"code":"\"RTCSctpTransport\" in self && \"state\" in RTCSctpTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCSctpTransport.transport","info":{"code":"\"RTCSctpTransport\" in self && \"transport\" in RTCSctpTransport.prototype","exposure":"Window"},"result":false},{"name":"api.RTCSessionDescription","info":{"code":"(function () {\n  var instance = new RTCSessionDescription({ type: \"offer\" });\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: RTCSessionDescription is not defined"},{"name":"api.RTCSessionDescription.RTCSessionDescription","info":{"code":"bcd.testConstructor('RTCSessionDescription')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCSessionDescription is not defined"},{"name":"api.RTCSessionDescription.sdp","info":{"code":"(function () {\n  var instance = new RTCSessionDescription({ type: \"offer\" });\n  return !!instance && \"sdp\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: RTCSessionDescription is not defined"},{"name":"api.RTCSessionDescription.toJSON","info":{"code":"\"RTCSessionDescription\" in self && \"toJSON\" in RTCSessionDescription.prototype","exposure":"Window"},"result":false},{"name":"api.RTCSessionDescription.type","info":{"code":"(function () {\n  var instance = new RTCSessionDescription({ type: \"offer\" });\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: RTCSessionDescription is not defined"},{"name":"api.RTCStatsReport","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.@@iterator","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.entries","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.forEach","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.get","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.has","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"has\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.keys","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.size","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.availableIncomingBitrate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return { result: null, message: \"Untestable property\" };\n  return !!getStatByType(\"candidate-pair\", \"availableIncomingBitrate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.availableOutgoingBitrate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"availableOutgoingBitrate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.bytesDiscardedOnSend","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"bytesDiscardedOnSend\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.bytesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"bytesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.bytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"bytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.consentRequestsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"consentRequestsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.currentRoundTripTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"currentRoundTripTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.lastPacketReceivedTimestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"lastPacketReceivedTimestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.lastPacketSentTimestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"lastPacketSentTimestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.localCandidateId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"localCandidateId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.nominated","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"nominated\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.packetsDiscardedOnSend","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"packetsDiscardedOnSend\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.packetsReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"packetsReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.packetsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"packetsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.priority","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"priority\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.remoteCandidateId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"remoteCandidateId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.requestsReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"requestsReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.requestsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"requestsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.responsesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"responsesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.responsesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"responsesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.state","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"state\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.totalRoundTripTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"totalRoundTripTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_candidate-pair.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"candidate-pair\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.base64Certificate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"base64Certificate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.fingerprint","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"fingerprint\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.fingerprintAlgorithm","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"fingerprintAlgorithm\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.issuerCertificateId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"issuerCertificateId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_certificate.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"certificate\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.channels","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"channels\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.clockRate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"clockRate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.mimeType","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"mimeType\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.payloadType","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"payloadType\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.sdpFmtpLine","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"sdpFmtpLine\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_codec.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"codec\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.bytesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"bytesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.bytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"bytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.dataChannelIdentifier","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"dataChannelIdentifier\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.label","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"label\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.messagesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"messagesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.messagesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"messagesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.protocol","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"protocol\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.state","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"state\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_data-channel.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"data-channel\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.audioLevel","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"audioLevel\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.bytesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"bytesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.codecId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"codecId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.concealedSamples","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"concealedSamples\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.concealmentEvents","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"concealmentEvents\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.decoderImplementation","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"decoderImplementation\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.estimatedPlayoutTimestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"estimatedPlayoutTimestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.fecPacketsDiscarded","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"fecPacketsDiscarded\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.fecPacketsReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"fecPacketsReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.firCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"firCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.frameHeight","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"frameHeight\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.frameWidth","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"frameWidth\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.framesAssembledFromMultiplePackets","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"framesAssembledFromMultiplePackets\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.framesDecoded","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"framesDecoded\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.framesDropped","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"framesDropped\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.framesPerSecond","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"framesPerSecond\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.framesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"framesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.framesRendered","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"framesRendered\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.freezeCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"freezeCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.headerBytesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"headerBytesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.insertedSamplesForDeceleration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"insertedSamplesForDeceleration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.jitter","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"jitter\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.jitterBufferDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"jitterBufferDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.jitterBufferEmittedCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"jitterBufferEmittedCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.jitterBufferMinimumDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"jitterBufferMinimumDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.jitterBufferTargetDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"jitterBufferTargetDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.keyFramesDecoded","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"keyFramesDecoded\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.kind","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"kind\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.lastPacketReceivedTimestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"lastPacketReceivedTimestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.mid","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"mid\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.nackCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"nackCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.packetsDiscarded","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"packetsDiscarded\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.packetsLost","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"packetsLost\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.packetsReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"packetsReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.pauseCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"pauseCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.playoutId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"playoutId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.pliCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"pliCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.powerEfficientDecoder","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"powerEfficientDecoder\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.qpSum","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"qpSum\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.remoteId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"remoteId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.removedSamplesForAcceleration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"removedSamplesForAcceleration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.silentConcealedSamples","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"silentConcealedSamples\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.ssrc","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"ssrc\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalAssemblyTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalAssemblyTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalAudioEnergy","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalAudioEnergy\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalDecodeTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalDecodeTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalFreezesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalFreezesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalInterFrameDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalInterFrameDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalPausesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalPausesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalProcessingDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalProcessingDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalSamplesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalSamplesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalSamplesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalSamplesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.totalSquaredInterFrameDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"totalSquaredInterFrameDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.trackIdentifier","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"trackIdentifier\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_inbound-rtp.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"inbound-rtp\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.address","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"address\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.candidateType","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"candidateType\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.foundation","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"foundation\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.port","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"port\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.priority","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"priority\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.protocol","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"protocol\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.relatedAddress","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"local-candidate\", \"relatedAddress\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.relatedPort","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"local-candidate\", \"relatedPort\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.relayProtocol","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"local-candidate\", \"relayProtocol\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.tcpType","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"tcpType\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.url","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"local-candidate\", \"url\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_local-candidate.usernameFragment","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"local-candidate\", \"usernameFragment\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.kind","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"kind\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.synthesizedSamplesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"synthesizedSamplesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.synthesizedSamplesEvents","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"synthesizedSamplesEvents\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.totalPlayoutDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"totalPlayoutDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.totalSamplesCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"totalSamplesCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.totalSamplesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"totalSamplesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-playout.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-playout\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.audioLevel","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"audioLevel\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.droppedSamplesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"droppedSamplesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.droppedSamplesEvents","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"droppedSamplesEvents\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.echoReturnLoss","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"echoReturnLoss\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.echoReturnLossEnhancement","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"echoReturnLossEnhancement\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.frames","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"frames\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.framesPerSecond","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"framesPerSecond\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.height","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"height\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.kind","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"kind\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.totalAudioEnergy","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"totalAudioEnergy\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.totalCaptureDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"totalCaptureDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.totalSamplesCaptured","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"totalSamplesCaptured\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.totalSamplesDuration","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"totalSamplesDuration\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.trackIdentifier","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"trackIdentifier\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_media-source.width","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"media-source\", \"width\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.active","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"active\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.bytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"bytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.codecId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"codecId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.encoderImplementation","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"encoderImplementation\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.firCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"firCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.frameHeight","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"frameHeight\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.frameWidth","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"frameWidth\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.framesEncoded","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"framesEncoded\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.framesPerSecond","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"framesPerSecond\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.framesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"framesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.headerBytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"headerBytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.hugeFramesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"hugeFramesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.keyFramesEncoded","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"keyFramesEncoded\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.kind","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"kind\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.mediaSourceId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"mediaSourceId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.mid","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"mid\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.nackCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"nackCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.packetsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"packetsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.pliCount","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"pliCount\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.powerEfficientEncoder","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"powerEfficientEncoder\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.qpSum","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"qpSum\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.qualityLimitationDurations","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"qualityLimitationDurations\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.qualityLimitationReason","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"qualityLimitationReason\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.qualityLimitationResolutionChanges","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"qualityLimitationResolutionChanges\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.remoteId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"remoteId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.retransmittedBytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"retransmittedBytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.retransmittedPacketsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"retransmittedPacketsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.rid","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return { result: null, message: \"Untestable property; requires simulcast\" };\n  return !!getStatByType(\"outbound-rtp\", \"rid\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.scalabilityMode","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"scalabilityMode\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.ssrc","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"ssrc\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.targetBitrate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"targetBitrate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.totalEncodeTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"totalEncodeTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.totalEncodedBytesTarget","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"totalEncodedBytesTarget\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.totalPacketSendDelay","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"totalPacketSendDelay\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_outbound-rtp.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"outbound-rtp\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_peer-connection","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"peer-connection\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_peer-connection.dataChannelsClosed","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"peer-connection\", \"dataChannelsClosed\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_peer-connection.dataChannelsOpened","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"peer-connection\", \"dataChannelsOpened\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_peer-connection.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"peer-connection\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_peer-connection.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"peer-connection\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_peer-connection.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"peer-connection\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.address","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"address\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.candidateType","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"candidateType\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.foundation","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"foundation\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.port","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"port\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.priority","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"priority\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.protocol","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"protocol\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.relatedAddress","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"relatedAddress\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.relatedPort","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"relatedPort\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.relayProtocol","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"relayProtocol\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.tcpType","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"tcpType\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.url","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return {\n    result: null,\n    message: \"Untestable property; requires a STUN/TURN server\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"url\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-candidate.usernameFragment","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-candidate\", \"usernameFragment\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.codecId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"codecId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.fractionLost","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"fractionLost\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.jitter","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"jitter\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.kind","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"kind\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.localId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"localId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.packetsLost","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"packetsLost\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.packetsReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"packetsReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.roundTripTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"roundTripTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.roundTripTimeMeasurements","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"roundTripTimeMeasurements\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.ssrc","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"ssrc\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.totalRoundTripTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"totalRoundTripTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-inbound-rtp.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-inbound-rtp\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.bytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"bytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.codecId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"codecId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.kind","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"kind\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.localId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"localId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.packetsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"packetsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.remoteTimestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"remoteTimestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.reportsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"reportsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.roundTripTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"roundTripTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.roundTripTimeMeasurements","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"roundTripTimeMeasurements\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.ssrc","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"ssrc\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.totalRoundTripTime","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"totalRoundTripTime\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.transportId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"transportId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_remote-outbound-rtp.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"remote-outbound-rtp\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.bytesReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"bytesReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.bytesSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"bytesSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.dtlsCipher","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"dtlsCipher\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.dtlsRole","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"dtlsRole\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.dtlsState","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"dtlsState\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.iceLocalUsernameFragment","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"iceLocalUsernameFragment\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.iceRole","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"iceRole\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.iceState","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"iceState\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.id","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"id\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.localCertificateId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"localCertificateId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.packetsReceived","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"packetsReceived\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.packetsSent","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"packetsSent\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.remoteCertificateId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"remoteCertificateId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.selectedCandidatePairChanges","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"selectedCandidatePairChanges\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.selectedCandidatePairId","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"selectedCandidatePairId\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.srtpCipher","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"srtpCipher\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.timestamp","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"timestamp\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.tlsVersion","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"tlsVersion\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.type_transport.type","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!getStatByType(\"transport\", \"type\");\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCStatsReport.values","info":{"code":"(function () {\n  if (\n    reusableInstances.rtcStats === \"callback\" ||\n    reusableInstances.rtcStats === null\n  ) {\n    return { result: null, message: \"Could not generate RTC stats in time\" };\n  } else if (!reusableInstances.rtcStats) {\n    return { result: false, message: \"Could not generate RTC stats\" };\n  }\n\n  // The following object is created for easy access to individual stats entries\n  var stats = Array.from(reusableInstances.rtcStats.values());\n\n  // The following function is defined to help obtain individual stats types\n  // and entries\n  function getStatByType(type, entry) {\n    for (var i = 0; i < stats.length; i++) {\n      if (stats[i].type === type) {\n        if (!entry || !!stats[i][entry]) {\n          return stats[i];\n        }\n      }\n    }\n\n    return false;\n  }\n\n  var instance = reusableInstances.rtcStats;\n\n  // XXX There's a lot of issues with these tests\n  return {\n    result: null,\n    message:\n      \"These tests have been disabled due to too many issues. They will be re-enabled once the issues have been resolved.\"\n  };\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Could not generate RTC stats in time"},{"name":"api.RTCTrackEvent","info":{"code":"\"RTCTrackEvent\" in self","exposure":"Window"},"result":false},{"name":"api.RTCTrackEvent.RTCTrackEvent","info":{"code":"bcd.testConstructor('RTCTrackEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RTCTrackEvent is not defined"},{"name":"api.RTCTrackEvent.receiver","info":{"code":"\"RTCTrackEvent\" in self && \"receiver\" in RTCTrackEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCTrackEvent.streams","info":{"code":"\"RTCTrackEvent\" in self && \"streams\" in RTCTrackEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCTrackEvent.track","info":{"code":"\"RTCTrackEvent\" in self && \"track\" in RTCTrackEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RTCTrackEvent.transceiver","info":{"code":"\"RTCTrackEvent\" in self && \"transceiver\" in RTCTrackEvent.prototype","exposure":"Window"},"result":false},{"name":"api.RadioNodeList","info":{"code":"(function () {\n  var form = document.createElement(\"form\");\n  if (!form) {\n    return { result: false, message: \"form is falsy\" };\n  }\n  for (var i = 0; i < 3; i++) {\n    var input = document.createElement(\"input\");\n    input.value = i;\n    input.type = \"radio\";\n    input.name = \"radio\";\n    form.appendChild(input);\n  }\n  var instance = form.elements.namedItem(\"radio\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.RadioNodeList.value","info":{"code":"(function () {\n  var form = document.createElement(\"form\");\n  if (!form) {\n    return { result: false, message: \"form is falsy\" };\n  }\n  for (var i = 0; i < 3; i++) {\n    var input = document.createElement(\"input\");\n    input.value = i;\n    input.type = \"radio\";\n    input.name = \"radio\";\n    form.appendChild(input);\n  }\n  var instance = form.elements.namedItem(\"radio\");\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.Range","info":{"code":"bcd.testConstructor('Range')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Range is not defined"},{"name":"api.Range.cloneContents","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"cloneContents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.cloneRange","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"cloneRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.collapse","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"collapse\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.collapse.toStart_parameter_optional","info":{"code":"(function () {\n  var instance = document.createRange();\n  if (!(instance && instance.collapse)) {\n    return { result: false, message: \"instance.collapse is not defined\" };\n  }\n  try {\n    instance.collapse();\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.collapsed","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"collapsed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.commonAncestorContainer","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"commonAncestorContainer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.compareBoundaryPoints","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"compareBoundaryPoints\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.compareNode","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"compareNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.comparePoint","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"comparePoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.createContextualFragment","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"createContextualFragment\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.deleteContents","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"deleteContents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.detach","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"detach\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.endContainer","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"endContainer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.endOffset","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"endOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.extractContents","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"extractContents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.getBoundingClientRect","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"getBoundingClientRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.getClientRects","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"getClientRects\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.insertNode","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"insertNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.intersectsNode","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"intersectsNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.isPointInRange","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"isPointInRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.selectNode","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"selectNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.selectNodeContents","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"selectNodeContents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.setEnd","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"setEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.setEndAfter","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"setEndAfter\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.setEndBefore","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"setEndBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.setStart","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"setStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.setStartAfter","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"setStartAfter\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.setStartBefore","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"setStartBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.startContainer","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"startContainer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.startOffset","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"startOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.surroundContents","info":{"code":"(function () {\n  var instance = document.createRange();\n  return !!instance && \"surroundContents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Range.toString","info":{"code":"\"Range\" in self && \"toString\" in Range.prototype","exposure":"Window"},"result":false},{"name":"api.ReadableByteStreamController","info":{"code":"\"ReadableByteStreamController\" in self","exposure":"Window"},"result":true},{"name":"api.ReadableByteStreamController.byobRequest","info":{"code":"\"ReadableByteStreamController\" in self && \"byobRequest\" in ReadableByteStreamController.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableByteStreamController.close","info":{"code":"\"ReadableByteStreamController\" in self && \"close\" in ReadableByteStreamController.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableByteStreamController.desiredSize","info":{"code":"\"ReadableByteStreamController\" in self && \"desiredSize\" in ReadableByteStreamController.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableByteStreamController.enqueue","info":{"code":"\"ReadableByteStreamController\" in self && \"enqueue\" in ReadableByteStreamController.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableByteStreamController.error","info":{"code":"\"ReadableByteStreamController\" in self && \"error\" in ReadableByteStreamController.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStream.ReadableStream","info":{"code":"bcd.testConstructor('ReadableStream')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.ReadableStream.from_static","info":{"code":"\"ReadableStream\" in self && \"from\" in ReadableStream","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBReader","info":{"code":"\"ReadableStreamBYOBReader\" in self","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBReader.ReadableStreamBYOBReader","info":{"code":"bcd.testConstructor('ReadableStreamBYOBReader')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'ReadableStreamBYOBReader': 1 argument required, but only 0 present."},{"name":"api.ReadableStreamBYOBReader.cancel","info":{"code":"\"ReadableStreamBYOBReader\" in self && \"cancel\" in ReadableStreamBYOBReader.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBReader.closed","info":{"code":"\"ReadableStreamBYOBReader\" in self && \"closed\" in ReadableStreamBYOBReader.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBReader.read","info":{"code":"\"ReadableStreamBYOBReader\" in self && \"read\" in ReadableStreamBYOBReader.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBReader.releaseLock","info":{"code":"\"ReadableStreamBYOBReader\" in self && \"releaseLock\" in ReadableStreamBYOBReader.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBRequest","info":{"code":"\"ReadableStreamBYOBRequest\" in self","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBRequest.respond","info":{"code":"\"ReadableStreamBYOBRequest\" in self && \"respond\" in ReadableStreamBYOBRequest.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBRequest.respondWithNewView","info":{"code":"\"ReadableStreamBYOBRequest\" in self && \"respondWithNewView\" in ReadableStreamBYOBRequest.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamBYOBRequest.view","info":{"code":"\"ReadableStreamBYOBRequest\" in self && \"view\" in ReadableStreamBYOBRequest.prototype","exposure":"Window"},"result":true},{"name":"api.ReadableStreamDefaultController","info":{"code":"(function () {\n  if (!(\"ReadableStream\" in self)) {\n    return {\n      result: false,\n      message: \"ReadableStream constructor is not defined\"\n    };\n  }\n\n  var instance;\n  try {\n    var stream = new ReadableStream({\n      start(controller) {\n        instance = controller;\n      }\n    });\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ReadableStreamDefaultController.close","info":{"code":"(function () {\n  if (!(\"ReadableStream\" in self)) {\n    return {\n      result: false,\n      message: \"ReadableStream constructor is not defined\"\n    };\n  }\n\n  var instance;\n  try {\n    var stream = new ReadableStream({\n      start(controller) {\n        instance = controller;\n      }\n    });\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ReadableStreamDefaultController.desiredSize","info":{"code":"(function () {\n  if (!(\"ReadableStream\" in self)) {\n    return {\n      result: false,\n      message: \"ReadableStream constructor is not defined\"\n    };\n  }\n\n  var instance;\n  try {\n    var stream = new ReadableStream({\n      start(controller) {\n        instance = controller;\n      }\n    });\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n  return !!instance && \"desiredSize\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ReadableStreamDefaultController.enqueue","info":{"code":"(function () {\n  if (!(\"ReadableStream\" in self)) {\n    return {\n      result: false,\n      message: \"ReadableStream constructor is not defined\"\n    };\n  }\n\n  var instance;\n  try {\n    var stream = new ReadableStream({\n      start(controller) {\n        instance = controller;\n      }\n    });\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n  return !!instance && \"enqueue\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ReadableStreamDefaultController.error","info":{"code":"(function () {\n  if (!(\"ReadableStream\" in self)) {\n    return {\n      result: false,\n      message: \"ReadableStream constructor is not defined\"\n    };\n  }\n\n  var instance;\n  try {\n    var stream = new ReadableStream({\n      start(controller) {\n        instance = controller;\n      }\n    });\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ReadableStreamDefaultReader.ReadableStreamDefaultReader","info":{"code":"bcd.testConstructor('ReadableStreamDefaultReader')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'ReadableStreamDefaultReader': 1 argument required, but only 0 present."},{"name":"api.Rect","info":{"code":"\"Rect\" in self","exposure":"Window"},"result":false},{"name":"api.Rect.bottom","info":{"code":"\"Rect\" in self && \"bottom\" in Rect.prototype","exposure":"Window"},"result":false},{"name":"api.Rect.left","info":{"code":"\"Rect\" in self && \"left\" in Rect.prototype","exposure":"Window"},"result":false},{"name":"api.Rect.right","info":{"code":"\"Rect\" in self && \"right\" in Rect.prototype","exposure":"Window"},"result":false},{"name":"api.Rect.top","info":{"code":"\"Rect\" in self && \"top\" in Rect.prototype","exposure":"Window"},"result":false},{"name":"api.RelativeOrientationSensor","info":{"code":"\"RelativeOrientationSensor\" in self","exposure":"Window"},"result":false},{"name":"api.RelativeOrientationSensor.RelativeOrientationSensor","info":{"code":"bcd.testConstructor('RelativeOrientationSensor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: RelativeOrientationSensor is not defined"},{"name":"api.RemotePlayback","info":{"code":"\"RemotePlayback\" in self","exposure":"Window"},"result":false},{"name":"api.RemotePlayback.cancelWatchAvailability","info":{"code":"\"RemotePlayback\" in self && \"cancelWatchAvailability\" in RemotePlayback.prototype","exposure":"Window"},"result":false},{"name":"api.RemotePlayback.prompt","info":{"code":"\"RemotePlayback\" in self && \"prompt\" in RemotePlayback.prototype","exposure":"Window"},"result":false},{"name":"api.RemotePlayback.state","info":{"code":"\"RemotePlayback\" in self && \"state\" in RemotePlayback.prototype","exposure":"Window"},"result":false},{"name":"api.RemotePlayback.watchAvailability","info":{"code":"\"RemotePlayback\" in self && \"watchAvailability\" in RemotePlayback.prototype","exposure":"Window"},"result":false},{"name":"api.ReportingObserver","info":{"code":"\"ReportingObserver\" in self","exposure":"Window"},"result":false},{"name":"api.ReportingObserver.ReportingObserver","info":{"code":"bcd.testConstructor('ReportingObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ReportingObserver is not defined"},{"name":"api.ReportingObserver.disconnect","info":{"code":"\"ReportingObserver\" in self && \"disconnect\" in ReportingObserver.prototype","exposure":"Window"},"result":false},{"name":"api.ReportingObserver.observe","info":{"code":"\"ReportingObserver\" in self && \"observe\" in ReportingObserver.prototype","exposure":"Window"},"result":false},{"name":"api.ReportingObserver.takeRecords","info":{"code":"\"ReportingObserver\" in self && \"takeRecords\" in ReportingObserver.prototype","exposure":"Window"},"result":false},{"name":"api.Request","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.Request","info":{"code":"bcd.testConstructor('Request')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'Request': 1 argument required, but only 0 present."},{"name":"api.Request.Request.init_priority_parameter","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  function construct(options) {\n    new Request(\"https://example.com\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"priority\", \"auto\");\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.Request.init_referrer_parameter","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  function construct(options) {\n    new Request(\"https://example.com\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"referrer\", \"no-referrer\");\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.arrayBuffer","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"arrayBuffer\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.blob","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"blob\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.body","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"body\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.bodyUsed","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"bodyUsed\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.bytes","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"bytes\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.cache","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"cache\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.cache.only-if-cached","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  instance = new Request(\"https://example.com\", {\n    mode: \"same-origin\",\n    cache: \"only-if-cached\"\n  });\n  return instance.cache === \"only-if-cached\";\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.clone","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"clone\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.credentials","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"credentials\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.credentials.default_same-origin","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return instance.credentials === \"same-origin\";\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.destination","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"destination\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.duplex","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"duplex\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.formData","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"formData\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.headers","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"headers\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.integrity","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"integrity\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.isHistoryNavigation","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"isHistoryNavigation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.isReloadNavigation","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"isReloadNavigation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.json","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"json\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.keepalive","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"keepalive\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.method","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"method\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.mode","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"mode\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.redirect","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"redirect\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.referrer","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"referrer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.referrerPolicy","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.signal","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"signal\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.targetAddressSpace","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"targetAddressSpace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Request.text","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Request.url","info":{"code":"(function () {\n  if (!(\"Request\" in self)) {\n    return { result: false, message: \"Request is not defined\" };\n  }\n  var instance = new Request(\"https://example.com\");\n  return !!instance && \"url\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.ResizeObserver","info":{"code":"(function () {\n  if (!(\"ResizeObserver\" in self)) {\n    return { result: false, message: \"ResizeObserver is not defined\" };\n  }\n  var instance = new ResizeObserver(function () {});\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"ResizeObserver is not defined"},{"name":"api.ResizeObserver.ResizeObserver","info":{"code":"bcd.testConstructor('ResizeObserver')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ResizeObserver is not defined"},{"name":"api.ResizeObserver.disconnect","info":{"code":"(function () {\n  if (!(\"ResizeObserver\" in self)) {\n    return { result: false, message: \"ResizeObserver is not defined\" };\n  }\n  var instance = new ResizeObserver(function () {});\n  return !!instance && \"disconnect\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"ResizeObserver is not defined"},{"name":"api.ResizeObserver.observe","info":{"code":"(function () {\n  if (!(\"ResizeObserver\" in self)) {\n    return { result: false, message: \"ResizeObserver is not defined\" };\n  }\n  var instance = new ResizeObserver(function () {});\n  return !!instance && \"observe\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"ResizeObserver is not defined"},{"name":"api.ResizeObserver.observe.options_box_parameter","info":{"code":"(function () {\n  if (!(\"ResizeObserver\" in self)) {\n    return { result: false, message: \"ResizeObserver is not defined\" };\n  }\n  var instance = new ResizeObserver(function () {});\n  var el;\n  try {\n    el = document.createElementNS(\"\", \"el\");\n  } catch (e) {\n    el = document.createElement(\"b\");\n  }\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  if (!(\"observe\" in instance)) {\n    return { result: false, message: \"ResizeObserver.observe is not defined\" };\n  }\n  function observe(options) {\n    instance.observe(el, options);\n  }\n  return bcd.testOptionParam(observe, null, \"box\", \"content-box\");\n})();\n","exposure":"Window"},"result":false,"message":"ResizeObserver is not defined"},{"name":"api.ResizeObserver.unobserve","info":{"code":"(function () {\n  if (!(\"ResizeObserver\" in self)) {\n    return { result: false, message: \"ResizeObserver is not defined\" };\n  }\n  var instance = new ResizeObserver(function () {});\n  return !!instance && \"unobserve\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"ResizeObserver is not defined"},{"name":"api.ResizeObserverEntry","info":{"code":"\"ResizeObserverEntry\" in self","exposure":"Window"},"result":false},{"name":"api.ResizeObserverEntry.borderBoxSize","info":{"code":"\"ResizeObserverEntry\" in self && \"borderBoxSize\" in ResizeObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.ResizeObserverEntry.contentBoxSize","info":{"code":"\"ResizeObserverEntry\" in self && \"contentBoxSize\" in ResizeObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.ResizeObserverEntry.contentRect","info":{"code":"\"ResizeObserverEntry\" in self && \"contentRect\" in ResizeObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.ResizeObserverEntry.devicePixelContentBoxSize","info":{"code":"\"ResizeObserverEntry\" in self && \"devicePixelContentBoxSize\" in ResizeObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.ResizeObserverEntry.target","info":{"code":"\"ResizeObserverEntry\" in self && \"target\" in ResizeObserverEntry.prototype","exposure":"Window"},"result":false},{"name":"api.ResizeObserverSize","info":{"code":"\"ResizeObserverSize\" in self","exposure":"Window"},"result":false},{"name":"api.ResizeObserverSize.blockSize","info":{"code":"\"ResizeObserverSize\" in self && \"blockSize\" in ResizeObserverSize.prototype","exposure":"Window"},"result":false},{"name":"api.ResizeObserverSize.inlineSize","info":{"code":"\"ResizeObserverSize\" in self && \"inlineSize\" in ResizeObserverSize.prototype","exposure":"Window"},"result":false},{"name":"api.Response","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.Response","info":{"code":"bcd.testConstructor('Response')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.Response.Response.body_parameter_optional","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  try {\n    new Response();\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.arrayBuffer","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"arrayBuffer\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.blob","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"blob\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.body","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"body\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.body.readable_byte_stream","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  if (!instance.body) {\n    return { result: false, message: \"Response.body is not defined\" };\n  }\n  if (!(\"getReader\" in instance.body)) {\n    return { result: false, message: \"Response.body.getReader is not defined\" };\n  }\n  try {\n    instance.body.getReader({ mode: \"byob\" });\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":false,"message":"Cannot use a BYOB reader with a non-byte stream"},{"name":"api.Response.bodyUsed","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"bodyUsed\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.bytes","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"bytes\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.Response.clone","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"clone\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.error_static","info":{"code":"\"Response\" in self && \"error\" in Response","exposure":"Window"},"result":true},{"name":"api.Response.formData","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"formData\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.headers","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"headers\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.json","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"json\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.json_static","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return \"Response\" in self && \"json\" in Response;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.ok","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"ok\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.redirect_static","info":{"code":"\"Response\" in self && \"redirect\" in Response","exposure":"Window"},"result":true},{"name":"api.Response.redirected","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"redirected\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.status","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"status\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.statusText","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"statusText\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.text","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.type","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Response.url","info":{"code":"(function () {\n  if (!(\"Response\" in self)) {\n    return { result: false, message: \"Response is not defined\" };\n  }\n  var instance = new Response(\"\");\n  return !!instance && \"url\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.RestrictionTarget","info":{"code":"\"RestrictionTarget\" in self","exposure":"Window"},"result":false},{"name":"api.RestrictionTarget.fromElement_static","info":{"code":"\"RestrictionTarget\" in self && \"fromElement\" in RestrictionTarget","exposure":"Window"},"result":false},{"name":"api.Rewriter","info":{"code":"\"Rewriter\" in self","exposure":"Window"},"result":false},{"name":"api.Rewriter.availability_static","info":{"code":"\"Rewriter\" in self && \"availability\" in Rewriter","exposure":"Window"},"result":false},{"name":"api.Rewriter.create_static","info":{"code":"\"Rewriter\" in self && \"create\" in Rewriter","exposure":"Window"},"result":false},{"name":"api.Rewriter.destroy","info":{"code":"\"Rewriter\" in self && \"destroy\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.expectedContextLanguages","info":{"code":"\"Rewriter\" in self && \"expectedContextLanguages\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.expectedInputLanguages","info":{"code":"\"Rewriter\" in self && \"expectedInputLanguages\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.format","info":{"code":"\"Rewriter\" in self && \"format\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.inputQuota","info":{"code":"\"Rewriter\" in self && \"inputQuota\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.length","info":{"code":"\"Rewriter\" in self && \"length\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.measureInputUsage","info":{"code":"\"Rewriter\" in self && \"measureInputUsage\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.outputLanguage","info":{"code":"\"Rewriter\" in self && \"outputLanguage\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.rewrite","info":{"code":"\"Rewriter\" in self && \"rewrite\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.rewriteStreaming","info":{"code":"\"Rewriter\" in self && \"rewriteStreaming\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.sharedContext","info":{"code":"\"Rewriter\" in self && \"sharedContext\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.Rewriter.tone","info":{"code":"\"Rewriter\" in self && \"tone\" in Rewriter.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameDecrypterStream","info":{"code":"\"SFrameDecrypterStream\" in self","exposure":"Window"},"result":false},{"name":"api.SFrameDecrypterStream.SFrameDecrypterStream","info":{"code":"bcd.testConstructor('SFrameDecrypterStream')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SFrameDecrypterStream is not defined"},{"name":"api.SFrameDecrypterStream.readable","info":{"code":"\"SFrameDecrypterStream\" in self && \"readable\" in SFrameDecrypterStream.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameDecrypterStream.setEncryptionKey","info":{"code":"\"SFrameDecrypterStream\" in self && \"setEncryptionKey\" in SFrameDecrypterStream.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameDecrypterStream.writable","info":{"code":"\"SFrameDecrypterStream\" in self && \"writable\" in SFrameDecrypterStream.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameEncrypterStream","info":{"code":"\"SFrameEncrypterStream\" in self","exposure":"Window"},"result":false},{"name":"api.SFrameEncrypterStream.SFrameEncrypterStream","info":{"code":"bcd.testConstructor('SFrameEncrypterStream')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SFrameEncrypterStream is not defined"},{"name":"api.SFrameEncrypterStream.readable","info":{"code":"\"SFrameEncrypterStream\" in self && \"readable\" in SFrameEncrypterStream.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameEncrypterStream.setEncryptionKey","info":{"code":"\"SFrameEncrypterStream\" in self && \"setEncryptionKey\" in SFrameEncrypterStream.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameEncrypterStream.writable","info":{"code":"\"SFrameEncrypterStream\" in self && \"writable\" in SFrameEncrypterStream.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameTransform","info":{"code":"\"SFrameTransform\" in self","exposure":"Window"},"result":false},{"name":"api.SFrameTransform.SFrameTransform","info":{"code":"bcd.testConstructor('SFrameTransform')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SFrameTransform is not defined"},{"name":"api.SFrameTransform.setEncryptionKey","info":{"code":"\"SFrameTransform\" in self && \"setEncryptionKey\" in SFrameTransform.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameTransformErrorEvent","info":{"code":"\"SFrameTransformErrorEvent\" in self","exposure":"Window"},"result":false},{"name":"api.SFrameTransformErrorEvent.SFrameTransformErrorEvent","info":{"code":"bcd.testConstructor('SFrameTransformErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SFrameTransformErrorEvent is not defined"},{"name":"api.SFrameTransformErrorEvent.errorType","info":{"code":"\"SFrameTransformErrorEvent\" in self && \"errorType\" in SFrameTransformErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameTransformErrorEvent.frame","info":{"code":"\"SFrameTransformErrorEvent\" in self && \"frame\" in SFrameTransformErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.SFrameTransformErrorEvent.keyID","info":{"code":"\"SFrameTransformErrorEvent\" in self && \"keyID\" in SFrameTransformErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.SVGAElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return bcd.testObjectName(instance, \"SVGAElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.download","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"download\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.hash","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"hash\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.host","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"host\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.hostname","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"hostname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.hreflang","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"hreflang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.origin","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"origin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.password","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"password\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.pathname","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"pathname\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.ping","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"ping\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.port","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.protocol","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.referrerPolicy","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"referrerPolicy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.rel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"rel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.relList","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"relList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.search","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"search\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.target","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"target\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.type","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAElement.username","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n  return !!instance && \"username\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle.convertToSpecifiedUnits","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance && \"convertToSpecifiedUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle.newValueSpecifiedUnits","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance && \"newValueSpecifiedUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle.unitType","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance && \"unitType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle.value","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle.valueAsString","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance && \"valueAsString\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAngle.valueInSpecifiedUnits","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGAngle();\n  return !!instance && \"valueInSpecifiedUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimateColorElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animateColor\"\n  );\n  return bcd.testObjectName(instance, \"SVGAnimateColorElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimateElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return bcd.testObjectName(instance, \"SVGAnimateElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimateMotionElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animateMotion\"\n  );\n  return bcd.testObjectName(instance, \"SVGAnimateMotionElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimateTransformElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animateTransform\"\n  );\n  return bcd.testObjectName(instance, \"SVGAnimateTransformElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedAngle","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orientAngle;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedAngle.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orientAngle;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedAngle.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orientAngle;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedBoolean","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAlpha;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedBoolean.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAlpha;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedBoolean.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAlpha;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedEnumeration","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orientType;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedEnumeration.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orientType;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedEnumeration.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orientType;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedInteger","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orderX;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedInteger.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orderX;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedInteger.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.orderX;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedLength","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.refX;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedLength.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.refX;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedLength.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"marker\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.refX;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedLengthList","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.x;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedLengthList.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.x;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedLengthList.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.x;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedNumber","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"stop\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.offset;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedNumber.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"stop\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.offset;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedNumber.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"stop\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.offset;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedNumberList","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.kernelMatrix;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedNumberList.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.kernelMatrix;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedNumberList.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.kernelMatrix;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedPreserveAspectRatio","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"feImage\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAspectRatio;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedPreserveAspectRatio.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"feImage\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAspectRatio;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedPreserveAspectRatio.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"feImage\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAspectRatio;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedRect","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.viewBox;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedRect.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.viewBox;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedRect.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.viewBox;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedString","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.className;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedString.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.className;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedString.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"title\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.className;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedTransformList","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.transform;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedTransformList.animVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.transform;\n  return !!instance && \"animVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimatedTransformList.baseVal","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.transform;\n  return !!instance && \"baseVal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return bcd.testObjectName(instance, \"SVGAnimateElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.beginElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"beginElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.beginElementAt","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"beginElementAt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.endElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"endElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.endElementAt","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"endElementAt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.getCurrentTime","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"getCurrentTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.getSimpleDuration","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"getSimpleDuration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.getStartTime","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"getStartTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.requiredExtensions","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"requiredExtensions\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.systemLanguage","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"systemLanguage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGAnimationElement.targetElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"animate\"\n  );\n  return !!instance && \"targetElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGCircleElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"circle\"\n  );\n  return bcd.testObjectName(instance, \"SVGCircleElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGCircleElement.cx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"circle\"\n  );\n  return !!instance && \"cx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGCircleElement.cy","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"circle\"\n  );\n  return !!instance && \"cy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGCircleElement.r","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"circle\"\n  );\n  return !!instance && \"r\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGClipPathElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"clipPath\"\n  );\n  return bcd.testObjectName(instance, \"SVGClipPathElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGClipPathElement.clipPathUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"clipPath\"\n  );\n  return !!instance && \"clipPathUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGClipPathElement.transform","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"clipPath\"\n  );\n  return !!instance && \"transform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEFuncAElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.amplitude","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"amplitude\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.exponent","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"exponent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.intercept","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"intercept\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.offset","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"offset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.slope","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"slope\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.tableValues","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"tableValues\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGComponentTransferFunctionElement.type","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGDefsElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"defs\");\n  return bcd.testObjectName(instance, \"SVGDefsElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGDescElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"desc\");\n  return bcd.testObjectName(instance, \"SVGDescElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.attributeStyleMap","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"attributeStyleMap\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.autofocus","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"autofocus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.blur","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"blur\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.className","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"className\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.correspondingElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"correspondingElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.correspondingUseElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"correspondingUseElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.dataset","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"dataset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.focus","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"focus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.focus.options_preventScroll_parameter","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return bcd.testOptionParam(instance, \"focus\", \"preventScroll\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.nonce","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"nonce\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.ownerSVGElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"ownerSVGElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.style","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"style\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.tabIndex","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"tabIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGElement.viewportElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return !!instance && \"viewportElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGEllipseElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"ellipse\"\n  );\n  return bcd.testObjectName(instance, \"SVGEllipseElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGEllipseElement.cx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"ellipse\"\n  );\n  return !!instance && \"cx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGEllipseElement.cy","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"ellipse\"\n  );\n  return !!instance && \"cy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGEllipseElement.rx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"ellipse\"\n  );\n  return !!instance && \"rx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGEllipseElement.ry","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"ellipse\"\n  );\n  return !!instance && \"ry\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEBlendElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.in2","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"in2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.mode","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"mode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEBlendElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feBlend\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEColorMatrixElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.type","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.values","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEColorMatrixElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feColorMatrix\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEComponentTransferElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEComponentTransferElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComponentTransfer\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return bcd.testObjectName(instance, \"SVGFECompositeElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.in2","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"in2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.k1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"k1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.k2","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"k2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.k3","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"k3\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.k4","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"k4\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.operator","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"operator\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFECompositeElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feComposite\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEConvolveMatrixElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.bias","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"bias\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.divisor","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"divisor\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.edgeMode","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"edgeMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.kernelMatrix","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"kernelMatrix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.kernelUnitLengthX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"kernelUnitLengthX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.kernelUnitLengthY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"kernelUnitLengthY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.orderX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"orderX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.orderY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"orderY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.preserveAlpha","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"preserveAlpha\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.targetX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"targetX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.targetY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"targetY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEConvolveMatrixElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEDiffuseLightingElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.diffuseConstant","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"diffuseConstant\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.kernelUnitLengthX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"kernelUnitLengthX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.kernelUnitLengthY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"kernelUnitLengthY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.surfaceScale","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"surfaceScale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDiffuseLightingElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDiffuseLighting\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEDisplacementMapElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.in2","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"in2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.scale","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"scale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.xChannelSelector","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"xChannelSelector\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDisplacementMapElement.yChannelSelector","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDisplacementMap\"\n  );\n  return !!instance && \"yChannelSelector\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDistantLightElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDistantLight\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEDistantLightElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDistantLightElement.azimuth","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDistantLight\"\n  );\n  return !!instance && \"azimuth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDistantLightElement.elevation","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDistantLight\"\n  );\n  return !!instance && \"elevation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEDropShadowElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.dx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"dx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.dy","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"dy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.setStdDeviation","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"setStdDeviation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.stdDeviationX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"stdDeviationX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.stdDeviationY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"stdDeviationY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEDropShadowElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feDropShadow\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFloodElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFlood\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEFloodElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFloodElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFlood\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFloodElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFlood\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFloodElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFlood\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFloodElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFlood\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFloodElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFlood\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFuncAElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncA\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEFuncAElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFuncBElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncB\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEFuncBElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFuncGElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncG\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEFuncGElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEFuncRElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feFuncR\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEFuncRElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEGaussianBlurElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.edgeMode","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"edgeMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.setStdDeviation","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"setStdDeviation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.stdDeviationX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"stdDeviationX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.stdDeviationY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"stdDeviationY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEGaussianBlurElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feGaussianBlur\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEImageElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEImageElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feImage\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMerge\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEMergeElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMerge\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMerge\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMerge\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMerge\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMerge\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeNodeElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMergeNode\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEMergeNodeElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMergeNodeElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMergeNode\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEMorphologyElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.operator","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"operator\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.radiusX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"radiusX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.radiusY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"radiusY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEMorphologyElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feMorphology\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEOffsetElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.dx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"dx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.dy","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"dy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEOffsetElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feOffset\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEPointLightElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"fePointLight\"\n  );\n  return bcd.testObjectName(instance, \"SVGFEPointLightElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEPointLightElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"fePointLight\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEPointLightElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"fePointLight\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFEPointLightElement.z","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"fePointLight\"\n  );\n  return !!instance && \"z\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return bcd.testObjectName(instance, \"SVGFESpecularLightingElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.kernelUnitLengthX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"kernelUnitLengthX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.kernelUnitLengthY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"kernelUnitLengthY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.specularConstant","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"specularConstant\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.specularExponent","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"specularExponent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.surfaceScale","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"surfaceScale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpecularLightingElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpecularLighting\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return bcd.testObjectName(instance, \"SVGFESpotLightElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.limitingConeAngle","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"limitingConeAngle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.pointsAtX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"pointsAtX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.pointsAtY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"pointsAtY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.pointsAtZ","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"pointsAtZ\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.specularExponent","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"specularExponent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFESpotLightElement.z","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feSpotLight\"\n  );\n  return !!instance && \"z\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return bcd.testObjectName(instance, \"SVGFETileElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement.in1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return !!instance && \"in1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETileElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTile\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return bcd.testObjectName(instance, \"SVGFETurbulenceElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.baseFrequencyX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"baseFrequencyX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.baseFrequencyY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"baseFrequencyY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.numOctaves","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"numOctaves\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.result","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"result\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.seed","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"seed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.stitchTiles","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"stitchTiles\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.type","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFETurbulenceElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feTurbulence\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return bcd.testObjectName(instance, \"SVGFilterElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.filterUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"filterUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.primitiveUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"primitiveUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGFilterElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"filter\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGForeignObjectElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"foreignObject\"\n  );\n  return bcd.testObjectName(instance, \"SVGForeignObjectElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGForeignObjectElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"foreignObject\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGForeignObjectElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"foreignObject\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGForeignObjectElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"foreignObject\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGForeignObjectElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"foreignObject\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n  return bcd.testObjectName(instance, \"SVGGElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return bcd.testObjectName(instance, \"SVGPathElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.getPointAtLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getPointAtLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.getTotalLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getTotalLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.isPointInFill","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"isPointInFill\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.isPointInFill.point_parameter_DOMPoint","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  try {\n    instance.isPointInFill(new DOMPoint(20, 20));\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.isPointInStroke","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"isPointInStroke\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.isPointInStroke.point_parameter_DOMPoint","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  try {\n    instance.isPointInStroke(new DOMPoint(20, 20));\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGeometryElement.pathLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"pathLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGradientElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return bcd.testObjectName(instance, \"SVGLinearGradientElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGradientElement.gradientTransform","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"gradientTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGradientElement.gradientUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"gradientUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGradientElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGradientElement.spreadMethod","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"spreadMethod\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn bcd.testObjectName(instance, 'SVGImageElement');\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement.getBBox","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"getBBox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement.getCTM","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"getCTM\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement.getScreenCTM","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"getScreenCTM\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement.requiredExtensions","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"requiredExtensions\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement.systemLanguage","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"systemLanguage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGGraphicsElement.transform","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"transform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn bcd.testObjectName(instance, 'SVGImageElement');\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.decode","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"decode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.decoding","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"decoding\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGImageElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"image\"\n  );\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain testsreturn !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength.convertToSpecifiedUnits","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance && \"convertToSpecifiedUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength.newValueSpecifiedUnits","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance && \"newValueSpecifiedUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength.unitType","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance && \"unitType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength.value","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength.valueAsString","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance && \"valueAsString\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLength.valueInSpecifiedUnits","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGLength();\n  return !!instance && \"valueInSpecifiedUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.appendItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"appendItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.clear","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.getItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"getItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.initialize","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"initialize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.insertItemBefore","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"insertItemBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.length","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.numberOfItems","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"numberOfItems\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.removeItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"removeItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLengthList.replaceItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.x;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"replaceItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLineElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n  return bcd.testObjectName(instance, \"SVGLineElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLineElement.x1","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n  return !!instance && \"x1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLineElement.x2","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n  return !!instance && \"x2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLineElement.y1","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n  return !!instance && \"y1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLineElement.y2","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n  return !!instance && \"y2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLinearGradientElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return bcd.testObjectName(instance, \"SVGLinearGradientElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLinearGradientElement.x1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"x1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLinearGradientElement.x2","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"x2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLinearGradientElement.y1","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"y1\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGLinearGradientElement.y2","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"linearGradient\"\n  );\n  return !!instance && \"y2\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMPathElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"mpath\"\n  );\n  return bcd.testObjectName(instance, \"SVGMPathElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMPathElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"mpath\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return bcd.testObjectName(instance, \"SVGMarkerElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.markerHeight","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"markerHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.markerUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"markerUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.markerWidth","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"markerWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.orient","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"orient\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.orientAngle","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"orientAngle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.orientType","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"orientType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.refX","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"refX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.refY","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"refY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.setOrientToAngle","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"setOrientToAngle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.setOrientToAuto","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"setOrientToAuto\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMarkerElement.viewBox","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"marker\"\n  );\n  return !!instance && \"viewBox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return bcd.testObjectName(instance, \"SVGMaskElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement.maskContentUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return !!instance && \"maskContentUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement.maskUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return !!instance && \"maskUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMaskElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"mask\");\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGMetadataElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"metadata\"\n  );\n  return bcd.testObjectName(instance, \"SVGMetadataElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumber","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGNumber();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumber.value","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGNumber();\n  return !!instance && \"value\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.appendItem","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"appendItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.clear","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.getItem","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"getItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.initialize","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"initialize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.insertItemBefore","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"insertItemBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.length","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.numberOfItems","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"numberOfItems\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.removeItem","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"removeItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGNumberList.replaceItem","info":{"code":"(function () {\n  var el = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"feConvolveMatrix\"\n  );\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.kernelMatrix;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"replaceItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return bcd.testObjectName(instance, \"SVGPathElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegArcAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegArcAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegArcRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegArcRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegClosePath","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegClosePath\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoCubicAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoCubicAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoCubicRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoCubicRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoCubicSmoothAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoCubicSmoothAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoCubicSmoothRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoCubicSmoothRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoQuadraticAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoQuadraticAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoQuadraticRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoQuadraticRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoQuadraticSmoothAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoQuadraticSmoothAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegCurvetoQuadraticSmoothRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegCurvetoQuadraticSmoothRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegLinetoAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegLinetoAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegLinetoHorizontalAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegLinetoHorizontalAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegLinetoHorizontalRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegLinetoHorizontalRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegLinetoRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegLinetoRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegLinetoVerticalAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegLinetoVerticalAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegLinetoVerticalRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegLinetoVerticalRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegMovetoAbs","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegMovetoAbs\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.createSVGPathSegMovetoRel","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"createSVGPathSegMovetoRel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.getPathData","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getPathData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.getPathSegAtLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getPathSegAtLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.getPathSegmentAtLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getPathSegmentAtLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.getPointAtLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getPointAtLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.getTotalLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"getTotalLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.pathLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"pathLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathElement.setPathData","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n  return !!instance && \"setPathData\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPathSegment","info":{"code":"\"SVGPathSegment\" in self","exposure":"Window"},"result":false},{"name":"api.SVGPathSegment.type","info":{"code":"\"SVGPathSegment\" in self && \"type\" in SVGPathSegment.prototype","exposure":"Window"},"result":false},{"name":"api.SVGPathSegment.values","info":{"code":"\"SVGPathSegment\" in self && \"values\" in SVGPathSegment.prototype","exposure":"Window"},"result":false},{"name":"api.SVGPatternElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return bcd.testObjectName(instance, \"SVGPatternElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.patternContentUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"patternContentUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.patternTransform","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"patternTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.patternUnits","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"patternUnits\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.viewBox","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"viewBox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPatternElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"pattern\"\n  );\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPoint","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGPoint();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPoint.matrixTransform","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGPoint();\n  return !!instance && \"matrixTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPoint.x","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGPoint();\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPoint.y","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGPoint();\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.appendItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"appendItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.clear","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.getItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"getItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.initialize","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"initialize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.insertItemBefore","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"insertItemBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.length","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.numberOfItems","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"numberOfItems\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.removeItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"removeItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPointList.replaceItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"polygon\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.points;\n  return !!instance && \"replaceItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPolygonElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"polygon\"\n  );\n  return bcd.testObjectName(instance, \"SVGPolygonElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPolygonElement.animatedPoints","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"polygon\"\n  );\n  return !!instance && \"animatedPoints\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPolygonElement.points","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"polygon\"\n  );\n  return !!instance && \"points\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPolylineElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"polyline\"\n  );\n  return bcd.testObjectName(instance, \"SVGPolylineElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPolylineElement.animatedPoints","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"polyline\"\n  );\n  return !!instance && \"animatedPoints\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPolylineElement.points","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"polyline\"\n  );\n  return !!instance && \"points\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPreserveAspectRatio","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAspectRatio.baseVal;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPreserveAspectRatio.align","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAspectRatio.baseVal;\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGPreserveAspectRatio.meetOrSlice","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.preserveAspectRatio.baseVal;\n  return !!instance && \"meetOrSlice\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return bcd.testObjectName(instance, \"SVGRadialGradientElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement.cx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return !!instance && \"cx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement.cy","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return !!instance && \"cy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement.fr","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return !!instance && \"fr\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement.fx","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return !!instance && \"fx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement.fy","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return !!instance && \"fy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRadialGradientElement.r","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"radialGradient\"\n  );\n  return !!instance && \"r\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRect","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGRect();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRect.height","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGRect();\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRect.width","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGRect();\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRect.x","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGRect();\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRect.y","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGRect();\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return bcd.testObjectName(instance, \"SVGRectElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement.rx","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return !!instance && \"rx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement.ry","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return !!instance && \"ry\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRectElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGRenderingIntent","info":{"code":"\"SVGRenderingIntent\" in self","exposure":"Window"},"result":false},{"name":"api.SVGSVGElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return bcd.testObjectName(instance, \"SVGSVGElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.animationsPaused","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"animationsPaused\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.checkEnclosure","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"checkEnclosure\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.checkIntersection","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"checkIntersection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGAngle","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGAngle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGMatrix","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGMatrix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGNumber","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGNumber\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGPoint","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGRect","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGRect\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGTransform","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGTransform\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.createSVGTransformFromMatrix","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"createSVGTransformFromMatrix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.currentScale","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"currentScale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.currentTranslate","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"currentTranslate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.currentView","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"currentView\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.deselectAll","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"deselectAll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.forceRedraw","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"forceRedraw\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.getCurrentTime","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"getCurrentTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.getElementById","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"getElementById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.getEnclosureList","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"getEnclosureList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.getIntersectionList","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"getIntersectionList\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.pauseAnimations","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"pauseAnimations\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.setCurrentTime","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"setCurrentTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.suspendRedraw","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"suspendRedraw\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.unpauseAnimations","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"unpauseAnimations\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.unsuspendRedraw","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"unsuspendRedraw\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.unsuspendRedrawAll","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"unsuspendRedrawAll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.useCurrentView","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"useCurrentView\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.viewBox","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"viewBox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSVGElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGScriptElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"script\"\n  );\n  return bcd.testObjectName(instance, \"SVGScriptElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGScriptElement.async","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"script\"\n  );\n  return !!instance && \"async\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGScriptElement.crossOrigin","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"script\"\n  );\n  return !!instance && \"crossOrigin\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGScriptElement.defer","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"script\"\n  );\n  return !!instance && \"defer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGScriptElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"script\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGScriptElement.type","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"script\"\n  );\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSetElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"set\");\n  return bcd.testObjectName(instance, \"SVGSetElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStopElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"stop\");\n  return bcd.testObjectName(instance, \"SVGStopElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStopElement.offset","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"stop\");\n  return !!instance && \"offset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.appendItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"appendItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.clear","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.getItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"getItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.initialize","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"initialize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.insertItemBefore","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"insertItemBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.length","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.numberOfItems","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"numberOfItems\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.removeItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"removeItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStringList.replaceItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.systemLanguage;\n  return !!instance && \"replaceItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStyleElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"style\"\n  );\n  return bcd.testObjectName(instance, \"SVGStyleElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStyleElement.disabled","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"style\"\n  );\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStyleElement.media","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"style\"\n  );\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStyleElement.sheet","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"style\"\n  );\n  return !!instance && \"sheet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStyleElement.title","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"style\"\n  );\n  return !!instance && \"title\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGStyleElement.type","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"style\"\n  );\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSwitchElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"switch\"\n  );\n  return bcd.testObjectName(instance, \"SVGSwitchElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSymbolElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"symbol\"\n  );\n  return bcd.testObjectName(instance, \"SVGSymbolElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSymbolElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"symbol\"\n  );\n  return !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGSymbolElement.viewBox","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"symbol\"\n  );\n  return !!instance && \"viewBox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTSpanElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"tspan\"\n  );\n  return bcd.testObjectName(instance, \"SVGTSpanElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return bcd.testObjectName(instance, \"SVGTextElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getCharNumAtPosition","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getCharNumAtPosition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getComputedTextLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getComputedTextLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getEndPositionOfChar","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getEndPositionOfChar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getExtentOfChar","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getExtentOfChar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getNumberOfChars","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getNumberOfChars\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getRotationOfChar","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getRotationOfChar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getStartPositionOfChar","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getStartPositionOfChar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.getSubStringLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"getSubStringLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.lengthAdjust","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"lengthAdjust\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.selectSubString","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"selectSubString\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextContentElement.textLength","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"textLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return bcd.testObjectName(instance, \"SVGTextElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPathElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"textPath\"\n  );\n  return bcd.testObjectName(instance, \"SVGTextPathElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPathElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"textPath\"\n  );\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPathElement.method","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"textPath\"\n  );\n  return !!instance && \"method\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPathElement.spacing","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"textPath\"\n  );\n  return !!instance && \"spacing\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPathElement.startOffset","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"textPath\"\n  );\n  return !!instance && \"startOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPositioningElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return bcd.testObjectName(instance, \"SVGTextElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPositioningElement.dx","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"dx\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPositioningElement.dy","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"dy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPositioningElement.rotate","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"rotate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPositioningElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTextPositioningElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTitleElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\n    \"http://www.w3.org/2000/svg\",\n    \"title\"\n  );\n  return bcd.testObjectName(instance, \"SVGTitleElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.angle","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"angle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.matrix","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"matrix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.setMatrix","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"setMatrix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.setRotate","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"setRotate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.setScale","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"setScale\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.setSkewX","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"setSkewX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.setSkewY","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"setSkewY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.setTranslate","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"setTranslate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransform.type","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.createSVGTransform();\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.appendItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"appendItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.clear","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.consolidate","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"consolidate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.createSVGTransformFromMatrix","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"createSVGTransformFromMatrix\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.getItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"getItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.initialize","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"initialize\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.insertItemBefore","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"insertItemBefore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.length","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.numberOfItems","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"numberOfItems\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.removeItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"removeItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGTransformList.replaceItem","info":{"code":"(function () {\n  var el = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var list = el.transform;\n  if (!list) {\n    return { result: false, message: \"list is falsy\" };\n  }\n  var instance = list.baseVal;\n  return !!instance && \"replaceItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUnitTypes","info":{"code":"\"SVGUnitTypes\" in self","exposure":"Window"},"result":false},{"name":"api.SVGUseElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return bcd.testObjectName(instance, \"SVGUseElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.animatedInstanceRoot","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"animatedInstanceRoot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.height","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.href","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.instanceRoot","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"instanceRoot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.width","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.x","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"x\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElement.y","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"use\");\n  return !!instance && \"y\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGUseElementShadowRoot","info":{"code":"\"SVGUseElementShadowRoot\" in self","exposure":"Window"},"result":false},{"name":"api.SVGViewElement","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"view\");\n  return bcd.testObjectName(instance, \"SVGViewElement\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGViewElement.preserveAspectRatio","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"view\");\n  return !!instance && \"preserveAspectRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SVGViewElement.viewBox","info":{"code":"(function () {\n  var instance = document.createElementNS(\"http://www.w3.org/2000/svg\", \"view\");\n  return !!instance && \"viewBox\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Sanitizer","info":{"code":"\"Sanitizer\" in self","exposure":"Window"},"result":false},{"name":"api.Sanitizer.Sanitizer","info":{"code":"bcd.testConstructor('Sanitizer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Sanitizer is not defined"},{"name":"api.Sanitizer.allowAttribute","info":{"code":"\"Sanitizer\" in self && \"allowAttribute\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.allowElement","info":{"code":"\"Sanitizer\" in self && \"allowElement\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.get","info":{"code":"\"Sanitizer\" in self && \"get\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.removeAttribute","info":{"code":"\"Sanitizer\" in self && \"removeAttribute\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.removeElement","info":{"code":"\"Sanitizer\" in self && \"removeElement\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.removeUnsafe","info":{"code":"\"Sanitizer\" in self && \"removeUnsafe\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.replaceElementWithChildren","info":{"code":"\"Sanitizer\" in self && \"replaceElementWithChildren\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.setComments","info":{"code":"\"Sanitizer\" in self && \"setComments\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Sanitizer.setDataAttributes","info":{"code":"\"Sanitizer\" in self && \"setDataAttributes\" in Sanitizer.prototype","exposure":"Window"},"result":false},{"name":"api.Scheduler","info":{"code":"\"Scheduler\" in self","exposure":"Window"},"result":false},{"name":"api.Scheduler.postTask","info":{"code":"\"Scheduler\" in self && \"postTask\" in Scheduler.prototype","exposure":"Window"},"result":false},{"name":"api.Scheduler.yield","info":{"code":"\"Scheduler\" in self && \"yield\" in Scheduler.prototype","exposure":"Window"},"result":false},{"name":"api.Scheduling","info":{"code":"\"Scheduling\" in self","exposure":"Window"},"result":false},{"name":"api.Scheduling.isInputPending","info":{"code":"\"Scheduling\" in self && \"isInputPending\" in Scheduling.prototype","exposure":"Window"},"result":false},{"name":"api.Screen","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.availHeight","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"availHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.availLeft","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"availLeft\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.availTop","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"availTop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.availWidth","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"availWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.colorDepth","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"colorDepth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.height","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"height\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.isExtended","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"isExtended\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.left","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"left\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.lockOrientation","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"lockOrientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.mozBrightness","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"mozBrightness\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.mozEnabled","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"mozEnabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.orientation","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"orientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.pixelDepth","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"pixelDepth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.top","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"top\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.unlockOrientation","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"unlockOrientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Screen.width","info":{"code":"(function () {\n  var instance = window.screen;\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.ScreenDetailed","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.availLeft","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"availLeft\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.availTop","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"availTop\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.devicePixelRatio","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"devicePixelRatio\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.isInternal","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"isInternal\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.isPrimary","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"isPrimary\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.label","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.left","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"left\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetailed.top","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetailed\" in self)) {\n    return { result: false, message: \"ScreenDetailed is not defined\" };\n  }\n  var instance = ScreenDetailed.prototype;\n  return !!instance && \"top\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetails","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetails\" in self)) {\n    return { result: false, message: \"ScreenDetails is not defined\" };\n  }\n  var instance = ScreenDetails.prototype;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetails.currentScreen","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetails\" in self)) {\n    return { result: false, message: \"ScreenDetails is not defined\" };\n  }\n  var instance = ScreenDetails.prototype;\n  return !!instance && \"currentScreen\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenDetails.screens","info":{"code":"(function () {\n  // Chrome Android had exposed the API without support\n  if (!(\"getScreenDetails\" in self)) {\n    return { result: false, message: \"window.getScreenDetails is not defined\" };\n  }\n  // window.getScreenDetails() requires user action, so we'll avoid running it\n  if (!(\"ScreenDetails\" in self)) {\n    return { result: false, message: \"ScreenDetails is not defined\" };\n  }\n  var instance = ScreenDetails.prototype;\n  return !!instance && \"screens\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"window.getScreenDetails is not defined"},{"name":"api.ScreenOrientation","info":{"code":"\"ScreenOrientation\" in self","exposure":"Window"},"result":false},{"name":"api.ScreenOrientation.angle","info":{"code":"\"ScreenOrientation\" in self && \"angle\" in ScreenOrientation.prototype","exposure":"Window"},"result":false},{"name":"api.ScreenOrientation.lock","info":{"code":"\"ScreenOrientation\" in self && \"lock\" in ScreenOrientation.prototype","exposure":"Window"},"result":false},{"name":"api.ScreenOrientation.type","info":{"code":"\"ScreenOrientation\" in self && \"type\" in ScreenOrientation.prototype","exposure":"Window"},"result":false},{"name":"api.ScreenOrientation.unlock","info":{"code":"\"ScreenOrientation\" in self && \"unlock\" in ScreenOrientation.prototype","exposure":"Window"},"result":false},{"name":"api.ScriptProcessorNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createScriptProcessor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createScriptProcessor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createScriptProcessor();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ScriptProcessorNode.bufferSize","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createScriptProcessor\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createScriptProcessor is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createScriptProcessor();\n  return !!instance && \"bufferSize\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.ScrollTimeline","info":{"code":"\"ScrollTimeline\" in self","exposure":"Window"},"result":false},{"name":"api.ScrollTimeline.ScrollTimeline","info":{"code":"bcd.testConstructor('ScrollTimeline')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ScrollTimeline is not defined"},{"name":"api.ScrollTimeline.axis","info":{"code":"\"ScrollTimeline\" in self && \"axis\" in ScrollTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.ScrollTimeline.source","info":{"code":"\"ScrollTimeline\" in self && \"source\" in ScrollTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.SecurityPolicyViolationEvent","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.SecurityPolicyViolationEvent","info":{"code":"bcd.testConstructor('SecurityPolicyViolationEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.blockedURI","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"blockedURI\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.columnNumber","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"columnNumber\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.disposition","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"disposition\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.documentURI","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"documentURI\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.effectiveDirective","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"effectiveDirective\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.lineNumber","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"lineNumber\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.originalPolicy","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"originalPolicy\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.referrer","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"referrer\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.sample","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"sample\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.sourceFile","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"sourceFile\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.statusCode","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"statusCode\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.SecurityPolicyViolationEvent.violatedDirective","info":{"code":"(function () {\n  bcd.skipIf(\"Constructing this event causes the page to reload\", \"edge\", \"15\");\n\n  if (!(\"SecurityPolicyViolationEvent\" in self)) {\n    return {\n      result: false,\n      message: \"SecurityPolicyViolationEvent is not defined\"\n    };\n  }\n  var instance = new SecurityPolicyViolationEvent(\"securitypolicyviolation\");\n  return !!instance && \"violatedDirective\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SecurityPolicyViolationEvent is not defined"},{"name":"api.Selection","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.addRange","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"addRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.anchorNode","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"anchorNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.anchorOffset","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"anchorOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.collapse","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"collapse\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.collapse.node_parameter_nullable","info":{"code":"(function () {\n  var instance = window.getSelection();\n  try {\n    if (!(instance && instance.collapse)) {\n      return { result: false, message: \"instance.collapse is not defined\" };\n    }\n    instance.collapse(null);\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.collapse.offset_parameter_optional","info":{"code":"(function () {\n  var instance = window.getSelection();\n  try {\n    if (!(instance && instance.collapse)) {\n      return { result: false, message: \"instance.collapse is not defined\" };\n    }\n    instance.collapse(document.createElement(\"p\"));\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.collapseToEnd","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"collapseToEnd\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.collapseToStart","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"collapseToStart\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.containsNode","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"containsNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.containsNode.partialContainment_parameter_optional","info":{"code":"(function () {\n  var instance = window.getSelection();\n  try {\n    if (!(instance && instance.containsNode)) {\n      return { result: false, message: \"instance.containsNode is not defined\" };\n    }\n    instance.containsNode(document.createElement(\"p\"));\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.deleteFromDocument","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"deleteFromDocument\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.direction","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"direction\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.empty","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"empty\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.extend","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"extend\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.extend.offset_parameter_optional","info":{"code":"(function () {\n  var instance = window.getSelection();\n  try {\n    if (!(instance && instance.extend)) {\n      return { result: false, message: \"instance.extend is not defined\" };\n    }\n    instance.extend(document.createElement(\"p\"));\n    return true;\n  } catch (e) {\n    if (\n      e instanceof TypeError ||\n      stringIncludes(e.message, [\"WRONG_ARGUMENTS_ERR\", \"Not enough arguments\"])\n    ) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.focusNode","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"focusNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.focusOffset","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"focusOffset\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.getComposedRanges","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"getComposedRanges\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.getRangeAt","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"getRangeAt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.isCollapsed","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"isCollapsed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.modify","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"modify\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.rangeCount","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"rangeCount\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.removeAllRanges","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"removeAllRanges\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.removeRange","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"removeRange\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.selectAllChildren","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"selectAllChildren\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.setBaseAndExtent","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"setBaseAndExtent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.setPosition","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"setPosition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Selection.toString","info":{"code":"\"Selection\" in self && \"toString\" in Selection.prototype","exposure":"Window"},"result":false},{"name":"api.Selection.type","info":{"code":"(function () {\n  var instance = window.getSelection();\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Sensor","info":{"code":"\"Sensor\" in self","exposure":"Window"},"result":false},{"name":"api.Sensor.activated","info":{"code":"\"Sensor\" in self && \"activated\" in Sensor.prototype","exposure":"Window"},"result":false},{"name":"api.Sensor.hasReading","info":{"code":"\"Sensor\" in self && \"hasReading\" in Sensor.prototype","exposure":"Window"},"result":false},{"name":"api.Sensor.start","info":{"code":"\"Sensor\" in self && \"start\" in Sensor.prototype","exposure":"Window"},"result":false},{"name":"api.Sensor.stop","info":{"code":"\"Sensor\" in self && \"stop\" in Sensor.prototype","exposure":"Window"},"result":false},{"name":"api.Sensor.timestamp","info":{"code":"\"Sensor\" in self && \"timestamp\" in Sensor.prototype","exposure":"Window"},"result":false},{"name":"api.SensorErrorEvent","info":{"code":"\"SensorErrorEvent\" in self","exposure":"Window"},"result":false},{"name":"api.SensorErrorEvent.SensorErrorEvent","info":{"code":"bcd.testConstructor('SensorErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SensorErrorEvent is not defined"},{"name":"api.SensorErrorEvent.error","info":{"code":"\"SensorErrorEvent\" in self && \"error\" in SensorErrorEvent.prototype","exposure":"Window"},"result":false},{"name":"api.SequenceEffect","info":{"code":"\"SequenceEffect\" in self","exposure":"Window"},"result":false},{"name":"api.SequenceEffect.SequenceEffect","info":{"code":"bcd.testConstructor('SequenceEffect')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SequenceEffect is not defined"},{"name":"api.SequenceEffect.clone","info":{"code":"\"SequenceEffect\" in self && \"clone\" in SequenceEffect.prototype","exposure":"Window"},"result":false},{"name":"api.Serial","info":{"code":"\"Serial\" in self","exposure":"Window"},"result":false},{"name":"api.Serial.getPorts","info":{"code":"\"Serial\" in self && \"getPorts\" in Serial.prototype","exposure":"Window"},"result":false},{"name":"api.Serial.requestPort","info":{"code":"\"Serial\" in self && \"requestPort\" in Serial.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort","info":{"code":"\"SerialPort\" in self","exposure":"Window"},"result":false},{"name":"api.SerialPort.close","info":{"code":"\"SerialPort\" in self && \"close\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.connected","info":{"code":"\"SerialPort\" in self && \"connected\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.forget","info":{"code":"\"SerialPort\" in self && \"forget\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.getInfo","info":{"code":"\"SerialPort\" in self && \"getInfo\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.getSignals","info":{"code":"\"SerialPort\" in self && \"getSignals\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.open","info":{"code":"\"SerialPort\" in self && \"open\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.readable","info":{"code":"\"SerialPort\" in self && \"readable\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.setSignals","info":{"code":"\"SerialPort\" in self && \"setSignals\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.SerialPort.writable","info":{"code":"\"SerialPort\" in self && \"writable\" in SerialPort.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorker","info":{"code":"\"ServiceWorker\" in self","exposure":"Window"},"result":false},{"name":"api.ServiceWorker.postMessage","info":{"code":"\"ServiceWorker\" in self && \"postMessage\" in ServiceWorker.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorker.scriptURL","info":{"code":"\"ServiceWorker\" in self && \"scriptURL\" in ServiceWorker.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorker.state","info":{"code":"\"ServiceWorker\" in self && \"state\" in ServiceWorker.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerContainer","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerContainer.controller","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance && \"controller\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerContainer.getRegistration","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance && \"getRegistration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerContainer.getRegistrations","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance && \"getRegistrations\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerContainer.ready","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance && \"ready\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerContainer.register","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance && \"register\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerContainer.startMessages","info":{"code":"(function () {\n  var instance = navigator.serviceWorker;\n  return !!instance && \"startMessages\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.ServiceWorkerRegistration","info":{"code":"\"ServiceWorkerRegistration\" in self","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.active","info":{"code":"\"ServiceWorkerRegistration\" in self && \"active\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.backgroundFetch","info":{"code":"\"ServiceWorkerRegistration\" in self && \"backgroundFetch\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.cookies","info":{"code":"\"ServiceWorkerRegistration\" in self && \"cookies\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.getNotifications","info":{"code":"\"ServiceWorkerRegistration\" in self && \"getNotifications\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.index","info":{"code":"\"ServiceWorkerRegistration\" in self && \"index\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.installing","info":{"code":"\"ServiceWorkerRegistration\" in self && \"installing\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.navigationPreload","info":{"code":"\"ServiceWorkerRegistration\" in self && \"navigationPreload\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.paymentManager","info":{"code":"\"ServiceWorkerRegistration\" in self && \"paymentManager\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.periodicSync","info":{"code":"\"ServiceWorkerRegistration\" in self && \"periodicSync\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.pushManager","info":{"code":"\"ServiceWorkerRegistration\" in self && \"pushManager\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.scope","info":{"code":"\"ServiceWorkerRegistration\" in self && \"scope\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.showNotification","info":{"code":"\"ServiceWorkerRegistration\" in self && \"showNotification\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.sync","info":{"code":"\"ServiceWorkerRegistration\" in self && \"sync\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.unregister","info":{"code":"\"ServiceWorkerRegistration\" in self && \"unregister\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.update","info":{"code":"\"ServiceWorkerRegistration\" in self && \"update\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.updateViaCache","info":{"code":"\"ServiceWorkerRegistration\" in self && \"updateViaCache\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ServiceWorkerRegistration.waiting","info":{"code":"\"ServiceWorkerRegistration\" in self && \"waiting\" in ServiceWorkerRegistration.prototype","exposure":"Window"},"result":false},{"name":"api.ShadowAnimation","info":{"code":"\"ShadowAnimation\" in self","exposure":"Window"},"result":false},{"name":"api.ShadowAnimation.ShadowAnimation","info":{"code":"bcd.testConstructor('ShadowAnimation')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ShadowAnimation is not defined"},{"name":"api.ShadowAnimation.sourceAnimation","info":{"code":"\"ShadowAnimation\" in self && \"sourceAnimation\" in ShadowAnimation.prototype","exposure":"Window"},"result":false},{"name":"api.ShadowRoot","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.activeElement","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"activeElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.adoptedStyleSheets","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"adoptedStyleSheets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.clonable","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"clonable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.customElementRegistry","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"customElementRegistry\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.delegatesFocus","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"delegatesFocus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.elementFromPoint","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"elementFromPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.elementsFromPoint","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"elementsFromPoint\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.fullscreenElement","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"fullscreenElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.getAnimations","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"getAnimations\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.getHTML","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"getHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.getSelection","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"getSelection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.host","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"host\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.innerHTML","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"innerHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.mode","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"mode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.pictureInPictureElement","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"pictureInPictureElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.pointerLockElement","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"pointerLockElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.serializable","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"serializable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.setHTMLUnsafe","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"setHTMLUnsafe\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.slotAssignment","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"slotAssignment\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ShadowRoot.styleSheets","info":{"code":"(function () {\n  var el = document.createElement(\"div\");\n  if (!el.attachShadow) {\n    return { result: false, message: \"Element.attachShadow is not defined\" };\n  }\n  el.attachShadow({ mode: \"open\" });\n  var instance = el.shadowRoot;\n  return !!instance && \"styleSheets\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SharedStorage","info":{"code":"\"SharedStorage\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorage.@@asyncIterator","info":{"code":"\"Symbol\" in self && \"asyncIterator\" in Symbol && \"SharedStorage\" in self && !!(SharedStorage.prototype[Symbol.asyncIterator])","exposure":"Window"},"result":false},{"name":"api.SharedStorage.append","info":{"code":"\"SharedStorage\" in self && \"append\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.batchUpdate","info":{"code":"\"SharedStorage\" in self && \"batchUpdate\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.clear","info":{"code":"\"SharedStorage\" in self && \"clear\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.createWorklet","info":{"code":"\"SharedStorage\" in self && \"createWorklet\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.delete","info":{"code":"\"SharedStorage\" in self && \"delete\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.entries","info":{"code":"\"SharedStorage\" in self && \"entries\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.get","info":{"code":"\"SharedStorage\" in self && \"get\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.keys","info":{"code":"\"SharedStorage\" in self && \"keys\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.length","info":{"code":"\"SharedStorage\" in self && \"length\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.remainingBudget","info":{"code":"\"SharedStorage\" in self && \"remainingBudget\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.run","info":{"code":"\"SharedStorage\" in self && \"run\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.selectURL","info":{"code":"\"SharedStorage\" in self && \"selectURL\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.set","info":{"code":"\"SharedStorage\" in self && \"set\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.values","info":{"code":"\"SharedStorage\" in self && \"values\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorage.worklet","info":{"code":"\"SharedStorage\" in self && \"worklet\" in SharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorageAppendMethod","info":{"code":"\"SharedStorageAppendMethod\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageAppendMethod.SharedStorageAppendMethod","info":{"code":"bcd.testConstructor('SharedStorageAppendMethod')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SharedStorageAppendMethod is not defined"},{"name":"api.SharedStorageClearMethod","info":{"code":"\"SharedStorageClearMethod\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageClearMethod.SharedStorageClearMethod","info":{"code":"bcd.testConstructor('SharedStorageClearMethod')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SharedStorageClearMethod is not defined"},{"name":"api.SharedStorageDeleteMethod","info":{"code":"\"SharedStorageDeleteMethod\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageDeleteMethod.SharedStorageDeleteMethod","info":{"code":"bcd.testConstructor('SharedStorageDeleteMethod')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SharedStorageDeleteMethod is not defined"},{"name":"api.SharedStorageModifierMethod","info":{"code":"\"SharedStorageModifierMethod\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageOperation","info":{"code":"\"SharedStorageOperation\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageRunOperation","info":{"code":"\"SharedStorageRunOperation\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageRunOperation.run","info":{"code":"\"SharedStorageRunOperation\" in self && \"run\" in SharedStorageRunOperation.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorageSelectURLOperation","info":{"code":"\"SharedStorageSelectURLOperation\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageSelectURLOperation.run","info":{"code":"\"SharedStorageSelectURLOperation\" in self && \"run\" in SharedStorageSelectURLOperation.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorageSetMethod","info":{"code":"\"SharedStorageSetMethod\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageSetMethod.SharedStorageSetMethod","info":{"code":"bcd.testConstructor('SharedStorageSetMethod')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SharedStorageSetMethod is not defined"},{"name":"api.SharedStorageWorklet","info":{"code":"\"SharedStorageWorklet\" in self","exposure":"Window"},"result":false},{"name":"api.SharedStorageWorklet.run","info":{"code":"\"SharedStorageWorklet\" in self && \"run\" in SharedStorageWorklet.prototype","exposure":"Window"},"result":false},{"name":"api.SharedStorageWorklet.selectURL","info":{"code":"\"SharedStorageWorklet\" in self && \"selectURL\" in SharedStorageWorklet.prototype","exposure":"Window"},"result":false},{"name":"api.SharedWorker","info":{"code":"\"SharedWorker\" in self","exposure":"Window"},"result":false},{"name":"api.SharedWorker.SharedWorker","info":{"code":"bcd.testConstructor('SharedWorker')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SharedWorker is not defined"},{"name":"api.SharedWorker.port","info":{"code":"\"SharedWorker\" in self && \"port\" in SharedWorker.prototype","exposure":"Window"},"result":false},{"name":"api.SnapEvent","info":{"code":"\"SnapEvent\" in self","exposure":"Window"},"result":false},{"name":"api.SnapEvent.SnapEvent","info":{"code":"bcd.testConstructor('SnapEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SnapEvent is not defined"},{"name":"api.SnapEvent.snapTargetBlock","info":{"code":"\"SnapEvent\" in self && \"snapTargetBlock\" in SnapEvent.prototype","exposure":"Window"},"result":false},{"name":"api.SnapEvent.snapTargetInline","info":{"code":"\"SnapEvent\" in self && \"snapTargetInline\" in SnapEvent.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer","info":{"code":"\"SourceBuffer\" in self","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.abort","info":{"code":"\"SourceBuffer\" in self && \"abort\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.appendBuffer","info":{"code":"\"SourceBuffer\" in self && \"appendBuffer\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.appendBufferAsync","info":{"code":"\"SourceBuffer\" in self && \"appendBufferAsync\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.appendWindowEnd","info":{"code":"\"SourceBuffer\" in self && \"appendWindowEnd\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.appendWindowStart","info":{"code":"\"SourceBuffer\" in self && \"appendWindowStart\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.audioTracks","info":{"code":"\"SourceBuffer\" in self && \"audioTracks\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.buffered","info":{"code":"\"SourceBuffer\" in self && \"buffered\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.changeType","info":{"code":"\"SourceBuffer\" in self && \"changeType\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.mode","info":{"code":"\"SourceBuffer\" in self && \"mode\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.remove","info":{"code":"\"SourceBuffer\" in self && \"remove\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.removeAsync","info":{"code":"\"SourceBuffer\" in self && \"removeAsync\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.textTracks","info":{"code":"\"SourceBuffer\" in self && \"textTracks\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.timestampOffset","info":{"code":"\"SourceBuffer\" in self && \"timestampOffset\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.updating","info":{"code":"\"SourceBuffer\" in self && \"updating\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBuffer.videoTracks","info":{"code":"\"SourceBuffer\" in self && \"videoTracks\" in SourceBuffer.prototype","exposure":"Window"},"result":false},{"name":"api.SourceBufferList","info":{"code":"\"SourceBufferList\" in self","exposure":"Window"},"result":false},{"name":"api.SourceBufferList.length","info":{"code":"\"SourceBufferList\" in self && \"length\" in SourceBufferList.prototype","exposure":"Window"},"result":false},{"name":"api.SpeechGrammar","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var sglist = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  if (!sglist) {\n    return { result: false, message: \"sglist is falsy\" };\n  }\n  var instance = sglist[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammar.src","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var sglist = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  if (!sglist) {\n    return { result: false, message: \"sglist is falsy\" };\n  }\n  var instance = sglist[0];\n  return !!instance && \"src\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammar.weight","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var sglist = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  if (!sglist) {\n    return { result: false, message: \"sglist is falsy\" };\n  }\n  var instance = sglist[0];\n  return !!instance && \"weight\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammarList","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var instance = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammarList.SpeechGrammarList","info":{"code":"bcd.testConstructor('SpeechGrammarList')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechGrammarList is not defined"},{"name":"api.SpeechGrammarList.addFromString","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var instance = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  return !!instance && \"addFromString\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammarList.addFromURI","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var instance = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  return !!instance && \"addFromURI\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammarList.item","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var instance = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechGrammarList.length","info":{"code":"(function () {\n  if (!(\"SpeechGrammarList\" in self || \"webkitSpeechGrammarList\" in self)) {\n    return { result: false, message: \"SpeechGrammarList is not defined\" };\n  }\n  var grammar =\n    \"#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;\";\n  var instance = new (SpeechGrammarList || webkitSpeechGrammarList)();\n  speechRecognitionList.addFromString(grammar, 1);\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SpeechGrammarList is not defined"},{"name":"api.SpeechRecognition","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return \"SpeechRecognition\" in self;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.SpeechRecognition","info":{"code":"bcd.testConstructor('SpeechRecognition')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechRecognition is not defined"},{"name":"api.SpeechRecognition.abort","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"abort\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.available_static","info":{"code":"\"SpeechRecognition\" in self && \"available\" in SpeechRecognition","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.continuous","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"continuous\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.grammars","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"grammars\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.install_static","info":{"code":"\"SpeechRecognition\" in self && \"install\" in SpeechRecognition","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.interimResults","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"interimResults\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.lang","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"lang\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.maxAlternatives","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"maxAlternatives\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.phrases","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"phrases\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.processLocally","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"processLocally\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.start","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognition.stop","info":{"code":"(function () {\n  var instance = reusableInstances.speechRecognition;\n  return !!instance && \"stop\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SpeechRecognitionAlternative","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    Alternative: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"returned [object Object]"},{"name":"api.SpeechRecognitionAlternative.confidence","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    Alternative: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance && \"confidence\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"returned [object Object]"},{"name":"api.SpeechRecognitionAlternative.transcript","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    Alternative: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance && \"transcript\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"returned [object Object]"},{"name":"api.SpeechRecognitionErrorEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new SpeechRecognitionErrorEvent(\"error\", { error: \"aborted\" });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Cannot create event"},{"name":"api.SpeechRecognitionErrorEvent.SpeechRecognitionErrorEvent","info":{"code":"bcd.testConstructor('SpeechRecognitionErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechRecognitionErrorEvent is not defined"},{"name":"api.SpeechRecognitionErrorEvent.error","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new SpeechRecognitionErrorEvent(\"error\", { error: \"aborted\" });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Cannot create event"},{"name":"api.SpeechRecognitionErrorEvent.message","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new SpeechRecognitionErrorEvent(\"error\", { error: \"aborted\" });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"message\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Cannot create event"},{"name":"api.SpeechRecognitionEvent","info":{"code":"(function () {\n  // XXX need to create a SpeechRecognitionResultList and pass it to the results argument\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionEvent is not yet implemented\"\n  };\n\n  var instance;\n  try {\n    instance = new SpeechRecognitionEvent(\"result\", { results: null });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionEvent is not yet implemented"},{"name":"api.SpeechRecognitionEvent.SpeechRecognitionEvent","info":{"code":"bcd.testConstructor('SpeechRecognitionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechRecognitionEvent is not defined"},{"name":"api.SpeechRecognitionEvent.emma","info":{"code":"(function () {\n  // XXX need to create a SpeechRecognitionResultList and pass it to the results argument\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionEvent is not yet implemented\"\n  };\n\n  var instance;\n  try {\n    instance = new SpeechRecognitionEvent(\"result\", { results: null });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"emma\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionEvent is not yet implemented"},{"name":"api.SpeechRecognitionEvent.interpretation","info":{"code":"(function () {\n  // XXX need to create a SpeechRecognitionResultList and pass it to the results argument\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionEvent is not yet implemented\"\n  };\n\n  var instance;\n  try {\n    instance = new SpeechRecognitionEvent(\"result\", { results: null });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"interpretation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionEvent is not yet implemented"},{"name":"api.SpeechRecognitionEvent.resultIndex","info":{"code":"(function () {\n  // XXX need to create a SpeechRecognitionResultList and pass it to the results argument\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionEvent is not yet implemented\"\n  };\n\n  var instance;\n  try {\n    instance = new SpeechRecognitionEvent(\"result\", { results: null });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"resultIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionEvent is not yet implemented"},{"name":"api.SpeechRecognitionEvent.results","info":{"code":"(function () {\n  // XXX need to create a SpeechRecognitionResultList and pass it to the results argument\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionEvent is not yet implemented\"\n  };\n\n  var instance;\n  try {\n    instance = new SpeechRecognitionEvent(\"result\", { results: null });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"results\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionEvent is not yet implemented"},{"name":"api.SpeechRecognitionPhrase","info":{"code":"\"SpeechRecognitionPhrase\" in self","exposure":"Window"},"result":false},{"name":"api.SpeechRecognitionPhrase.SpeechRecognitionPhrase","info":{"code":"bcd.testConstructor('SpeechRecognitionPhrase')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechRecognitionPhrase is not defined"},{"name":"api.SpeechRecognitionPhrase.boost","info":{"code":"\"SpeechRecognitionPhrase\" in self && \"boost\" in SpeechRecognitionPhrase.prototype","exposure":"Window"},"result":false},{"name":"api.SpeechRecognitionPhrase.phrase","info":{"code":"\"SpeechRecognitionPhrase\" in self && \"phrase\" in SpeechRecognitionPhrase.prototype","exposure":"Window"},"result":false},{"name":"api.SpeechRecognitionResult","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResult is not yet implemented"},{"name":"api.SpeechRecognitionResult.isFinal","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance && \"isFinal\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResult is not yet implemented"},{"name":"api.SpeechRecognitionResult.item","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResult is not yet implemented"},{"name":"api.SpeechRecognitionResult.length","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResult is not yet implemented\"\n  };\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResult is not yet implemented"},{"name":"api.SpeechRecognitionResultList","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResultList is not yet implemented\"\n  };\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResultList is not yet implemented"},{"name":"api.SpeechRecognitionResultList.item","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResultList is not yet implemented\"\n  };\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResultList is not yet implemented"},{"name":"api.SpeechRecognitionResultList.length","info":{"code":"(function () {\n  // XXX no idea how to synthetically generate this interface\n  return {\n    result: null,\n    message: \"Testing for SpeechRecognitionResultList is not yet implemented\"\n  };\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing for SpeechRecognitionResultList is not yet implemented"},{"name":"api.SpeechSynthesis","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.cancel","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"cancel\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.getVoices","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"getVoices\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.pause","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"pause\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.paused","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"paused\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.pending","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"pending\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.resume","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"resume\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.speak","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"speak\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesis.speaking","info":{"code":"(function () {\n  var instance = window.speechSynthesis;\n  return !!instance && \"speaking\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesisErrorEvent","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisErrorEvent(\"error\", {\n      utterance: utterance,\n      error: \"canceled\"\n    });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisErrorEvent.SpeechSynthesisErrorEvent","info":{"code":"bcd.testConstructor('SpeechSynthesisErrorEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechSynthesisErrorEvent is not defined"},{"name":"api.SpeechSynthesisErrorEvent.error","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisErrorEvent(\"error\", {\n      utterance: utterance,\n      error: \"canceled\"\n    });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisEvent","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisEvent(\"start\", { utterance: utterance });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisEvent.SpeechSynthesisEvent","info":{"code":"bcd.testConstructor('SpeechSynthesisEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechSynthesisEvent is not defined"},{"name":"api.SpeechSynthesisEvent.charIndex","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisEvent(\"start\", { utterance: utterance });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"charIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisEvent.charLength","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisEvent(\"start\", { utterance: utterance });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"charLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisEvent.elapsedTime","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisEvent(\"start\", { utterance: utterance });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"elapsedTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisEvent.name","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisEvent(\"start\", { utterance: utterance });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisEvent.utterance","info":{"code":"(function () {\n  var utterance = new SpeechSynthesisUtterance(\"Hello world!\");\n  if (!utterance) {\n    return { result: false, message: \"utterance is falsy\" };\n  }\n  var instance;\n  try {\n    instance = new SpeechSynthesisEvent(\"start\", { utterance: utterance });\n  } catch (e) {\n    return { result: false, message: \"Cannot create event\" };\n  }\n  return !!instance && \"utterance\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.SpeechSynthesisUtterance","info":{"code":"bcd.testConstructor('SpeechSynthesisUtterance')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.lang","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance && \"lang\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.pitch","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance && \"pitch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.rate","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance && \"rate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.text","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.voice","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance && \"voice\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisUtterance.volume","info":{"code":"(function () {\n  var instance = new SpeechSynthesisUtterance(\"Hello world!\");\n  return !!instance && \"volume\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: SpeechSynthesisUtterance is not defined"},{"name":"api.SpeechSynthesisVoice","info":{"code":"(function () {\n  var synth = window.speechSynthesis;\n  if (!synth) {\n    return { result: false, message: \"synth is falsy\" };\n  }\n  // Firefox has a bug where speech synthesis voices aren't loaded on the first call\n  synth.getVoices();\n  // Browsers have a bug where speech synthesis voices aren't loaded immediately\n  setTimeout(function () {\n    callback(synth.getVoices()[0]);\n  }, 2000);\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesisVoice.default","info":{"code":"(function () {\n  var synth = window.speechSynthesis;\n  if (!synth) {\n    return { result: false, message: \"synth is falsy\" };\n  }\n  // Firefox has a bug where speech synthesis voices aren't loaded on the first call\n  synth.getVoices();\n  // Browsers have a bug where speech synthesis voices aren't loaded immediately\n  setTimeout(function () {\n    callback(synth.getVoices()[0]);\n  }, 2000);\n  function callback(instance) {\n    try {\n      success(!!instance && \"default\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesisVoice.lang","info":{"code":"(function () {\n  var synth = window.speechSynthesis;\n  if (!synth) {\n    return { result: false, message: \"synth is falsy\" };\n  }\n  // Firefox has a bug where speech synthesis voices aren't loaded on the first call\n  synth.getVoices();\n  // Browsers have a bug where speech synthesis voices aren't loaded immediately\n  setTimeout(function () {\n    callback(synth.getVoices()[0]);\n  }, 2000);\n  function callback(instance) {\n    try {\n      success(!!instance && \"lang\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesisVoice.localService","info":{"code":"(function () {\n  var synth = window.speechSynthesis;\n  if (!synth) {\n    return { result: false, message: \"synth is falsy\" };\n  }\n  // Firefox has a bug where speech synthesis voices aren't loaded on the first call\n  synth.getVoices();\n  // Browsers have a bug where speech synthesis voices aren't loaded immediately\n  setTimeout(function () {\n    callback(synth.getVoices()[0]);\n  }, 2000);\n  function callback(instance) {\n    try {\n      success(!!instance && \"localService\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesisVoice.name","info":{"code":"(function () {\n  var synth = window.speechSynthesis;\n  if (!synth) {\n    return { result: false, message: \"synth is falsy\" };\n  }\n  // Firefox has a bug where speech synthesis voices aren't loaded on the first call\n  synth.getVoices();\n  // Browsers have a bug where speech synthesis voices aren't loaded immediately\n  setTimeout(function () {\n    callback(synth.getVoices()[0]);\n  }, 2000);\n  function callback(instance) {\n    try {\n      success(!!instance && \"name\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.SpeechSynthesisVoice.voiceURI","info":{"code":"(function () {\n  var synth = window.speechSynthesis;\n  if (!synth) {\n    return { result: false, message: \"synth is falsy\" };\n  }\n  // Firefox has a bug where speech synthesis voices aren't loaded on the first call\n  synth.getVoices();\n  // Browsers have a bug where speech synthesis voices aren't loaded immediately\n  setTimeout(function () {\n    callback(synth.getVoices()[0]);\n  }, 2000);\n  function callback(instance) {\n    try {\n      success(!!instance && \"voiceURI\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.StaticRange","info":{"code":"\"StaticRange\" in self","exposure":"Window"},"result":false},{"name":"api.StaticRange.StaticRange","info":{"code":"bcd.testConstructor('StaticRange')","exposure":"Window"},"result":false,"message":"threw ReferenceError: StaticRange is not defined"},{"name":"api.StaticRange.collapsed","info":{"code":"\"StaticRange\" in self && \"collapsed\" in StaticRange.prototype","exposure":"Window"},"result":false},{"name":"api.StaticRange.endContainer","info":{"code":"\"StaticRange\" in self && \"endContainer\" in StaticRange.prototype","exposure":"Window"},"result":false},{"name":"api.StaticRange.endOffset","info":{"code":"\"StaticRange\" in self && \"endOffset\" in StaticRange.prototype","exposure":"Window"},"result":false},{"name":"api.StaticRange.startContainer","info":{"code":"\"StaticRange\" in self && \"startContainer\" in StaticRange.prototype","exposure":"Window"},"result":false},{"name":"api.StaticRange.startOffset","info":{"code":"\"StaticRange\" in self && \"startOffset\" in StaticRange.prototype","exposure":"Window"},"result":false},{"name":"api.StereoPannerNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createStereoPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createStereoPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createStereoPanner();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.StereoPannerNode.StereoPannerNode","info":{"code":"bcd.testConstructor('StereoPannerNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: StereoPannerNode is not defined"},{"name":"api.StereoPannerNode.pan","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createStereoPanner\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createStereoPanner is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createStereoPanner();\n  return !!instance && \"pan\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.Storage","info":{"code":"\"Storage\" in self","exposure":"Window"},"result":false},{"name":"api.Storage.clear","info":{"code":"\"Storage\" in self && \"clear\" in Storage.prototype","exposure":"Window"},"result":false},{"name":"api.Storage.getItem","info":{"code":"\"Storage\" in self && \"getItem\" in Storage.prototype","exposure":"Window"},"result":false},{"name":"api.Storage.key","info":{"code":"\"Storage\" in self && \"key\" in Storage.prototype","exposure":"Window"},"result":false},{"name":"api.Storage.length","info":{"code":"\"Storage\" in self && \"length\" in Storage.prototype","exposure":"Window"},"result":false},{"name":"api.Storage.removeItem","info":{"code":"\"Storage\" in self && \"removeItem\" in Storage.prototype","exposure":"Window"},"result":false},{"name":"api.Storage.setItem","info":{"code":"\"Storage\" in self && \"setItem\" in Storage.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle","info":{"code":"\"StorageAccessHandle\" in self","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.BroadcastChannel","info":{"code":"\"StorageAccessHandle\" in self && \"BroadcastChannel\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.SharedWorker","info":{"code":"\"StorageAccessHandle\" in self && \"SharedWorker\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.caches","info":{"code":"\"StorageAccessHandle\" in self && \"caches\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.createObjectURL","info":{"code":"\"StorageAccessHandle\" in self && \"createObjectURL\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.estimate","info":{"code":"\"StorageAccessHandle\" in self && \"estimate\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.getDirectory","info":{"code":"\"StorageAccessHandle\" in self && \"getDirectory\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.indexedDB","info":{"code":"\"StorageAccessHandle\" in self && \"indexedDB\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.localStorage","info":{"code":"\"StorageAccessHandle\" in self && \"localStorage\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.locks","info":{"code":"\"StorageAccessHandle\" in self && \"locks\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.revokeObjectURL","info":{"code":"\"StorageAccessHandle\" in self && \"revokeObjectURL\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageAccessHandle.sessionStorage","info":{"code":"\"StorageAccessHandle\" in self && \"sessionStorage\" in StorageAccessHandle.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket","info":{"code":"\"StorageBucket\" in self","exposure":"Window"},"result":false},{"name":"api.StorageBucket.caches","info":{"code":"\"StorageBucket\" in self && \"caches\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.estimate","info":{"code":"\"StorageBucket\" in self && \"estimate\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.expires","info":{"code":"\"StorageBucket\" in self && \"expires\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.getDirectory","info":{"code":"\"StorageBucket\" in self && \"getDirectory\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.indexedDB","info":{"code":"\"StorageBucket\" in self && \"indexedDB\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.name","info":{"code":"\"StorageBucket\" in self && \"name\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.persist","info":{"code":"\"StorageBucket\" in self && \"persist\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.persisted","info":{"code":"\"StorageBucket\" in self && \"persisted\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucket.setExpires","info":{"code":"\"StorageBucket\" in self && \"setExpires\" in StorageBucket.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucketManager","info":{"code":"\"StorageBucketManager\" in self","exposure":"Window"},"result":false},{"name":"api.StorageBucketManager.delete","info":{"code":"\"StorageBucketManager\" in self && \"delete\" in StorageBucketManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucketManager.keys","info":{"code":"\"StorageBucketManager\" in self && \"keys\" in StorageBucketManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageBucketManager.open","info":{"code":"\"StorageBucketManager\" in self && \"open\" in StorageBucketManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageEvent.StorageEvent","info":{"code":"bcd.testConstructor('StorageEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: StorageEvent is not defined"},{"name":"api.StorageEvent.initStorageEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initStorageEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageEvent.key","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"key\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageEvent.newValue","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"newValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageEvent.oldValue","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"oldValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageEvent.storageArea","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"storageArea\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageEvent.url","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new StorageEvent(\"storage\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"StorageEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"url\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StorageManager","info":{"code":"\"StorageManager\" in self","exposure":"Window"},"result":false},{"name":"api.StorageManager.estimate","info":{"code":"\"StorageManager\" in self && \"estimate\" in StorageManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageManager.estimate.usageDetails","info":{"code":"(function () {\n  if (!(\"storage\" in navigator)) {\n    return { result: false, message: \"navigator.storage is not defined\" };\n  }\n  if (!(\"estimate\" in navigator.storage)) {\n    return {\n      result: false,\n      message: \"navigator.storage.estimate is not defined\"\n    };\n  }\n  return navigator.storage.estimate().then(function (estimate) {\n    return !!estimate.usageDetails;\n  });\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.StorageManager.getDirectory","info":{"code":"\"StorageManager\" in self && \"getDirectory\" in StorageManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageManager.persist","info":{"code":"\"StorageManager\" in self && \"persist\" in StorageManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageManager.persisted","info":{"code":"\"StorageManager\" in self && \"persisted\" in StorageManager.prototype","exposure":"Window"},"result":false},{"name":"api.StorageQuota","info":{"code":"\"StorageQuota\" in self","exposure":"Window"},"result":false},{"name":"api.StorageQuota.queryUsageAndQuota","info":{"code":"\"StorageQuota\" in self && \"queryUsageAndQuota\" in StorageQuota.prototype","exposure":"Window"},"result":false},{"name":"api.StorageQuota.requestQuota","info":{"code":"\"StorageQuota\" in self && \"requestQuota\" in StorageQuota.prototype","exposure":"Window"},"result":false},{"name":"api.StyleMedia","info":{"code":"(function () {\n  var instance = window.styleMedia;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.StyleMedia.matchMedium","info":{"code":"(function () {\n  var instance = window.styleMedia;\n  return !!instance && \"matchMedium\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.StyleMedia.type","info":{"code":"(function () {\n  var instance = window.styleMedia;\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.StylePropertyMap","info":{"code":"\"StylePropertyMap\" in self","exposure":"Window"},"result":false},{"name":"api.StylePropertyMap.append","info":{"code":"\"StylePropertyMap\" in self && \"append\" in StylePropertyMap.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMap.clear","info":{"code":"\"StylePropertyMap\" in self && \"clear\" in StylePropertyMap.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMap.delete","info":{"code":"\"StylePropertyMap\" in self && \"delete\" in StylePropertyMap.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMap.set","info":{"code":"\"StylePropertyMap\" in self && \"set\" in StylePropertyMap.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly","info":{"code":"\"StylePropertyMapReadOnly\" in self","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"StylePropertyMapReadOnly\" in self && !!(StylePropertyMapReadOnly.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.entries","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"entries\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.forEach","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"forEach\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.get","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"get\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.getAll","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"getAll\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.has","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"has\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.keys","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"keys\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.size","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"size\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StylePropertyMapReadOnly.values","info":{"code":"\"StylePropertyMapReadOnly\" in self && \"values\" in StylePropertyMapReadOnly.prototype","exposure":"Window"},"result":false},{"name":"api.StyleSheet","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.disabled","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"disabled\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.href","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.media","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"media\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.ownerNode","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"ownerNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.parentStyleSheet","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"parentStyleSheet\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.title","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"title\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheet.type","info":{"code":"(function () {\n  var instance = reusableInstances.createStyleSheet(\"p {color: red;}\");\n  return !!instance && \"type\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheetList","info":{"code":"(function () {\n  var instance = document.styleSheets;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheetList.item","info":{"code":"(function () {\n  var instance = document.styleSheets;\n  return !!instance && \"item\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.StyleSheetList.length","info":{"code":"(function () {\n  var instance = document.styleSheets;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.SubmitEvent","info":{"code":"\"SubmitEvent\" in self","exposure":"Window"},"result":false},{"name":"api.SubmitEvent.SubmitEvent","info":{"code":"bcd.testConstructor('SubmitEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: SubmitEvent is not defined"},{"name":"api.SubmitEvent.submitter","info":{"code":"\"SubmitEvent\" in self && \"submitter\" in SubmitEvent.prototype","exposure":"Window"},"result":false},{"name":"api.Subscriber","info":{"code":"\"Subscriber\" in self","exposure":"Window"},"result":false},{"name":"api.Subscriber.active","info":{"code":"\"Subscriber\" in self && \"active\" in Subscriber.prototype","exposure":"Window"},"result":false},{"name":"api.Subscriber.addTeardown","info":{"code":"\"Subscriber\" in self && \"addTeardown\" in Subscriber.prototype","exposure":"Window"},"result":false},{"name":"api.Subscriber.complete","info":{"code":"\"Subscriber\" in self && \"complete\" in Subscriber.prototype","exposure":"Window"},"result":false},{"name":"api.Subscriber.error","info":{"code":"\"Subscriber\" in self && \"error\" in Subscriber.prototype","exposure":"Window"},"result":false},{"name":"api.Subscriber.next","info":{"code":"\"Subscriber\" in self && \"next\" in Subscriber.prototype","exposure":"Window"},"result":false},{"name":"api.Subscriber.signal","info":{"code":"\"Subscriber\" in self && \"signal\" in Subscriber.prototype","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.decapsulateBits","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"decapsulateBits\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.decapsulateKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"decapsulateKey\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.decrypt","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"decrypt\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.deriveBits","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"deriveBits\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.deriveKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"deriveKey\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.deriveKey.derivedKeyAlgorithm_option_aes","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return instance\n    .generateKey(\n      {\n        name: \"ECDH\",\n        namedCurve: \"P-384\"\n      },\n      true,\n      [\"deriveKey\"]\n    )\n    .then(function (keys) {\n      return instance.deriveKey(\n        {\n          name: \"ECDH\",\n          public: keys.publicKey\n        },\n        keys.privateKey,\n        {\n          name: \"AES-GCM\",\n          length: 256\n        },\n        true,\n        [\"encrypt\", \"decrypt\"]\n      );\n    })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.deriveKey.derivedKeyAlgorithm_option_hkdf","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return instance\n    .generateKey(\n      {\n        name: \"ECDH\",\n        namedCurve: \"P-384\"\n      },\n      true,\n      [\"deriveKey\"]\n    )\n    .then(function (keys) {\n      return instance.deriveKey(\n        {\n          name: \"ECDH\",\n          public: keys.publicKey\n        },\n        keys.privateKey,\n        {\n          name: \"HKDF\",\n          hash: \"SHA-256\",\n          salt: new Uint8Array(),\n          info: new Uint8Array()\n        },\n        false,\n        [\"deriveKey\"]\n      );\n    })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.digest","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"digest\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.encapsulateBits","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"encapsulateBits\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.encapsulateKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"encapsulateKey\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.encrypt","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"encrypt\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.exportKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"exportKey\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.generateKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"generateKey\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.getPublicKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"getPublicKey\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.importKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"importKey\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.sign","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"sign\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.supports_static","info":{"code":"\"SubtleCrypto\" in self && \"supports\" in SubtleCrypto","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.unwrapKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"unwrapKey\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.verify","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"verify\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.wrapKey","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return !!instance && \"wrapKey\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Summarizer","info":{"code":"\"Summarizer\" in self","exposure":"Window"},"result":false},{"name":"api.Summarizer.availability_static","info":{"code":"\"Summarizer\" in self && \"availability\" in Summarizer","exposure":"Window"},"result":false},{"name":"api.Summarizer.create_static","info":{"code":"\"Summarizer\" in self && \"create\" in Summarizer","exposure":"Window"},"result":false},{"name":"api.Summarizer.destroy","info":{"code":"\"Summarizer\" in self && \"destroy\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.expectedContextLanguages","info":{"code":"\"Summarizer\" in self && \"expectedContextLanguages\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.expectedInputLanguages","info":{"code":"\"Summarizer\" in self && \"expectedInputLanguages\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.format","info":{"code":"\"Summarizer\" in self && \"format\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.inputQuota","info":{"code":"\"Summarizer\" in self && \"inputQuota\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.length","info":{"code":"\"Summarizer\" in self && \"length\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.SubtleCrypto.deriveKey.derivedKeyAlgorithm_option_hmac","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return instance\n    .generateKey(\n      {\n        name: \"ECDH\",\n        namedCurve: \"P-384\"\n      },\n      true,\n      [\"deriveKey\"]\n    )\n    .then(function (keys) {\n      return instance.deriveKey(\n        {\n          name: \"ECDH\",\n          public: keys.publicKey\n        },\n        keys.privateKey,\n        {\n          name: \"HMAC\",\n          hash: \"SHA-512\",\n          length: 256\n        },\n        true,\n        [\"sign\", \"verify\"]\n      );\n    })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":true},{"name":"api.SubtleCrypto.deriveKey.derivedKeyAlgorithm_option_pbkdf2","info":{"code":"(function () {\n  if (!(\"crypto\" in self)) {\n    return { result: false, message: \"crypto is not defined\" };\n  }\n  var instance = crypto.subtle || crypto.webkitSubtle;\n  return instance\n    .generateKey(\n      {\n        name: \"ECDH\",\n        namedCurve: \"P-384\"\n      },\n      true,\n      [\"deriveKey\"]\n    )\n    .then(function (keys) {\n      return instance.deriveKey(\n        {\n          name: \"ECDH\",\n          public: keys.publicKey\n        },\n        keys.privateKey,\n        {\n          name: \"PBKDF2\",\n          salt: \"foobar\",\n          iterations: 100000,\n          hash: \"SHA-256\"\n        },\n        false,\n        [\"deriveBits\", \"deriveKey\"]\n      );\n    })\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":true},{"name":"api.Summarizer.measureInputUsage","info":{"code":"\"Summarizer\" in self && \"measureInputUsage\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.outputLanguage","info":{"code":"\"Summarizer\" in self && \"outputLanguage\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.sharedContext","info":{"code":"\"Summarizer\" in self && \"sharedContext\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.summarize","info":{"code":"\"Summarizer\" in self && \"summarize\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.summarizeStreaming","info":{"code":"\"Summarizer\" in self && \"summarizeStreaming\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.Summarizer.type","info":{"code":"\"Summarizer\" in self && \"type\" in Summarizer.prototype","exposure":"Window"},"result":false},{"name":"api.SyncManager","info":{"code":"\"SyncManager\" in self","exposure":"Window"},"result":false},{"name":"api.SyncManager.getTags","info":{"code":"\"SyncManager\" in self && \"getTags\" in SyncManager.prototype","exposure":"Window"},"result":false},{"name":"api.SyncManager.register","info":{"code":"\"SyncManager\" in self && \"register\" in SyncManager.prototype","exposure":"Window"},"result":false},{"name":"api.TaskAttributionTiming","info":{"code":"\"TaskAttributionTiming\" in self","exposure":"Window"},"result":false},{"name":"api.TaskAttributionTiming.containerId","info":{"code":"\"TaskAttributionTiming\" in self && \"containerId\" in TaskAttributionTiming.prototype","exposure":"Window"},"result":false},{"name":"api.TaskAttributionTiming.containerName","info":{"code":"\"TaskAttributionTiming\" in self && \"containerName\" in TaskAttributionTiming.prototype","exposure":"Window"},"result":false},{"name":"api.TaskAttributionTiming.containerSrc","info":{"code":"\"TaskAttributionTiming\" in self && \"containerSrc\" in TaskAttributionTiming.prototype","exposure":"Window"},"result":false},{"name":"api.TaskAttributionTiming.containerType","info":{"code":"\"TaskAttributionTiming\" in self && \"containerType\" in TaskAttributionTiming.prototype","exposure":"Window"},"result":false},{"name":"api.TaskAttributionTiming.toJSON","info":{"code":"\"TaskAttributionTiming\" in self && \"toJSON\" in TaskAttributionTiming.prototype","exposure":"Window"},"result":false},{"name":"api.TaskController","info":{"code":"\"TaskController\" in self","exposure":"Window"},"result":false},{"name":"api.TaskController.TaskController","info":{"code":"bcd.testConstructor('TaskController')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TaskController is not defined"},{"name":"api.TaskController.setPriority","info":{"code":"\"TaskController\" in self && \"setPriority\" in TaskController.prototype","exposure":"Window"},"result":false},{"name":"api.TaskPriorityChangeEvent","info":{"code":"\"TaskPriorityChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.TaskPriorityChangeEvent.TaskPriorityChangeEvent","info":{"code":"bcd.testConstructor('TaskPriorityChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TaskPriorityChangeEvent is not defined"},{"name":"api.TaskPriorityChangeEvent.previousPriority","info":{"code":"\"TaskPriorityChangeEvent\" in self && \"previousPriority\" in TaskPriorityChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TaskSignal","info":{"code":"\"TaskSignal\" in self","exposure":"Window"},"result":false},{"name":"api.TaskSignal.any_static","info":{"code":"\"TaskSignal\" in self && \"any\" in TaskSignal","exposure":"Window"},"result":false},{"name":"api.TaskSignal.priority","info":{"code":"\"TaskSignal\" in self && \"priority\" in TaskSignal.prototype","exposure":"Window"},"result":false},{"name":"api.TestUtils","info":{"code":"\"TestUtils\" in self","exposure":"Window"},"result":false},{"name":"api.TestUtils.gc_static","info":{"code":"\"TestUtils\" in self && \"gc\" in TestUtils","exposure":"Window"},"result":false},{"name":"api.Text","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.Text","info":{"code":"bcd.testConstructor('Text')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Text is not defined"},{"name":"api.Text.assignedSlot","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"assignedSlot\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.convertPointFromNode","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"convertPointFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.convertQuadFromNode","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"convertQuadFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.convertRectFromNode","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"convertRectFromNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.getBoxQuads","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"getBoxQuads\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.splitText","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"splitText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Text.wholeText","info":{"code":"(function () {\n  var el = document.createElement(\"b\");\n  el.innerHTML = \"text\";\n  var instance = el.childNodes[0];\n  return !!instance && \"wholeText\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextDecoder","info":{"code":"(function () {\n  if (!(\"TextDecoder\" in self)) {\n    return { result: false, message: \"TextDecoder is not defined\" };\n  }\n  var instance = new TextDecoder();\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextDecoder.TextDecoder","info":{"code":"bcd.testConstructor('TextDecoder')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.TextDecoder.decode","info":{"code":"(function () {\n  if (!(\"TextDecoder\" in self)) {\n    return { result: false, message: \"TextDecoder is not defined\" };\n  }\n  var instance = new TextDecoder();\n  return !!instance && \"decode\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextDecoder.encoding","info":{"code":"(function () {\n  if (!(\"TextDecoder\" in self)) {\n    return { result: false, message: \"TextDecoder is not defined\" };\n  }\n  var instance = new TextDecoder();\n  return !!instance && \"encoding\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextDecoder.fatal","info":{"code":"(function () {\n  if (!(\"TextDecoder\" in self)) {\n    return { result: false, message: \"TextDecoder is not defined\" };\n  }\n  var instance = new TextDecoder();\n  return !!instance && \"fatal\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextDecoder.ignoreBOM","info":{"code":"(function () {\n  if (!(\"TextDecoder\" in self)) {\n    return { result: false, message: \"TextDecoder is not defined\" };\n  }\n  var instance = new TextDecoder();\n  return !!instance && \"ignoreBOM\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextDecoderStream","info":{"code":"\"TextDecoderStream\" in self","exposure":"Window"},"result":true},{"name":"api.TextDecoderStream.TextDecoderStream","info":{"code":"bcd.testConstructor('TextDecoderStream')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.TextDecoderStream.encoding","info":{"code":"\"TextDecoderStream\" in self && \"encoding\" in TextDecoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextDecoderStream.fatal","info":{"code":"\"TextDecoderStream\" in self && \"fatal\" in TextDecoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextDecoderStream.ignoreBOM","info":{"code":"\"TextDecoderStream\" in self && \"ignoreBOM\" in TextDecoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextDecoderStream.readable","info":{"code":"\"TextDecoderStream\" in self && \"readable\" in TextDecoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextDecoderStream.writable","info":{"code":"\"TextDecoderStream\" in self && \"writable\" in TextDecoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextDetector","info":{"code":"\"TextDetector\" in self","exposure":"Window"},"result":false},{"name":"api.TextDetector.TextDetector","info":{"code":"bcd.testConstructor('TextDetector')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TextDetector is not defined"},{"name":"api.TextDetector.detect","info":{"code":"\"TextDetector\" in self && \"detect\" in TextDetector.prototype","exposure":"Window"},"result":false},{"name":"api.TextEncoder","info":{"code":"(function () {\n  if (!(\"TextEncoder\" in self)) {\n    return { result: false, message: \"TextEncoder is not defined\" };\n  }\n  var instance = new TextEncoder();\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextEncoder.TextEncoder","info":{"code":"bcd.testConstructor('TextEncoder')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.TextEncoder.encode","info":{"code":"(function () {\n  if (!(\"TextEncoder\" in self)) {\n    return { result: false, message: \"TextEncoder is not defined\" };\n  }\n  var instance = new TextEncoder();\n  return !!instance && \"encode\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextEncoder.encodeInto","info":{"code":"(function () {\n  if (!(\"TextEncoder\" in self)) {\n    return { result: false, message: \"TextEncoder is not defined\" };\n  }\n  var instance = new TextEncoder();\n  return !!instance && \"encodeInto\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextEncoder.encoding","info":{"code":"(function () {\n  if (!(\"TextEncoder\" in self)) {\n    return { result: false, message: \"TextEncoder is not defined\" };\n  }\n  var instance = new TextEncoder();\n  return !!instance && \"encoding\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.TextEncoderStream","info":{"code":"\"TextEncoderStream\" in self","exposure":"Window"},"result":true},{"name":"api.TextEncoderStream.TextEncoderStream","info":{"code":"bcd.testConstructor('TextEncoderStream')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.TextEncoderStream.encoding","info":{"code":"\"TextEncoderStream\" in self && \"encoding\" in TextEncoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextEncoderStream.readable","info":{"code":"\"TextEncoderStream\" in self && \"readable\" in TextEncoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextEncoderStream.writable","info":{"code":"\"TextEncoderStream\" in self && \"writable\" in TextEncoderStream.prototype","exposure":"Window"},"result":true},{"name":"api.TextEvent","info":{"code":"\"TextEvent\" in self","exposure":"Window"},"result":false},{"name":"api.TextEvent.data","info":{"code":"\"TextEvent\" in self && \"data\" in TextEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextEvent.initTextEvent","info":{"code":"\"TextEvent\" in self && \"initTextEvent\" in TextEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextFormat","info":{"code":"\"TextFormat\" in self","exposure":"Window"},"result":false},{"name":"api.TextFormat.TextFormat","info":{"code":"bcd.testConstructor('TextFormat')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TextFormat is not defined"},{"name":"api.TextFormat.rangeEnd","info":{"code":"\"TextFormat\" in self && \"rangeEnd\" in TextFormat.prototype","exposure":"Window"},"result":false},{"name":"api.TextFormat.rangeStart","info":{"code":"\"TextFormat\" in self && \"rangeStart\" in TextFormat.prototype","exposure":"Window"},"result":false},{"name":"api.TextFormat.underlineStyle","info":{"code":"\"TextFormat\" in self && \"underlineStyle\" in TextFormat.prototype","exposure":"Window"},"result":false},{"name":"api.TextFormat.underlineThickness","info":{"code":"\"TextFormat\" in self && \"underlineThickness\" in TextFormat.prototype","exposure":"Window"},"result":false},{"name":"api.TextFormatUpdateEvent","info":{"code":"\"TextFormatUpdateEvent\" in self","exposure":"Window"},"result":false},{"name":"api.TextFormatUpdateEvent.TextFormatUpdateEvent","info":{"code":"bcd.testConstructor('TextFormatUpdateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TextFormatUpdateEvent is not defined"},{"name":"api.TextFormatUpdateEvent.getTextFormats","info":{"code":"\"TextFormatUpdateEvent\" in self && \"getTextFormats\" in TextFormatUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextMetrics","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.actualBoundingBoxAscent","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"actualBoundingBoxAscent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.actualBoundingBoxDescent","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"actualBoundingBoxDescent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.actualBoundingBoxLeft","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"actualBoundingBoxLeft\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.actualBoundingBoxRight","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"actualBoundingBoxRight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.alphabeticBaseline","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"alphabeticBaseline\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.emHeightAscent","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"emHeightAscent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.emHeightDescent","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"emHeightDescent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.fontBoundingBoxAscent","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"fontBoundingBoxAscent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.fontBoundingBoxDescent","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"fontBoundingBoxDescent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.hangingBaseline","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"hangingBaseline\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.ideographicBaseline","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"ideographicBaseline\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextMetrics.width","info":{"code":"(function () {\n  if (!(\"document\" in self)) {\n    // XXX Implement worker tests for CanvasRenderingContext2D\n    return {\n      result: null,\n      message:\n        \"Testing CanvasRenderingContext2D in workers is not yet implemented\"\n    };\n  }\n  var canvas = document.createElement(\"canvas\");\n  if (!canvas) {\n    return { result: false, message: \"Could not create canvas element\" };\n  }\n  var ctx = canvas.getContext(\"2d\");\n  if (!ctx) {\n    return { result: false, message: \"ctx is falsy\" };\n  }\n  var instance = ctx.measureText(\"mdn-bcd-collector\");\n  return !!instance && \"width\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"Testing CanvasRenderingContext2D in workers is not yet implemented"},{"name":"api.TextTrack","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.activeCues","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"activeCues\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.addCue","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"addCue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.cues","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"cues\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.id","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.inBandMetadataTrackDispatchType","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"inBandMetadataTrackDispatchType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.kind","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"kind\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.label","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.language","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"language\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.mode","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"mode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.removeCue","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"removeCue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrack.sourceBuffer","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var instance = texttracks[0];\n  return !!instance && \"sourceBuffer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCue","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCue.endTime","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"endTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCue.id","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCue.pauseOnExit","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"pauseOnExit\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCue.startTime","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"startTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCue.track","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"track\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCueList","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var instance = texttrack.cues;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCueList.getCueById","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var instance = texttrack.cues;\n  return !!instance && \"getCueById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackCueList.length","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var instance = texttrack.cues;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackList","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.textTracks;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackList.getTrackById","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.textTracks;\n  return !!instance && \"getTrackById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextTrackList.length","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.textTracks;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TextUpdateEvent","info":{"code":"\"TextUpdateEvent\" in self","exposure":"Window"},"result":false},{"name":"api.TextUpdateEvent.TextUpdateEvent","info":{"code":"bcd.testConstructor('TextUpdateEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TextUpdateEvent is not defined"},{"name":"api.TextUpdateEvent.selectionEnd","info":{"code":"\"TextUpdateEvent\" in self && \"selectionEnd\" in TextUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextUpdateEvent.selectionStart","info":{"code":"\"TextUpdateEvent\" in self && \"selectionStart\" in TextUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextUpdateEvent.text","info":{"code":"\"TextUpdateEvent\" in self && \"text\" in TextUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextUpdateEvent.updateRangeEnd","info":{"code":"\"TextUpdateEvent\" in self && \"updateRangeEnd\" in TextUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TextUpdateEvent.updateRangeStart","info":{"code":"\"TextUpdateEvent\" in self && \"updateRangeStart\" in TextUpdateEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TimeEvent","info":{"code":"\"TimeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.TimeEvent.detail","info":{"code":"\"TimeEvent\" in self && \"detail\" in TimeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TimeEvent.initTimeEvent","info":{"code":"\"TimeEvent\" in self && \"initTimeEvent\" in TimeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TimeEvent.view","info":{"code":"\"TimeEvent\" in self && \"view\" in TimeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.TimeRanges","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.buffered;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TimeRanges.end","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.buffered;\n  return !!instance && \"end\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TimeRanges.length","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.buffered;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TimeRanges.start","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.buffered;\n  return !!instance && \"start\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ToggleEvent","info":{"code":"\"ToggleEvent\" in self","exposure":"Window"},"result":false},{"name":"api.ToggleEvent.ToggleEvent","info":{"code":"bcd.testConstructor('ToggleEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ToggleEvent is not defined"},{"name":"api.ToggleEvent.newState","info":{"code":"\"ToggleEvent\" in self && \"newState\" in ToggleEvent.prototype","exposure":"Window"},"result":false},{"name":"api.ToggleEvent.oldState","info":{"code":"\"ToggleEvent\" in self && \"oldState\" in ToggleEvent.prototype","exposure":"Window"},"result":false},{"name":"api.ToggleEvent.source","info":{"code":"\"ToggleEvent\" in self && \"source\" in ToggleEvent.prototype","exposure":"Window"},"result":false},{"name":"api.Touch","info":{"code":"\"Touch\" in self","exposure":"Window"},"result":false},{"name":"api.Touch.Touch","info":{"code":"bcd.testConstructor('Touch')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Touch is not defined"},{"name":"api.Touch.altitudeAngle","info":{"code":"\"Touch\" in self && \"altitudeAngle\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.azimuthAngle","info":{"code":"\"Touch\" in self && \"azimuthAngle\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.clientX","info":{"code":"\"Touch\" in self && \"clientX\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.clientY","info":{"code":"\"Touch\" in self && \"clientY\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.force","info":{"code":"\"Touch\" in self && \"force\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.identifier","info":{"code":"\"Touch\" in self && \"identifier\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.pageX","info":{"code":"\"Touch\" in self && \"pageX\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.pageY","info":{"code":"\"Touch\" in self && \"pageY\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.radiusX","info":{"code":"\"Touch\" in self && \"radiusX\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.radiusY","info":{"code":"\"Touch\" in self && \"radiusY\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.rotationAngle","info":{"code":"\"Touch\" in self && \"rotationAngle\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.screenX","info":{"code":"\"Touch\" in self && \"screenX\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.screenY","info":{"code":"\"Touch\" in self && \"screenY\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.target","info":{"code":"\"Touch\" in self && \"target\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.Touch.touchType","info":{"code":"\"Touch\" in self && \"touchType\" in Touch.prototype","exposure":"Window"},"result":false},{"name":"api.TouchEvent","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.TouchEvent","info":{"code":"bcd.testConstructor('TouchEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TouchEvent is not defined"},{"name":"api.TouchEvent.altKey","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"altKey\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.changedTouches","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"changedTouches\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.ctrlKey","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"ctrlKey\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.getModifierState","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"getModifierState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.metaKey","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"metaKey\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.shiftKey","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"shiftKey\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.targetTouches","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"targetTouches\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchEvent.touches","info":{"code":"(function () {\n  if (!(\"TouchEvent\" in self)) {\n    return { result: false, message: \"TouchEvent is not defined\" };\n  }\n  var instance = new TouchEvent(\"touchstart\");\n  return !!instance && \"touches\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"TouchEvent is not defined"},{"name":"api.TouchList","info":{"code":"\"TouchList\" in self","exposure":"Window"},"result":false},{"name":"api.TouchList.item","info":{"code":"\"TouchList\" in self && \"item\" in TouchList.prototype","exposure":"Window"},"result":false},{"name":"api.TouchList.length","info":{"code":"\"TouchList\" in self && \"length\" in TouchList.prototype","exposure":"Window"},"result":false},{"name":"api.TrackEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new TrackEvent(\"addtrack\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"TrackEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TrackEvent.TrackEvent","info":{"code":"bcd.testConstructor('TrackEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TrackEvent is not defined"},{"name":"api.TrackEvent.track","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new TrackEvent(\"addtrack\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"TrackEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"track\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TransformStream","info":{"code":"\"TransformStream\" in self","exposure":"Window"},"result":true},{"name":"api.TransformStream.TransformStream","info":{"code":"bcd.testConstructor('TransformStream')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.TransformStream.readable","info":{"code":"\"TransformStream\" in self && \"readable\" in TransformStream.prototype","exposure":"Window"},"result":true},{"name":"api.TransformStream.writable","info":{"code":"\"TransformStream\" in self && \"writable\" in TransformStream.prototype","exposure":"Window"},"result":true},{"name":"api.TransformStreamDefaultController","info":{"code":"(function () {\n  if (!(\"TransformStream\" in self)) {\n    return { result: false, message: \"TransformStream is not defined\" };\n  }\n  new TransformStream({\n    start(controller) {\n      callback(controller);\n    }\n  });\n  function callback(instance) {\n    try {\n      success(!!instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.TransformStreamDefaultController.desiredSize","info":{"code":"(function () {\n  if (!(\"TransformStream\" in self)) {\n    return { result: false, message: \"TransformStream is not defined\" };\n  }\n  new TransformStream({\n    start(controller) {\n      callback(controller);\n    }\n  });\n  function callback(instance) {\n    try {\n      success(!!instance && \"desiredSize\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.TransformStreamDefaultController.enqueue","info":{"code":"(function () {\n  if (!(\"TransformStream\" in self)) {\n    return { result: false, message: \"TransformStream is not defined\" };\n  }\n  new TransformStream({\n    start(controller) {\n      callback(controller);\n    }\n  });\n  function callback(instance) {\n    try {\n      success(!!instance && \"enqueue\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.TransformStreamDefaultController.error","info":{"code":"(function () {\n  if (!(\"TransformStream\" in self)) {\n    return { result: false, message: \"TransformStream is not defined\" };\n  }\n  new TransformStream({\n    start(controller) {\n      callback(controller);\n    }\n  });\n  function callback(instance) {\n    try {\n      success(!!instance && \"error\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.TransformStreamDefaultController.terminate","info":{"code":"(function () {\n  if (!(\"TransformStream\" in self)) {\n    return { result: false, message: \"TransformStream is not defined\" };\n  }\n  new TransformStream({\n    start(controller) {\n      callback(controller);\n    }\n  });\n  function callback(instance) {\n    try {\n      success(!!instance && \"terminate\" in instance);\n    } catch (e) {\n      fail(e);\n    }\n  }\n  return \"callback\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.TransitionEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new TransitionEvent(\"transitionend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"TransitionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TransitionEvent.TransitionEvent","info":{"code":"bcd.testConstructor('TransitionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: TransitionEvent is not defined"},{"name":"api.TransitionEvent.elapsedTime","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new TransitionEvent(\"transitionend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"TransitionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"elapsedTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TransitionEvent.propertyName","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new TransitionEvent(\"transitionend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"TransitionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"propertyName\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TransitionEvent.pseudoElement","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new TransitionEvent(\"transitionend\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"TransitionEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"pseudoElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Translator","info":{"code":"\"Translator\" in self","exposure":"Window"},"result":false},{"name":"api.Translator.availability_static","info":{"code":"\"Translator\" in self && \"availability\" in Translator","exposure":"Window"},"result":false},{"name":"api.Translator.create_static","info":{"code":"\"Translator\" in self && \"create\" in Translator","exposure":"Window"},"result":false},{"name":"api.Translator.destroy","info":{"code":"\"Translator\" in self && \"destroy\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.Translator.inputQuota","info":{"code":"\"Translator\" in self && \"inputQuota\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.Translator.measureInputUsage","info":{"code":"\"Translator\" in self && \"measureInputUsage\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.Translator.sourceLanguage","info":{"code":"\"Translator\" in self && \"sourceLanguage\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.Translator.targetLanguage","info":{"code":"\"Translator\" in self && \"targetLanguage\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.Translator.translate","info":{"code":"\"Translator\" in self && \"translate\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.Translator.translateStreaming","info":{"code":"\"Translator\" in self && \"translateStreaming\" in Translator.prototype","exposure":"Window"},"result":false},{"name":"api.TreeWalker","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.currentNode","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"currentNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.filter","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"filter\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.firstChild","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"firstChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.lastChild","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"lastChild\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.nextNode","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"nextNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.nextSibling","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"nextSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.parentNode","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"parentNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.previousNode","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"previousNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.previousSibling","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"previousSibling\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.root","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"root\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TreeWalker.whatToShow","info":{"code":"(function () {\n  var instance = document.createTreeWalker(document);\n  return !!instance && \"whatToShow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.TrustedHTML","info":{"code":"\"TrustedHTML\" in self","exposure":"Window"},"result":false},{"name":"api.TrustedHTML.toJSON","info":{"code":"\"TrustedHTML\" in self && \"toJSON\" in TrustedHTML.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedHTML.toString","info":{"code":"\"TrustedHTML\" in self && \"toString\" in TrustedHTML.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedScript","info":{"code":"\"TrustedScript\" in self","exposure":"Window"},"result":false},{"name":"api.TrustedScript.toJSON","info":{"code":"\"TrustedScript\" in self && \"toJSON\" in TrustedScript.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedScript.toString","info":{"code":"\"TrustedScript\" in self && \"toString\" in TrustedScript.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedScriptURL","info":{"code":"\"TrustedScriptURL\" in self","exposure":"Window"},"result":false},{"name":"api.TrustedScriptURL.toJSON","info":{"code":"\"TrustedScriptURL\" in self && \"toJSON\" in TrustedScriptURL.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedScriptURL.toString","info":{"code":"\"TrustedScriptURL\" in self && \"toString\" in TrustedScriptURL.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicy","info":{"code":"\"TrustedTypePolicy\" in self","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicy.createHTML","info":{"code":"\"TrustedTypePolicy\" in self && \"createHTML\" in TrustedTypePolicy.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicy.createScript","info":{"code":"\"TrustedTypePolicy\" in self && \"createScript\" in TrustedTypePolicy.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicy.createScriptURL","info":{"code":"\"TrustedTypePolicy\" in self && \"createScriptURL\" in TrustedTypePolicy.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicy.name","info":{"code":"\"TrustedTypePolicy\" in self && \"name\" in TrustedTypePolicy.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory","info":{"code":"\"TrustedTypePolicyFactory\" in self","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.createPolicy","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"createPolicy\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.defaultPolicy","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"defaultPolicy\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.emptyHTML","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"emptyHTML\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.emptyScript","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"emptyScript\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.getAttributeType","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"getAttributeType\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.getPropertyType","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"getPropertyType\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.isHTML","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"isHTML\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.isScript","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"isScript\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.TrustedTypePolicyFactory.isScriptURL","info":{"code":"\"TrustedTypePolicyFactory\" in self && \"isScriptURL\" in TrustedTypePolicyFactory.prototype","exposure":"Window"},"result":false},{"name":"api.UIEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new UIEvent(\"\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"UIEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.UIEvent.UIEvent","info":{"code":"bcd.testConstructor('UIEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: UIEvent is not defined"},{"name":"api.UIEvent.detail","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new UIEvent(\"\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"UIEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"detail\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.UIEvent.initUIEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new UIEvent(\"\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"UIEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"initUIEvent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.UIEvent.sourceCapabilities","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new UIEvent(\"\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"UIEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"sourceCapabilities\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.UIEvent.view","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new UIEvent(\"\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"UIEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"view\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.UIEvent.which","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new UIEvent(\"\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"UIEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"which\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.URL","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return \"URL\" in self;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.URL","info":{"code":"bcd.testConstructor('URL')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'URL': 1 argument required, but only 0 present."},{"name":"api.URL.canParse_static","info":{"code":"\"URL\" in self && \"canParse\" in URL","exposure":"Window"},"result":true},{"name":"api.URL.createObjectURL_static","info":{"code":"\"URL\" in self && \"createObjectURL\" in URL","exposure":"Window"},"result":true},{"name":"api.URL.hash","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"hash\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.host","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"host\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.hostname","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"hostname\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.href","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"href\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.origin","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"origin\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.parse_static","info":{"code":"\"URL\" in self && \"parse\" in URL","exposure":"Window"},"result":false},{"name":"api.URL.password","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"password\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.pathname","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"pathname\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.port","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.protocol","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.revokeObjectURL_static","info":{"code":"\"URL\" in self && \"revokeObjectURL\" in URL","exposure":"Window"},"result":true},{"name":"api.URL.search","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"search\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.searchParams","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"searchParams\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URL.toJSON","info":{"code":"\"URL\" in self && \"toJSON\" in URL.prototype","exposure":"Window"},"result":true},{"name":"api.URL.toString","info":{"code":"\"URL\" in self && \"toString\" in URL.prototype","exposure":"Window"},"result":true},{"name":"api.URL.username","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new URL(\"https://example.com\");\n  } catch (e) {\n    instance = new webkitURL(\"https://example.com\");\n  }\n  return !!instance && \"username\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.URLPattern","info":{"code":"bcd.testConstructor('URLPattern')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'URLPattern': 1 argument required, but only 0 present."},{"name":"api.URLPattern.URLPattern.ignoreCase_option","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  function constructor(options) {\n    new URLPattern(\"https://mdn-bcd-collector.gooborg.com/tests/*\", options);\n  }\n  return bcd.testOptionParam(constructor, null, \"ignoreCase\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw Error: relative URL without a base"},{"name":"api.URLPattern.exec","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"exec\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.hasRegExpGroups","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"hasRegExpGroups\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.URLPattern.hash","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"hash\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.hostname","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"hostname\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.password","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"password\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.pathname","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"pathname\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.port","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"port\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.protocol","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.search","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"search\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.test","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"test\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLPattern.username","info":{"code":"(function () {\n  if (!(\"URLPattern\" in self)) {\n    return { result: false, message: \"URLPattern is not defined\" };\n  }\n  var instance = new URLPattern(\n    \"https://mdn-bcd-collector.gooborg.com/tests/*\"\n  );\n  return !!instance && \"username\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.@@iterator","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.URLSearchParams","info":{"code":"bcd.testConstructor('URLSearchParams')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.URLSearchParams.URLSearchParams.USVString","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return true; // We already know this works, because we use a string to create the instance\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.URLSearchParams.record","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  try {\n    new URLSearchParams({ q: \"HelloWorld\", target: \"MDN\" });\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.URLSearchParams.sequence","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  try {\n    new URLSearchParams([\n      [\"q\", \"HelloWorld\"],\n      [\"target\", \"MDN\"]\n    ]);\n    return true;\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    return e;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.append","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"append\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.delete","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"delete\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.delete.value_parameter","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  instance = new URLSearchParams(\"foo=1&bar=2&foo=3&foo=1\");\n  instance.delete(\"foo\", \"1\");\n  return instance == \"bar=2&foo=3\";\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.entries","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.forEach","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.get","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"get\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.getAll","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"getAll\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.has","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"has\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.has.value_parameter","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  instance = new URLSearchParams(\"foo=1&bar=2&foo=3&foo=1\");\n  return instance.has(\"bar\", \"2\") && !instance.has(\"bar\", \"3\");\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.keys","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.set","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"set\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.size","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.sort","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"sort\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.toString","info":{"code":"\"URLSearchParams\" in self && \"toString\" in URLSearchParams.prototype","exposure":"Window"},"result":true},{"name":"api.URLSearchParams.values","info":{"code":"(function () {\n  if (!(\"URLSearchParams\" in self)) {\n    return { result: false, message: \"URLSearchParams is not defined\" };\n  }\n  var instance = new URLSearchParams(\"q=HelloWorld&target=MDN\");\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.USB","info":{"code":"\"USB\" in self","exposure":"Window"},"result":false},{"name":"api.USB.getDevices","info":{"code":"\"USB\" in self && \"getDevices\" in USB.prototype","exposure":"Window"},"result":false},{"name":"api.USB.requestDevice","info":{"code":"\"USB\" in self && \"requestDevice\" in USB.prototype","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface","info":{"code":"\"USBAlternateInterface\" in self","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface.USBAlternateInterface","info":{"code":"bcd.testConstructor('USBAlternateInterface')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBAlternateInterface is not defined"},{"name":"api.USBAlternateInterface.alternateSetting","info":{"code":"\"USBAlternateInterface\" in self && \"alternateSetting\" in USBAlternateInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface.endpoints","info":{"code":"\"USBAlternateInterface\" in self && \"endpoints\" in USBAlternateInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface.interfaceClass","info":{"code":"\"USBAlternateInterface\" in self && \"interfaceClass\" in USBAlternateInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface.interfaceName","info":{"code":"\"USBAlternateInterface\" in self && \"interfaceName\" in USBAlternateInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface.interfaceProtocol","info":{"code":"\"USBAlternateInterface\" in self && \"interfaceProtocol\" in USBAlternateInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBAlternateInterface.interfaceSubclass","info":{"code":"\"USBAlternateInterface\" in self && \"interfaceSubclass\" in USBAlternateInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBConfiguration","info":{"code":"\"USBConfiguration\" in self","exposure":"Window"},"result":false},{"name":"api.USBConfiguration.USBConfiguration","info":{"code":"bcd.testConstructor('USBConfiguration')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBConfiguration is not defined"},{"name":"api.USBConfiguration.configurationName","info":{"code":"\"USBConfiguration\" in self && \"configurationName\" in USBConfiguration.prototype","exposure":"Window"},"result":false},{"name":"api.USBConfiguration.configurationValue","info":{"code":"\"USBConfiguration\" in self && \"configurationValue\" in USBConfiguration.prototype","exposure":"Window"},"result":false},{"name":"api.USBConfiguration.interfaces","info":{"code":"\"USBConfiguration\" in self && \"interfaces\" in USBConfiguration.prototype","exposure":"Window"},"result":false},{"name":"api.USBConnectionEvent","info":{"code":"\"USBConnectionEvent\" in self","exposure":"Window"},"result":false},{"name":"api.USBConnectionEvent.USBConnectionEvent","info":{"code":"bcd.testConstructor('USBConnectionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBConnectionEvent is not defined"},{"name":"api.USBConnectionEvent.device","info":{"code":"\"USBConnectionEvent\" in self && \"device\" in USBConnectionEvent.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice","info":{"code":"\"USBDevice\" in self","exposure":"Window"},"result":false},{"name":"api.USBDevice.claimInterface","info":{"code":"\"USBDevice\" in self && \"claimInterface\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.clearHalt","info":{"code":"\"USBDevice\" in self && \"clearHalt\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.close","info":{"code":"\"USBDevice\" in self && \"close\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.configuration","info":{"code":"\"USBDevice\" in self && \"configuration\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.configurations","info":{"code":"\"USBDevice\" in self && \"configurations\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.controlTransferIn","info":{"code":"\"USBDevice\" in self && \"controlTransferIn\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.controlTransferOut","info":{"code":"\"USBDevice\" in self && \"controlTransferOut\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.deviceClass","info":{"code":"\"USBDevice\" in self && \"deviceClass\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.deviceProtocol","info":{"code":"\"USBDevice\" in self && \"deviceProtocol\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.deviceSubclass","info":{"code":"\"USBDevice\" in self && \"deviceSubclass\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.deviceVersionMajor","info":{"code":"\"USBDevice\" in self && \"deviceVersionMajor\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.deviceVersionMinor","info":{"code":"\"USBDevice\" in self && \"deviceVersionMinor\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.deviceVersionSubminor","info":{"code":"\"USBDevice\" in self && \"deviceVersionSubminor\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.forget","info":{"code":"\"USBDevice\" in self && \"forget\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.isochronousTransferIn","info":{"code":"\"USBDevice\" in self && \"isochronousTransferIn\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.isochronousTransferOut","info":{"code":"\"USBDevice\" in self && \"isochronousTransferOut\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.manufacturerName","info":{"code":"\"USBDevice\" in self && \"manufacturerName\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.open","info":{"code":"\"USBDevice\" in self && \"open\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.opened","info":{"code":"\"USBDevice\" in self && \"opened\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.productId","info":{"code":"\"USBDevice\" in self && \"productId\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.productName","info":{"code":"\"USBDevice\" in self && \"productName\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.releaseInterface","info":{"code":"\"USBDevice\" in self && \"releaseInterface\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.reset","info":{"code":"\"USBDevice\" in self && \"reset\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.selectAlternateInterface","info":{"code":"\"USBDevice\" in self && \"selectAlternateInterface\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.selectConfiguration","info":{"code":"\"USBDevice\" in self && \"selectConfiguration\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.serialNumber","info":{"code":"\"USBDevice\" in self && \"serialNumber\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.transferIn","info":{"code":"\"USBDevice\" in self && \"transferIn\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.transferOut","info":{"code":"\"USBDevice\" in self && \"transferOut\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.usbVersionMajor","info":{"code":"\"USBDevice\" in self && \"usbVersionMajor\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.usbVersionMinor","info":{"code":"\"USBDevice\" in self && \"usbVersionMinor\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.usbVersionSubminor","info":{"code":"\"USBDevice\" in self && \"usbVersionSubminor\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBDevice.vendorId","info":{"code":"\"USBDevice\" in self && \"vendorId\" in USBDevice.prototype","exposure":"Window"},"result":false},{"name":"api.USBEndpoint","info":{"code":"\"USBEndpoint\" in self","exposure":"Window"},"result":false},{"name":"api.USBEndpoint.USBEndpoint","info":{"code":"bcd.testConstructor('USBEndpoint')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBEndpoint is not defined"},{"name":"api.USBEndpoint.direction","info":{"code":"\"USBEndpoint\" in self && \"direction\" in USBEndpoint.prototype","exposure":"Window"},"result":false},{"name":"api.USBEndpoint.endpointNumber","info":{"code":"\"USBEndpoint\" in self && \"endpointNumber\" in USBEndpoint.prototype","exposure":"Window"},"result":false},{"name":"api.USBEndpoint.packetSize","info":{"code":"\"USBEndpoint\" in self && \"packetSize\" in USBEndpoint.prototype","exposure":"Window"},"result":false},{"name":"api.USBEndpoint.type","info":{"code":"\"USBEndpoint\" in self && \"type\" in USBEndpoint.prototype","exposure":"Window"},"result":false},{"name":"api.USBInTransferResult","info":{"code":"\"USBInTransferResult\" in self","exposure":"Window"},"result":false},{"name":"api.USBInTransferResult.USBInTransferResult","info":{"code":"bcd.testConstructor('USBInTransferResult')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBInTransferResult is not defined"},{"name":"api.USBInTransferResult.data","info":{"code":"\"USBInTransferResult\" in self && \"data\" in USBInTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBInTransferResult.status","info":{"code":"\"USBInTransferResult\" in self && \"status\" in USBInTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBInterface","info":{"code":"\"USBInterface\" in self","exposure":"Window"},"result":false},{"name":"api.USBInterface.USBInterface","info":{"code":"bcd.testConstructor('USBInterface')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBInterface is not defined"},{"name":"api.USBInterface.alternate","info":{"code":"\"USBInterface\" in self && \"alternate\" in USBInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBInterface.alternates","info":{"code":"\"USBInterface\" in self && \"alternates\" in USBInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBInterface.claimed","info":{"code":"\"USBInterface\" in self && \"claimed\" in USBInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBInterface.interfaceNumber","info":{"code":"\"USBInterface\" in self && \"interfaceNumber\" in USBInterface.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousInTransferPacket","info":{"code":"\"USBIsochronousInTransferPacket\" in self","exposure":"Window"},"result":false},{"name":"api.USBIsochronousInTransferPacket.USBIsochronousInTransferPacket","info":{"code":"bcd.testConstructor('USBIsochronousInTransferPacket')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBIsochronousInTransferPacket is not defined"},{"name":"api.USBIsochronousInTransferPacket.data","info":{"code":"\"USBIsochronousInTransferPacket\" in self && \"data\" in USBIsochronousInTransferPacket.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousInTransferPacket.status","info":{"code":"\"USBIsochronousInTransferPacket\" in self && \"status\" in USBIsochronousInTransferPacket.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousInTransferResult","info":{"code":"\"USBIsochronousInTransferResult\" in self","exposure":"Window"},"result":false},{"name":"api.USBIsochronousInTransferResult.USBIsochronousInTransferResult","info":{"code":"bcd.testConstructor('USBIsochronousInTransferResult')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBIsochronousInTransferResult is not defined"},{"name":"api.USBIsochronousInTransferResult.data","info":{"code":"\"USBIsochronousInTransferResult\" in self && \"data\" in USBIsochronousInTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousInTransferResult.packets","info":{"code":"\"USBIsochronousInTransferResult\" in self && \"packets\" in USBIsochronousInTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousOutTransferPacket","info":{"code":"\"USBIsochronousOutTransferPacket\" in self","exposure":"Window"},"result":false},{"name":"api.USBIsochronousOutTransferPacket.USBIsochronousOutTransferPacket","info":{"code":"bcd.testConstructor('USBIsochronousOutTransferPacket')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBIsochronousOutTransferPacket is not defined"},{"name":"api.USBIsochronousOutTransferPacket.bytesWritten","info":{"code":"\"USBIsochronousOutTransferPacket\" in self && \"bytesWritten\" in USBIsochronousOutTransferPacket.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousOutTransferPacket.status","info":{"code":"\"USBIsochronousOutTransferPacket\" in self && \"status\" in USBIsochronousOutTransferPacket.prototype","exposure":"Window"},"result":false},{"name":"api.USBIsochronousOutTransferResult","info":{"code":"\"USBIsochronousOutTransferResult\" in self","exposure":"Window"},"result":false},{"name":"api.USBIsochronousOutTransferResult.USBIsochronousOutTransferResult","info":{"code":"bcd.testConstructor('USBIsochronousOutTransferResult')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBIsochronousOutTransferResult is not defined"},{"name":"api.USBIsochronousOutTransferResult.packets","info":{"code":"\"USBIsochronousOutTransferResult\" in self && \"packets\" in USBIsochronousOutTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBOutTransferResult","info":{"code":"\"USBOutTransferResult\" in self","exposure":"Window"},"result":false},{"name":"api.USBOutTransferResult.USBOutTransferResult","info":{"code":"bcd.testConstructor('USBOutTransferResult')","exposure":"Window"},"result":false,"message":"threw ReferenceError: USBOutTransferResult is not defined"},{"name":"api.USBOutTransferResult.bytesWritten","info":{"code":"\"USBOutTransferResult\" in self && \"bytesWritten\" in USBOutTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBOutTransferResult.status","info":{"code":"\"USBOutTransferResult\" in self && \"status\" in USBOutTransferResult.prototype","exposure":"Window"},"result":false},{"name":"api.USBPermissionResult","info":{"code":"\"USBPermissionResult\" in self","exposure":"Window"},"result":false},{"name":"api.USBPermissionResult.devices","info":{"code":"\"USBPermissionResult\" in self && \"devices\" in USBPermissionResult.prototype","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer","info":{"code":"\"UncalibratedMagnetometer\" in self","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer.UncalibratedMagnetometer","info":{"code":"bcd.testConstructor('UncalibratedMagnetometer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: UncalibratedMagnetometer is not defined"},{"name":"api.UncalibratedMagnetometer.x","info":{"code":"\"UncalibratedMagnetometer\" in self && \"x\" in UncalibratedMagnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer.xBias","info":{"code":"\"UncalibratedMagnetometer\" in self && \"xBias\" in UncalibratedMagnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer.y","info":{"code":"\"UncalibratedMagnetometer\" in self && \"y\" in UncalibratedMagnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer.yBias","info":{"code":"\"UncalibratedMagnetometer\" in self && \"yBias\" in UncalibratedMagnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer.z","info":{"code":"\"UncalibratedMagnetometer\" in self && \"z\" in UncalibratedMagnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.UncalibratedMagnetometer.zBias","info":{"code":"\"UncalibratedMagnetometer\" in self && \"zBias\" in UncalibratedMagnetometer.prototype","exposure":"Window"},"result":false},{"name":"api.UserActivation","info":{"code":"\"UserActivation\" in self","exposure":"Window"},"result":false},{"name":"api.UserActivation.hasBeenActive","info":{"code":"\"UserActivation\" in self && \"hasBeenActive\" in UserActivation.prototype","exposure":"Window"},"result":false},{"name":"api.UserActivation.isActive","info":{"code":"\"UserActivation\" in self && \"isActive\" in UserActivation.prototype","exposure":"Window"},"result":false},{"name":"api.UserProximityEvent","info":{"code":"\"UserProximityEvent\" in self","exposure":"Window"},"result":false},{"name":"api.UserProximityEvent.near","info":{"code":"\"UserProximityEvent\" in self && \"near\" in UserProximityEvent.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay","info":{"code":"\"VRDisplay\" in self","exposure":"Window"},"result":false},{"name":"api.VRDisplay.cancelAnimationFrame","info":{"code":"\"VRDisplay\" in self && \"cancelAnimationFrame\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.capabilities","info":{"code":"\"VRDisplay\" in self && \"capabilities\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.depthFar","info":{"code":"\"VRDisplay\" in self && \"depthFar\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.depthNear","info":{"code":"\"VRDisplay\" in self && \"depthNear\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.displayId","info":{"code":"\"VRDisplay\" in self && \"displayId\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.displayName","info":{"code":"\"VRDisplay\" in self && \"displayName\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.exitPresent","info":{"code":"\"VRDisplay\" in self && \"exitPresent\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.getEyeParameters","info":{"code":"\"VRDisplay\" in self && \"getEyeParameters\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.getFrameData","info":{"code":"\"VRDisplay\" in self && \"getFrameData\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.getImmediatePose","info":{"code":"\"VRDisplay\" in self && \"getImmediatePose\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.getLayers","info":{"code":"\"VRDisplay\" in self && \"getLayers\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.getPose","info":{"code":"\"VRDisplay\" in self && \"getPose\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.isConnected","info":{"code":"\"VRDisplay\" in self && \"isConnected\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.isPresenting","info":{"code":"\"VRDisplay\" in self && \"isPresenting\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.requestAnimationFrame","info":{"code":"\"VRDisplay\" in self && \"requestAnimationFrame\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.requestPresent","info":{"code":"\"VRDisplay\" in self && \"requestPresent\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.resetPose","info":{"code":"\"VRDisplay\" in self && \"resetPose\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.stageParameters","info":{"code":"\"VRDisplay\" in self && \"stageParameters\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplay.submitFrame","info":{"code":"\"VRDisplay\" in self && \"submitFrame\" in VRDisplay.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayCapabilities","info":{"code":"\"VRDisplayCapabilities\" in self","exposure":"Window"},"result":false},{"name":"api.VRDisplayCapabilities.canPresent","info":{"code":"\"VRDisplayCapabilities\" in self && \"canPresent\" in VRDisplayCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayCapabilities.hasExternalDisplay","info":{"code":"\"VRDisplayCapabilities\" in self && \"hasExternalDisplay\" in VRDisplayCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayCapabilities.hasOrientation","info":{"code":"\"VRDisplayCapabilities\" in self && \"hasOrientation\" in VRDisplayCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayCapabilities.hasPosition","info":{"code":"\"VRDisplayCapabilities\" in self && \"hasPosition\" in VRDisplayCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayCapabilities.maxLayers","info":{"code":"\"VRDisplayCapabilities\" in self && \"maxLayers\" in VRDisplayCapabilities.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayEvent","info":{"code":"\"VRDisplayEvent\" in self","exposure":"Window"},"result":false},{"name":"api.VRDisplayEvent.VRDisplayEvent","info":{"code":"bcd.testConstructor('VRDisplayEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VRDisplayEvent is not defined"},{"name":"api.VRDisplayEvent.display","info":{"code":"\"VRDisplayEvent\" in self && \"display\" in VRDisplayEvent.prototype","exposure":"Window"},"result":false},{"name":"api.VRDisplayEvent.reason","info":{"code":"\"VRDisplayEvent\" in self && \"reason\" in VRDisplayEvent.prototype","exposure":"Window"},"result":false},{"name":"api.VREyeParameters","info":{"code":"\"VREyeParameters\" in self","exposure":"Window"},"result":false},{"name":"api.VREyeParameters.fieldOfView","info":{"code":"\"VREyeParameters\" in self && \"fieldOfView\" in VREyeParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VREyeParameters.maximumFieldOfView","info":{"code":"\"VREyeParameters\" in self && \"maximumFieldOfView\" in VREyeParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VREyeParameters.minimumFieldOfView","info":{"code":"\"VREyeParameters\" in self && \"minimumFieldOfView\" in VREyeParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VREyeParameters.offset","info":{"code":"\"VREyeParameters\" in self && \"offset\" in VREyeParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VREyeParameters.renderHeight","info":{"code":"\"VREyeParameters\" in self && \"renderHeight\" in VREyeParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VREyeParameters.renderWidth","info":{"code":"\"VREyeParameters\" in self && \"renderWidth\" in VREyeParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VRFieldOfView","info":{"code":"\"VRFieldOfView\" in self","exposure":"Window"},"result":false},{"name":"api.VRFieldOfView.downDegrees","info":{"code":"\"VRFieldOfView\" in self && \"downDegrees\" in VRFieldOfView.prototype","exposure":"Window"},"result":false},{"name":"api.VRFieldOfView.leftDegrees","info":{"code":"\"VRFieldOfView\" in self && \"leftDegrees\" in VRFieldOfView.prototype","exposure":"Window"},"result":false},{"name":"api.VRFieldOfView.rightDegrees","info":{"code":"\"VRFieldOfView\" in self && \"rightDegrees\" in VRFieldOfView.prototype","exposure":"Window"},"result":false},{"name":"api.VRFieldOfView.upDegrees","info":{"code":"\"VRFieldOfView\" in self && \"upDegrees\" in VRFieldOfView.prototype","exposure":"Window"},"result":false},{"name":"api.VRFrameData","info":{"code":"\"VRFrameData\" in self","exposure":"Window"},"result":false},{"name":"api.VRFrameData.VRFrameData","info":{"code":"bcd.testConstructor('VRFrameData')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VRFrameData is not defined"},{"name":"api.VRFrameData.leftProjectionMatrix","info":{"code":"\"VRFrameData\" in self && \"leftProjectionMatrix\" in VRFrameData.prototype","exposure":"Window"},"result":false},{"name":"api.VRFrameData.leftViewMatrix","info":{"code":"\"VRFrameData\" in self && \"leftViewMatrix\" in VRFrameData.prototype","exposure":"Window"},"result":false},{"name":"api.VRFrameData.pose","info":{"code":"\"VRFrameData\" in self && \"pose\" in VRFrameData.prototype","exposure":"Window"},"result":false},{"name":"api.VRFrameData.rightProjectionMatrix","info":{"code":"\"VRFrameData\" in self && \"rightProjectionMatrix\" in VRFrameData.prototype","exposure":"Window"},"result":false},{"name":"api.VRFrameData.rightViewMatrix","info":{"code":"\"VRFrameData\" in self && \"rightViewMatrix\" in VRFrameData.prototype","exposure":"Window"},"result":false},{"name":"api.VRFrameData.timestamp","info":{"code":"\"VRFrameData\" in self && \"timestamp\" in VRFrameData.prototype","exposure":"Window"},"result":false},{"name":"api.VRPose","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.angularAcceleration","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"angularAcceleration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.angularVelocity","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"angularVelocity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.hasOrientation","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"hasOrientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.hasPosition","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"hasPosition\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.linearAcceleration","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"linearAcceleration\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.linearVelocity","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"linearVelocity\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.orientation","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"orientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRPose.position","info":{"code":"(function () {\n  if (!(\"getVRDisplays\" in navigator)) {\n    return { result: false, message: \"WebVR 1.1 is not supported\" };\n  }\n  // Obtaining an actual instance requires a VR headset to be hooked up,\n  // so we are using the prototype instead\n  var instance = VRPose.prototype;\n  return !!instance && \"position\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.VRStageParameters","info":{"code":"\"VRStageParameters\" in self","exposure":"Window"},"result":false},{"name":"api.VRStageParameters.sittingToStandingTransform","info":{"code":"\"VRStageParameters\" in self && \"sittingToStandingTransform\" in VRStageParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VRStageParameters.sizeX","info":{"code":"\"VRStageParameters\" in self && \"sizeX\" in VRStageParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VRStageParameters.sizeY","info":{"code":"\"VRStageParameters\" in self && \"sizeY\" in VRStageParameters.prototype","exposure":"Window"},"result":false},{"name":"api.VTTCue","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.VTTCue","info":{"code":"bcd.testConstructor('VTTCue')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VTTCue is not defined"},{"name":"api.VTTCue.align","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"align\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.getCueAsHTML","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"getCueAsHTML\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.line","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"line\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.lineAlign","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"lineAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.position","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"position\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.positionAlign","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"positionAlign\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.region","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"region\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.size","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"size\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.snapToLines","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"snapToLines\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.text","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"text\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTCue.vertical","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var texttracks = el.textTracks;\n  if (!texttracks) {\n    return { result: false, message: \"texttracks is falsy\" };\n  }\n  var texttrack = texttracks[0];\n  if (!texttrack) {\n    return { result: false, message: \"texttrack is falsy\" };\n  }\n  var cues = texttrack.cues;\n  if (!cues) {\n    return { result: false, message: \"cues is falsy\" };\n  }\n  var instance = cues[0];\n  return !!instance && \"vertical\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VTTRegion","info":{"code":"\"VTTRegion\" in self","exposure":"Window"},"result":false},{"name":"api.VTTRegion.VTTRegion","info":{"code":"bcd.testConstructor('VTTRegion')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VTTRegion is not defined"},{"name":"api.VTTRegion.id","info":{"code":"\"VTTRegion\" in self && \"id\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.lines","info":{"code":"\"VTTRegion\" in self && \"lines\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.regionAnchorX","info":{"code":"\"VTTRegion\" in self && \"regionAnchorX\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.regionAnchorY","info":{"code":"\"VTTRegion\" in self && \"regionAnchorY\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.scroll","info":{"code":"\"VTTRegion\" in self && \"scroll\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.viewportAnchorX","info":{"code":"\"VTTRegion\" in self && \"viewportAnchorX\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.viewportAnchorY","info":{"code":"\"VTTRegion\" in self && \"viewportAnchorY\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.VTTRegion.width","info":{"code":"\"VTTRegion\" in self && \"width\" in VTTRegion.prototype","exposure":"Window"},"result":false},{"name":"api.ValidityState","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.badInput","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"badInput\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.customError","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"customError\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.patternMismatch","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"patternMismatch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.rangeOverflow","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"rangeOverflow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.rangeUnderflow","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"rangeUnderflow\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.stepMismatch","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"stepMismatch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.tooLong","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"tooLong\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.tooShort","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"tooShort\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.typeMismatch","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"typeMismatch\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.valid","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"valid\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValidityState.valueMissing","info":{"code":"(function () {\n  var el = document.createElement(\"input\");\n  if (!el) {\n    return { result: false, message: \"el is falsy\" };\n  }\n  var instance = el.validity;\n  return !!instance && \"valueMissing\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ValueEvent","info":{"code":"\"ValueEvent\" in self","exposure":"Window"},"result":false},{"name":"api.ValueEvent.ValueEvent","info":{"code":"bcd.testConstructor('ValueEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ValueEvent is not defined"},{"name":"api.ValueEvent.value","info":{"code":"\"ValueEvent\" in self && \"value\" in ValueEvent.prototype","exposure":"Window"},"result":false},{"name":"api.VideoColorSpace","info":{"code":"\"VideoColorSpace\" in self","exposure":"Window"},"result":false},{"name":"api.VideoColorSpace.VideoColorSpace","info":{"code":"bcd.testConstructor('VideoColorSpace')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VideoColorSpace is not defined"},{"name":"api.VideoColorSpace.fullRange","info":{"code":"\"VideoColorSpace\" in self && \"fullRange\" in VideoColorSpace.prototype","exposure":"Window"},"result":false},{"name":"api.VideoColorSpace.matrix","info":{"code":"\"VideoColorSpace\" in self && \"matrix\" in VideoColorSpace.prototype","exposure":"Window"},"result":false},{"name":"api.VideoColorSpace.primaries","info":{"code":"\"VideoColorSpace\" in self && \"primaries\" in VideoColorSpace.prototype","exposure":"Window"},"result":false},{"name":"api.VideoColorSpace.toJSON","info":{"code":"\"VideoColorSpace\" in self && \"toJSON\" in VideoColorSpace.prototype","exposure":"Window"},"result":false},{"name":"api.VideoColorSpace.transfer","info":{"code":"\"VideoColorSpace\" in self && \"transfer\" in VideoColorSpace.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder","info":{"code":"\"VideoDecoder\" in self","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.VideoDecoder","info":{"code":"bcd.testConstructor('VideoDecoder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VideoDecoder is not defined"},{"name":"api.VideoDecoder.close","info":{"code":"\"VideoDecoder\" in self && \"close\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.configure","info":{"code":"\"VideoDecoder\" in self && \"configure\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.decode","info":{"code":"\"VideoDecoder\" in self && \"decode\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.decodeQueueSize","info":{"code":"\"VideoDecoder\" in self && \"decodeQueueSize\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.flush","info":{"code":"\"VideoDecoder\" in self && \"flush\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.isConfigSupported_static","info":{"code":"\"VideoDecoder\" in self && \"isConfigSupported\" in VideoDecoder","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.reset","info":{"code":"\"VideoDecoder\" in self && \"reset\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoDecoder.state","info":{"code":"\"VideoDecoder\" in self && \"state\" in VideoDecoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder","info":{"code":"\"VideoEncoder\" in self","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.VideoEncoder","info":{"code":"bcd.testConstructor('VideoEncoder')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VideoEncoder is not defined"},{"name":"api.VideoEncoder.close","info":{"code":"\"VideoEncoder\" in self && \"close\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.configure","info":{"code":"\"VideoEncoder\" in self && \"configure\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.encode","info":{"code":"\"VideoEncoder\" in self && \"encode\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.encodeQueueSize","info":{"code":"\"VideoEncoder\" in self && \"encodeQueueSize\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.flush","info":{"code":"\"VideoEncoder\" in self && \"flush\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.isConfigSupported_static","info":{"code":"\"VideoEncoder\" in self && \"isConfigSupported\" in VideoEncoder","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.reset","info":{"code":"\"VideoEncoder\" in self && \"reset\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoEncoder.state","info":{"code":"\"VideoEncoder\" in self && \"state\" in VideoEncoder.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame","info":{"code":"\"VideoFrame\" in self","exposure":"Window"},"result":false},{"name":"api.VideoFrame.VideoFrame","info":{"code":"bcd.testConstructor('VideoFrame')","exposure":"Window"},"result":false,"message":"threw ReferenceError: VideoFrame is not defined"},{"name":"api.VideoFrame.allocationSize","info":{"code":"\"VideoFrame\" in self && \"allocationSize\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.clone","info":{"code":"\"VideoFrame\" in self && \"clone\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.close","info":{"code":"\"VideoFrame\" in self && \"close\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.codedHeight","info":{"code":"\"VideoFrame\" in self && \"codedHeight\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.codedRect","info":{"code":"\"VideoFrame\" in self && \"codedRect\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.codedWidth","info":{"code":"\"VideoFrame\" in self && \"codedWidth\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.colorSpace","info":{"code":"\"VideoFrame\" in self && \"colorSpace\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.copyTo","info":{"code":"\"VideoFrame\" in self && \"copyTo\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.displayHeight","info":{"code":"\"VideoFrame\" in self && \"displayHeight\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.displayWidth","info":{"code":"\"VideoFrame\" in self && \"displayWidth\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.duration","info":{"code":"\"VideoFrame\" in self && \"duration\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.flip","info":{"code":"\"VideoFrame\" in self && \"flip\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.format","info":{"code":"\"VideoFrame\" in self && \"format\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.metadata","info":{"code":"\"VideoFrame\" in self && \"metadata\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.rotation","info":{"code":"\"VideoFrame\" in self && \"rotation\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.timestamp","info":{"code":"\"VideoFrame\" in self && \"timestamp\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoFrame.visibleRect","info":{"code":"\"VideoFrame\" in self && \"visibleRect\" in VideoFrame.prototype","exposure":"Window"},"result":false},{"name":"api.VideoPlaybackQuality","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.getVideoPlaybackQuality();\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoPlaybackQuality.corruptedVideoFrames","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.getVideoPlaybackQuality();\n  return !!instance && \"corruptedVideoFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoPlaybackQuality.creationTime","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.getVideoPlaybackQuality();\n  return !!instance && \"creationTime\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoPlaybackQuality.droppedVideoFrames","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.getVideoPlaybackQuality();\n  return !!instance && \"droppedVideoFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoPlaybackQuality.totalFrameDelay","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.getVideoPlaybackQuality();\n  return !!instance && \"totalFrameDelay\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoPlaybackQuality.totalVideoFrames","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.getVideoPlaybackQuality();\n  return !!instance && \"totalVideoFrames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack.id","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance && \"id\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack.kind","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance && \"kind\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack.label","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance && \"label\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack.language","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance && \"language\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack.selected","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance && \"selected\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrack.sourceBuffer","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var videoTracks = el.videoTracks;\n  if (!videoTracks) {\n    return { result: false, message: \"videoTracks is falsy\" };\n  }\n  var instance = videoTracks[0];\n  return !!instance && \"sourceBuffer\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrackList","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.videoTracks;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrackList.getTrackById","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.videoTracks;\n  return !!instance && \"getTrackById\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrackList.length","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.videoTracks;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.VideoTrackList.selectedIndex","info":{"code":"(function () {\n  var el = document.getElementById(\"resource-video-blank\");\n  var instance = el.videoTracks;\n  return !!instance && \"selectedIndex\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.ViewTimeline","info":{"code":"\"ViewTimeline\" in self","exposure":"Window"},"result":false},{"name":"api.ViewTimeline.ViewTimeline","info":{"code":"bcd.testConstructor('ViewTimeline')","exposure":"Window"},"result":false,"message":"threw ReferenceError: ViewTimeline is not defined"},{"name":"api.ViewTimeline.endOffset","info":{"code":"\"ViewTimeline\" in self && \"endOffset\" in ViewTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTimeline.startOffset","info":{"code":"\"ViewTimeline\" in self && \"startOffset\" in ViewTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTimeline.subject","info":{"code":"\"ViewTimeline\" in self && \"subject\" in ViewTimeline.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition","info":{"code":"\"ViewTransition\" in self","exposure":"Window"},"result":false},{"name":"api.ViewTransition.finished","info":{"code":"\"ViewTransition\" in self && \"finished\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition.ready","info":{"code":"\"ViewTransition\" in self && \"ready\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition.skipTransition","info":{"code":"\"ViewTransition\" in self && \"skipTransition\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition.transitionRoot","info":{"code":"\"ViewTransition\" in self && \"transitionRoot\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition.types","info":{"code":"\"ViewTransition\" in self && \"types\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition.updateCallbackDone","info":{"code":"\"ViewTransition\" in self && \"updateCallbackDone\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransition.waitUntil","info":{"code":"\"ViewTransition\" in self && \"waitUntil\" in ViewTransition.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet","info":{"code":"\"ViewTransitionTypeSet\" in self","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"ViewTransitionTypeSet\" in self && !!(ViewTransitionTypeSet.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.add","info":{"code":"\"ViewTransitionTypeSet\" in self && \"add\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.clear","info":{"code":"\"ViewTransitionTypeSet\" in self && \"clear\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.delete","info":{"code":"\"ViewTransitionTypeSet\" in self && \"delete\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.entries","info":{"code":"\"ViewTransitionTypeSet\" in self && \"entries\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.forEach","info":{"code":"\"ViewTransitionTypeSet\" in self && \"forEach\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.has","info":{"code":"\"ViewTransitionTypeSet\" in self && \"has\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.keys","info":{"code":"\"ViewTransitionTypeSet\" in self && \"keys\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.size","info":{"code":"\"ViewTransitionTypeSet\" in self && \"size\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.ViewTransitionTypeSet.values","info":{"code":"\"ViewTransitionTypeSet\" in self && \"values\" in ViewTransitionTypeSet.prototype","exposure":"Window"},"result":false},{"name":"api.Viewport","info":{"code":"\"Viewport\" in self","exposure":"Window"},"result":false},{"name":"api.Viewport.segments","info":{"code":"\"Viewport\" in self && \"segments\" in Viewport.prototype","exposure":"Window"},"result":false},{"name":"api.VirtualKeyboard","info":{"code":"\"VirtualKeyboard\" in self","exposure":"Window"},"result":false},{"name":"api.VirtualKeyboard.boundingRect","info":{"code":"\"VirtualKeyboard\" in self && \"boundingRect\" in VirtualKeyboard.prototype","exposure":"Window"},"result":false},{"name":"api.VirtualKeyboard.hide","info":{"code":"\"VirtualKeyboard\" in self && \"hide\" in VirtualKeyboard.prototype","exposure":"Window"},"result":false},{"name":"api.VirtualKeyboard.overlaysContent","info":{"code":"\"VirtualKeyboard\" in self && \"overlaysContent\" in VirtualKeyboard.prototype","exposure":"Window"},"result":false},{"name":"api.VirtualKeyboard.show","info":{"code":"\"VirtualKeyboard\" in self && \"show\" in VirtualKeyboard.prototype","exposure":"Window"},"result":false},{"name":"api.VisibilityStateEntry","info":{"code":"\"VisibilityStateEntry\" in self","exposure":"Window"},"result":false},{"name":"api.VisibilityStateEntry.duration","info":{"code":"\"VisibilityStateEntry\" in self && \"duration\" in VisibilityStateEntry.prototype","exposure":"Window"},"result":false},{"name":"api.VisibilityStateEntry.entryType","info":{"code":"\"VisibilityStateEntry\" in self && \"entryType\" in VisibilityStateEntry.prototype","exposure":"Window"},"result":false},{"name":"api.VisibilityStateEntry.name","info":{"code":"\"VisibilityStateEntry\" in self && \"name\" in VisibilityStateEntry.prototype","exposure":"Window"},"result":false},{"name":"api.VisibilityStateEntry.startTime","info":{"code":"\"VisibilityStateEntry\" in self && \"startTime\" in VisibilityStateEntry.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport","info":{"code":"\"VisualViewport\" in self","exposure":"Window"},"result":false},{"name":"api.VisualViewport.height","info":{"code":"\"VisualViewport\" in self && \"height\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport.offsetLeft","info":{"code":"\"VisualViewport\" in self && \"offsetLeft\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport.offsetTop","info":{"code":"\"VisualViewport\" in self && \"offsetTop\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport.pageLeft","info":{"code":"\"VisualViewport\" in self && \"pageLeft\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport.pageTop","info":{"code":"\"VisualViewport\" in self && \"pageTop\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport.scale","info":{"code":"\"VisualViewport\" in self && \"scale\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.VisualViewport.width","info":{"code":"\"VisualViewport\" in self && \"width\" in VisualViewport.prototype","exposure":"Window"},"result":false},{"name":"api.WEBGL_blend_equation_advanced_coherent","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_blend_equation_advanced_coherent\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_clip_cull_distance","info":{"code":"\"WEBGL_clip_cull_distance\" in self","exposure":"Window"},"result":false},{"name":"api.WEBGL_color_buffer_float","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\n    \"WEBGL_color_buffer_float\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.WEBGL_compressed_texture_astc","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_astc\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_compressed_texture_astc.getSupportedProfiles","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_astc\"\n  );\n  return !!instance && \"getSupportedProfiles\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_compressed_texture_etc","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_etc\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_compressed_texture_etc1","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_etc1\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_compressed_texture_pvrtc","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_pvrtc\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_compressed_texture_s3tc","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_s3tc\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_compressed_texture_s3tc_srgb","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_compressed_texture_s3tc_srgb\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_debug_renderer_info","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_debug_renderer_info\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_debug_shaders","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_debug_shaders\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_debug_shaders.getTranslatedShaderSource","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_debug_shaders\");\n  return !!instance && \"getTranslatedShaderSource\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_depth_texture","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"WEBGL_depth_texture\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.WEBGL_draw_buffers","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"WEBGL_draw_buffers\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.WEBGL_draw_buffers.drawBuffersWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var instance = reusableInstances.webGL1.getExtension(\"WEBGL_draw_buffers\");\n  return !!instance && \"drawBuffersWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.WEBGL_draw_instanced_base_vertex_base_instance","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_draw_instanced_base_vertex_base_instance\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_draw_instanced_base_vertex_base_instance.drawArraysInstancedBaseInstanceWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_draw_instanced_base_vertex_base_instance\"\n  );\n  return !!instance && \"drawArraysInstancedBaseInstanceWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_draw_instanced_base_vertex_base_instance.drawElementsInstancedBaseVertexBaseInstanceWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_draw_instanced_base_vertex_base_instance\"\n  );\n  return (\n    !!instance && \"drawElementsInstancedBaseVertexBaseInstanceWEBGL\" in instance\n  );\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_lose_context","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_lose_context\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_lose_context.loseContext","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_lose_context\");\n  return !!instance && \"loseContext\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_lose_context.restoreContext","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_lose_context\");\n  return !!instance && \"restoreContext\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_multi_draw\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw.multiDrawArraysInstancedWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_multi_draw\");\n  return !!instance && \"multiDrawArraysInstancedWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw.multiDrawArraysWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_multi_draw\");\n  return !!instance && \"multiDrawArraysWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw.multiDrawElementsInstancedWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_multi_draw\");\n  return !!instance && \"multiDrawElementsInstancedWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw.multiDrawElementsWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\"WEBGL_multi_draw\");\n  return !!instance && \"multiDrawElementsWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw_instanced_base_vertex_base_instance","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_multi_draw_instanced_base_vertex_base_instance\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw_instanced_base_vertex_base_instance.multiDrawArraysInstancedBaseInstanceWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_multi_draw_instanced_base_vertex_base_instance\"\n  );\n  return !!instance && \"multiDrawArraysInstancedBaseInstanceWEBGL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_multi_draw_instanced_base_vertex_base_instance.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL","info":{"code":"(function () {\n  if (!reusableInstances.webGL) {\n    return { result: false, message: \"WebGL is not available\" };\n  }\n  var instance = reusableInstances.webGL.getExtension(\n    \"WEBGL_multi_draw_instanced_base_vertex_base_instance\"\n  );\n  return (\n    !!instance &&\n    \"multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL\" in instance\n  );\n})();\n","exposure":"Window"},"result":false,"message":"WebGL is not available"},{"name":"api.WEBGL_provoking_vertex","info":{"code":"\"WEBGL_provoking_vertex\" in self","exposure":"Window"},"result":false},{"name":"api.WEBGL_provoking_vertex.provokingVertexWEBGL","info":{"code":"\"WEBGL_provoking_vertex\" in self && \"provokingVertexWEBGL\" in WEBGL_provoking_vertex.prototype","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures","info":{"code":"\"WGSLLanguageFeatures\" in self","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"WGSLLanguageFeatures\" in self && !!(WGSLLanguageFeatures.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.entries","info":{"code":"\"WGSLLanguageFeatures\" in self && \"entries\" in WGSLLanguageFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.forEach","info":{"code":"\"WGSLLanguageFeatures\" in self && \"forEach\" in WGSLLanguageFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.has","info":{"code":"\"WGSLLanguageFeatures\" in self && \"has\" in WGSLLanguageFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.keys","info":{"code":"\"WGSLLanguageFeatures\" in self && \"keys\" in WGSLLanguageFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.size","info":{"code":"\"WGSLLanguageFeatures\" in self && \"size\" in WGSLLanguageFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.WGSLLanguageFeatures.values","info":{"code":"\"WGSLLanguageFeatures\" in self && \"values\" in WGSLLanguageFeatures.prototype","exposure":"Window"},"result":false},{"name":"api.WakeLock","info":{"code":"\"WakeLock\" in self","exposure":"Window"},"result":false},{"name":"api.WakeLock.request","info":{"code":"\"WakeLock\" in self && \"request\" in WakeLock.prototype","exposure":"Window"},"result":false},{"name":"api.WakeLockSentinel","info":{"code":"\"WakeLockSentinel\" in self","exposure":"Window"},"result":false},{"name":"api.WakeLockSentinel.release","info":{"code":"\"WakeLockSentinel\" in self && \"release\" in WakeLockSentinel.prototype","exposure":"Window"},"result":false},{"name":"api.WakeLockSentinel.released","info":{"code":"\"WakeLockSentinel\" in self && \"released\" in WakeLockSentinel.prototype","exposure":"Window"},"result":false},{"name":"api.WakeLockSentinel.type","info":{"code":"\"WakeLockSentinel\" in self && \"type\" in WakeLockSentinel.prototype","exposure":"Window"},"result":false},{"name":"api.WaveShaperNode","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createWaveShaper\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createWaveShaper is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createWaveShaper();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.WaveShaperNode.WaveShaperNode","info":{"code":"bcd.testConstructor('WaveShaperNode')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WaveShaperNode is not defined"},{"name":"api.WaveShaperNode.curve","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createWaveShaper\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createWaveShaper is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createWaveShaper();\n  return !!instance && \"curve\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.WaveShaperNode.oversample","info":{"code":"(function () {\n  if (!reusableInstances.audioContext) {\n    return { result: false, message: \"Audio context is not available\" };\n  }\n  if (!(\"createWaveShaper\" in reusableInstances.audioContext)) {\n    return {\n      result: false,\n      message: \"audioContext.createWaveShaper is not defined\"\n    };\n  }\n  var instance = reusableInstances.audioContext.createWaveShaper();\n  return !!instance && \"oversample\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Audio context is not available"},{"name":"api.WebGL2RenderingContext","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.activeTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"activeTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.attachShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"attachShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.beginQuery","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"beginQuery\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.beginTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"beginTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindAttribLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindAttribLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindBufferBase","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindBufferBase\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindBufferRange","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindBufferRange\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindSampler","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindSampler\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bindVertexArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bindVertexArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.blendColor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"blendColor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.blendEquation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"blendEquation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.blendEquationSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"blendEquationSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.blendFunc","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"blendFunc\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.blendFuncSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"blendFuncSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.blitFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"blitFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bufferData","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bufferData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.bufferSubData","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"bufferSubData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.canvas","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"canvas\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.checkFramebufferStatus","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"checkFramebufferStatus\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clear","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearBufferfi","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearBufferfi\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearBufferfv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearBufferfv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearBufferiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearBufferiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearBufferuiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearBufferuiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearColor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearColor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearDepth","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearDepth\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clearStencil","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clearStencil\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.clientWaitSync","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"clientWaitSync\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.colorMask","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"colorMask\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.compileShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"compileShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.compressedTexImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"compressedTexImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.compressedTexImage3D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"compressedTexImage3D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.compressedTexSubImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"compressedTexSubImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.compressedTexSubImage3D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"compressedTexSubImage3D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.copyBufferSubData","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"copyBufferSubData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.copyTexImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"copyTexImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.copyTexSubImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"copyTexSubImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.copyTexSubImage3D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"copyTexSubImage3D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createQuery","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createQuery\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createSampler","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createSampler\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.createVertexArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"createVertexArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.cullFace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"cullFace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteQuery","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteQuery\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteSampler","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteSampler\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteSync","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteSync\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.deleteVertexArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"deleteVertexArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.depthFunc","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"depthFunc\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.depthMask","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"depthMask\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.depthRange","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"depthRange\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.detachShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"detachShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.disable","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"disable\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.disableVertexAttribArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"disableVertexAttribArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawArrays","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawArrays\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawArraysInstanced","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawArraysInstanced\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawBuffers","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawBuffers\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawElements","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawElements\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawElementsInstanced","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawElementsInstanced\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawRangeElements","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawRangeElements\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawingBufferColorSpace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawingBufferColorSpace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawingBufferFormat","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawingBufferFormat\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawingBufferHeight","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawingBufferHeight\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawingBufferStorage","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawingBufferStorage\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.drawingBufferWidth","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"drawingBufferWidth\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.enable","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"enable\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.enableVertexAttribArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"enableVertexAttribArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.endQuery","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"endQuery\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.endTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"endTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.fenceSync","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"fenceSync\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.finish","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"finish\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.flush","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"flush\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.framebufferRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"framebufferRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.framebufferTexture2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"framebufferTexture2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.framebufferTextureLayer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"framebufferTextureLayer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.frontFace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"frontFace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.generateMipmap","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"generateMipmap\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getActiveAttrib","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getActiveAttrib\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getActiveUniform","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getActiveUniform\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getActiveUniformBlockName","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getActiveUniformBlockName\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getActiveUniformBlockParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getActiveUniformBlockParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getActiveUniforms","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getActiveUniforms\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getAttachedShaders","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getAttachedShaders\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getAttribLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getAttribLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getBufferParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getBufferParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getBufferSubData","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getBufferSubData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getContextAttributes","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getContextAttributes\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getError","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getError\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getExtension","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getExtension\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getFragDataLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getFragDataLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getFramebufferAttachmentParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getFramebufferAttachmentParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getIndexedParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getIndexedParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getInternalformatParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getInternalformatParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getProgramInfoLog","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getProgramInfoLog\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getProgramParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getProgramParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getQuery","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getQuery\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getQueryParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getQueryParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getRenderbufferParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getRenderbufferParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getSamplerParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getSamplerParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getShaderInfoLog","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getShaderInfoLog\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getShaderParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getShaderParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getShaderPrecisionFormat","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getShaderPrecisionFormat\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getShaderSource","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getShaderSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getSupportedExtensions","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getSupportedExtensions\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getSyncParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getSyncParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getTexParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getTexParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getTransformFeedbackVarying","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getTransformFeedbackVarying\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getUniform","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getUniform\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getUniformBlockIndex","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getUniformBlockIndex\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getUniformIndices","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getUniformIndices\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getUniformLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getUniformLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getVertexAttrib","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getVertexAttrib\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.getVertexAttribOffset","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"getVertexAttribOffset\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.hint","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"hint\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.invalidateFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"invalidateFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.invalidateSubFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"invalidateSubFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isContextLost","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isContextLost\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isEnabled","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isEnabled\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isQuery","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isQuery\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isSampler","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isSampler\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isSync","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isSync\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.isVertexArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"isVertexArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.lineWidth","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"lineWidth\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.linkProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"linkProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.makeXRCompatible","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"makeXRCompatible\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.pauseTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"pauseTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.pixelStorei","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"pixelStorei\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.polygonOffset","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"polygonOffset\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.readBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"readBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.readPixels","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"readPixels\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.renderbufferStorage","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"renderbufferStorage\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.renderbufferStorageMultisample","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"renderbufferStorageMultisample\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.resumeTransformFeedback","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"resumeTransformFeedback\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.sampleCoverage","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"sampleCoverage\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.samplerParameterf","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"samplerParameterf\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.samplerParameteri","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"samplerParameteri\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.scissor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"scissor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.shaderSource","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"shaderSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.stencilFunc","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"stencilFunc\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.stencilFuncSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"stencilFuncSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.stencilMask","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"stencilMask\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.stencilMaskSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"stencilMaskSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.stencilOp","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"stencilOp\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.stencilOpSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"stencilOpSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texImage3D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texImage3D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texParameterf","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texParameterf\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texParameteri","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texParameteri\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texStorage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texStorage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texStorage3D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texStorage3D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texSubImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texSubImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.texSubImage3D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"texSubImage3D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.transformFeedbackVaryings","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"transformFeedbackVaryings\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform1f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform1f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform1fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform1fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform1i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform1i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform1iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform1iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform1ui","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform1ui\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform1uiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform1uiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform2f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform2f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform2i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform2i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform2iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform2iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform2ui","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform2ui\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform2uiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform2uiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform3f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform3f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform3i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform3i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform3iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform3iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform3ui","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform3ui\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform3uiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform3uiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform4f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform4f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform4i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform4i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform4iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform4iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform4ui","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform4ui\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniform4uiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniform4uiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformBlockBinding","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformBlockBinding\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix2x3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix2x3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix2x4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix2x4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix3x2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix3x2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix3x4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix3x4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix4x2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix4x2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.uniformMatrix4x3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"uniformMatrix4x3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.unpackColorSpace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"unpackColorSpace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.useProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"useProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.validateProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"validateProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib1f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib1f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib1fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib1fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib2f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib2f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib3f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib3f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib4f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib4f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttrib4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttrib4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribDivisor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribDivisor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribI4i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribI4i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribI4iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribI4iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribI4ui","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribI4ui\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribI4uiv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribI4uiv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribIPointer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribIPointer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.vertexAttribPointer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"vertexAttribPointer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.viewport","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"viewport\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGL2RenderingContext.waitSync","info":{"code":"(function () {\n  var instance = reusableInstances.webGL2;\n  return !!instance && \"waitSync\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLActiveInfo","info":{"code":"\"WebGLActiveInfo\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLActiveInfo.name","info":{"code":"\"WebGLActiveInfo\" in self && \"name\" in WebGLActiveInfo.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLActiveInfo.size","info":{"code":"\"WebGLActiveInfo\" in self && \"size\" in WebGLActiveInfo.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLActiveInfo.type","info":{"code":"\"WebGLActiveInfo\" in self && \"type\" in WebGLActiveInfo.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLBuffer","info":{"code":"\"WebGLBuffer\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLContextEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WebGLContextEvent(\"webglcontextlost\");\n  } catch (e) {\n    if (!(\"document\" in self)) {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    try {\n      instance = document.createEvent(\"WebGLContextEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"Cannot create event"},{"name":"api.WebGLContextEvent.WebGLContextEvent","info":{"code":"bcd.testConstructor('WebGLContextEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebGLContextEvent is not defined"},{"name":"api.WebGLContextEvent.statusMessage","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WebGLContextEvent(\"webglcontextlost\");\n  } catch (e) {\n    if (!(\"document\" in self)) {\n      return { result: false, message: \"Cannot create event\" };\n    }\n    try {\n      instance = document.createEvent(\"WebGLContextEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"statusMessage\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"Cannot create event"},{"name":"api.WebGLFramebuffer","info":{"code":"\"WebGLFramebuffer\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLObject","info":{"code":"\"WebGLObject\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLObject.label","info":{"code":"\"WebGLObject\" in self && \"label\" in WebGLObject.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLProgram","info":{"code":"\"WebGLProgram\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLQuery","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  if (!(\"createQuery\" in reusableInstances.webGL2)) {\n    return {\n      result: false,\n      message: \"WebGL2RenderingContext.createQuery() is not defined\"\n    };\n  }\n  var instance = reusableInstances.webGL2.createQuery();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.WebGLRenderbuffer","info":{"code":"\"WebGLRenderbuffer\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.activeTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"activeTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.attachShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"attachShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bindAttribLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bindAttribLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bindBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bindBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bindFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bindFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bindRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bindRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bindTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bindTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.blendColor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"blendColor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.blendEquation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"blendEquation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.blendEquationSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"blendEquationSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.blendFunc","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"blendFunc\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.blendFuncSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"blendFuncSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bufferData","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bufferData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.bufferSubData","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"bufferSubData\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.canvas","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"canvas\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.checkFramebufferStatus","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"checkFramebufferStatus\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.clear","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"clear\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.clearColor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"clearColor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.clearDepth","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"clearDepth\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.clearStencil","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"clearStencil\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.colorMask","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"colorMask\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.compileShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"compileShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.compressedTexImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"compressedTexImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.compressedTexSubImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"compressedTexSubImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.copyTexImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"copyTexImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.copyTexSubImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"copyTexSubImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.createBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"createBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.createFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"createFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.createProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"createProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.createRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"createRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.createShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"createShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.createTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"createTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.cullFace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"cullFace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.deleteBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"deleteBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.deleteFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"deleteFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.deleteProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"deleteProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.deleteRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"deleteRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.deleteShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"deleteShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.deleteTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"deleteTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.depthFunc","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"depthFunc\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.depthMask","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"depthMask\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.depthRange","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"depthRange\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.detachShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"detachShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.disable","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"disable\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.disableVertexAttribArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"disableVertexAttribArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawArrays","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawArrays\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawElements","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawElements\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawingBufferColorSpace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawingBufferColorSpace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawingBufferFormat","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawingBufferFormat\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawingBufferHeight","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawingBufferHeight\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawingBufferStorage","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawingBufferStorage\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.drawingBufferWidth","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"drawingBufferWidth\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.enable","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"enable\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.enableVertexAttribArray","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"enableVertexAttribArray\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.finish","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"finish\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.flush","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"flush\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.framebufferRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"framebufferRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.framebufferTexture2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"framebufferTexture2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.frontFace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"frontFace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.generateMipmap","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"generateMipmap\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getActiveAttrib","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getActiveAttrib\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getActiveUniform","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getActiveUniform\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getAttachedShaders","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getAttachedShaders\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getAttribLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getAttribLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getBufferParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getBufferParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getContextAttributes","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getContextAttributes\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getError","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getError\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getExtension","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getExtension\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getFramebufferAttachmentParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getFramebufferAttachmentParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getProgramInfoLog","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getProgramInfoLog\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getProgramParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getProgramParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getRenderbufferParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getRenderbufferParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getShaderInfoLog","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getShaderInfoLog\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getShaderParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getShaderParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getShaderPrecisionFormat","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getShaderPrecisionFormat\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getShaderSource","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getShaderSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getSupportedExtensions","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getSupportedExtensions\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getTexParameter","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getTexParameter\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getUniform","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getUniform\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getUniformLocation","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getUniformLocation\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getVertexAttrib","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getVertexAttrib\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.getVertexAttribOffset","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"getVertexAttribOffset\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.hint","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"hint\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isBuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isBuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isContextLost","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isContextLost\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isEnabled","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isEnabled\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isFramebuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isFramebuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isRenderbuffer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isRenderbuffer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isShader","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isShader\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.isTexture","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"isTexture\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.lineWidth","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"lineWidth\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.linkProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"linkProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.makeXRCompatible","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  if (!(\"xr\" in navigator)) {\n    // Safari briefly exposes this when WebXR isn't implemented\n    return { result: false, message: \"navigator.xr is not defined\" };\n  }\n  return !!instance && \"makeXRCompatible\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.WebGLRenderingContext.pixelStorei","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"pixelStorei\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.polygonOffset","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"polygonOffset\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.readPixels","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"readPixels\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.renderbufferStorage","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"renderbufferStorage\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.sampleCoverage","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"sampleCoverage\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.scissor","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"scissor\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.shaderSource","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"shaderSource\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.stencilFunc","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"stencilFunc\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.stencilFuncSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"stencilFuncSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.stencilMask","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"stencilMask\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.stencilMaskSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"stencilMaskSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.stencilOp","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"stencilOp\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.stencilOpSeparate","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"stencilOpSeparate\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.texImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"texImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.texParameterf","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"texParameterf\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.texParameteri","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"texParameteri\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.texSubImage2D","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"texSubImage2D\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform1f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform1f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform1fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform1fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform1i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform1i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform1iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform1iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform2f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform2f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform2i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform2i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform2iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform2iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform3f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform3f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform3i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform3i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform3iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform3iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform4f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform4f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform4i","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform4i\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniform4iv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniform4iv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniformMatrix2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniformMatrix2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniformMatrix3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniformMatrix3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.uniformMatrix4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"uniformMatrix4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.unpackColorSpace","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"unpackColorSpace\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.useProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"useProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.validateProgram","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"validateProgram\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib1f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib1f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib1fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib1fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib2f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib2f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib2fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib2fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib3f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib3f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib3fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib3fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib4f","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib4f\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttrib4fv","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttrib4fv\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.vertexAttribPointer","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"vertexAttribPointer\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLRenderingContext.viewport","info":{"code":"(function () {\n  var instance = reusableInstances.webGL1;\n  return !!instance && \"viewport\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"api.WebGLSampler","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  if (!(\"createSampler\" in reusableInstances.webGL2)) {\n    return {\n      result: false,\n      message: \"WebGL2RenderingContext.createSampler() is not defined\"\n    };\n  }\n  var instance = reusableInstances.webGL2.createSampler();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.WebGLShader","info":{"code":"\"WebGLShader\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLShaderPrecisionFormat","info":{"code":"\"WebGLShaderPrecisionFormat\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLShaderPrecisionFormat.precision","info":{"code":"\"WebGLShaderPrecisionFormat\" in self && \"precision\" in WebGLShaderPrecisionFormat.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLShaderPrecisionFormat.rangeMax","info":{"code":"\"WebGLShaderPrecisionFormat\" in self && \"rangeMax\" in WebGLShaderPrecisionFormat.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLShaderPrecisionFormat.rangeMin","info":{"code":"\"WebGLShaderPrecisionFormat\" in self && \"rangeMin\" in WebGLShaderPrecisionFormat.prototype","exposure":"Window"},"result":false},{"name":"api.WebGLSync","info":{"code":"(function () {\n  if (!reusableInstances.webGL2) {\n    return { result: false, message: \"WebGL 2 is not available\" };\n  }\n  if (!(\"fenceSync\" in reusableInstances.webGL2)) {\n    return {\n      result: false,\n      message: \"WebGL2RenderingContext.fenceSync() is not defined\"\n    };\n  }\n  var instance = reusableInstances.webGL2.fenceSync(\n    reusableInstances.webGL2.SYNC_GPU_COMMANDS_COMPLETE,\n    0\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 2 is not available"},{"name":"api.WebGLTexture","info":{"code":"\"WebGLTexture\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLTimerQueryEXT","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var ext = reusableInstances.webGL1.getExtension(\"EXT_disjoint_timer_query\");\n  if (!ext) {\n    return { result: false, message: \"ext is falsy\" };\n  }\n  var instance = ext.createQueryEXT();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.WebGLTransformFeedback","info":{"code":"\"WebGLTransformFeedback\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLUniformLocation","info":{"code":"\"WebGLUniformLocation\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLVertexArrayObject","info":{"code":"\"WebGLVertexArrayObject\" in self","exposure":"Window"},"result":false},{"name":"api.WebGLVertexArrayObjectOES","info":{"code":"(function () {\n  if (!reusableInstances.webGL1) {\n    return { result: false, message: \"WebGL 1 is not available\" };\n  }\n  var ext = reusableInstances.webGL1.getExtension(\"OES_vertex_array_object\");\n  if (!ext) {\n    return { result: false, message: \"ext is falsy\" };\n  }\n  var instance = ext.createVertexArrayOES();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"WebGL 1 is not available"},{"name":"api.WebKitPoint","info":{"code":"\"WebKitPoint\" in self","exposure":"Window"},"result":false},{"name":"api.WebKitPoint.WebKitPoint","info":{"code":"bcd.testConstructor('WebKitPoint')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebKitPoint is not defined"},{"name":"api.WebKitPoint.x","info":{"code":"\"WebKitPoint\" in self && \"x\" in WebKitPoint.prototype","exposure":"Window"},"result":false},{"name":"api.WebKitPoint.y","info":{"code":"\"WebKitPoint\" in self && \"y\" in WebKitPoint.prototype","exposure":"Window"},"result":false},{"name":"api.WebSocket","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.WebSocket","info":{"code":"bcd.testConstructor('WebSocket')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebSocket is not defined"},{"name":"api.WebSocket.binaryType","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"binaryType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.bufferedAmount","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"bufferedAmount\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.close","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.extensions","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"extensions\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.protocol","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"protocol\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.readyState","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.send","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"send\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocket.url","info":{"code":"(function () {\n  var constructor = self.WebSocket || self.MozWebSocket;\n  if (!constructor) {\n    return { result: false, message: \"(Moz)WebSocket is not defined or falsy\" };\n  }\n  var instance = new constructor(\"wss://echo.websocket.org\");\n  bcd.addCleanup(function () {\n    instance.close();\n  });\n  return !!instance && \"url\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"(Moz)WebSocket is not defined or falsy"},{"name":"api.WebSocketError","info":{"code":"\"WebSocketError\" in self","exposure":"Window"},"result":false},{"name":"api.WebSocketError.WebSocketError","info":{"code":"bcd.testConstructor('WebSocketError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebSocketError is not defined"},{"name":"api.WebSocketError.closeCode","info":{"code":"\"WebSocketError\" in self && \"closeCode\" in WebSocketError.prototype","exposure":"Window"},"result":false},{"name":"api.WebSocketError.reason","info":{"code":"\"WebSocketError\" in self && \"reason\" in WebSocketError.prototype","exposure":"Window"},"result":false},{"name":"api.WebSocketStream","info":{"code":"\"WebSocketStream\" in self","exposure":"Window"},"result":false},{"name":"api.WebSocketStream.WebSocketStream","info":{"code":"bcd.testConstructor('WebSocketStream')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebSocketStream is not defined"},{"name":"api.WebSocketStream.close","info":{"code":"\"WebSocketStream\" in self && \"close\" in WebSocketStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebSocketStream.closed","info":{"code":"\"WebSocketStream\" in self && \"closed\" in WebSocketStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebSocketStream.opened","info":{"code":"\"WebSocketStream\" in self && \"opened\" in WebSocketStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebSocketStream.url","info":{"code":"\"WebSocketStream\" in self && \"url\" in WebSocketStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport","info":{"code":"\"WebTransport\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransport.WebTransport","info":{"code":"bcd.testConstructor('WebTransport')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebTransport is not defined"},{"name":"api.WebTransport.anticipatedConcurrentIncomingBidirectionalStreams","info":{"code":"\"WebTransport\" in self && \"anticipatedConcurrentIncomingBidirectionalStreams\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams","info":{"code":"\"WebTransport\" in self && \"anticipatedConcurrentIncomingUnidirectionalStreams\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.close","info":{"code":"\"WebTransport\" in self && \"close\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.closed","info":{"code":"\"WebTransport\" in self && \"closed\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.congestionControl","info":{"code":"\"WebTransport\" in self && \"congestionControl\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.createBidirectionalStream","info":{"code":"\"WebTransport\" in self && \"createBidirectionalStream\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.createSendGroup","info":{"code":"\"WebTransport\" in self && \"createSendGroup\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.createUnidirectionalStream","info":{"code":"\"WebTransport\" in self && \"createUnidirectionalStream\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.datagrams","info":{"code":"\"WebTransport\" in self && \"datagrams\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.draining","info":{"code":"\"WebTransport\" in self && \"draining\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.exportKeyingMaterial","info":{"code":"\"WebTransport\" in self && \"exportKeyingMaterial\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.getStats","info":{"code":"\"WebTransport\" in self && \"getStats\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.incomingBidirectionalStreams","info":{"code":"\"WebTransport\" in self && \"incomingBidirectionalStreams\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.incomingUnidirectionalStreams","info":{"code":"\"WebTransport\" in self && \"incomingUnidirectionalStreams\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.protocol","info":{"code":"\"WebTransport\" in self && \"protocol\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.ready","info":{"code":"\"WebTransport\" in self && \"ready\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.reliability","info":{"code":"\"WebTransport\" in self && \"reliability\" in WebTransport.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransport.supportsReliableOnly_static","info":{"code":"\"WebTransport\" in self && \"supportsReliableOnly\" in WebTransport","exposure":"Window"},"result":false},{"name":"api.WebTransportBidirectionalStream","info":{"code":"\"WebTransportBidirectionalStream\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportBidirectionalStream.readable","info":{"code":"\"WebTransportBidirectionalStream\" in self && \"readable\" in WebTransportBidirectionalStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportBidirectionalStream.writable","info":{"code":"\"WebTransportBidirectionalStream\" in self && \"writable\" in WebTransportBidirectionalStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream","info":{"code":"\"WebTransportDatagramDuplexStream\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.createWritable","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"createWritable\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.incomingHighWaterMark","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"incomingHighWaterMark\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.incomingMaxAge","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"incomingMaxAge\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.maxDatagramSize","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"maxDatagramSize\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.outgoingHighWaterMark","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"outgoingHighWaterMark\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.outgoingMaxAge","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"outgoingMaxAge\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.readable","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"readable\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramDuplexStream.writable","info":{"code":"\"WebTransportDatagramDuplexStream\" in self && \"writable\" in WebTransportDatagramDuplexStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramsWritable","info":{"code":"\"WebTransportDatagramsWritable\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramsWritable.sendGroup","info":{"code":"\"WebTransportDatagramsWritable\" in self && \"sendGroup\" in WebTransportDatagramsWritable.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportDatagramsWritable.sendOrder","info":{"code":"\"WebTransportDatagramsWritable\" in self && \"sendOrder\" in WebTransportDatagramsWritable.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportError","info":{"code":"\"WebTransportError\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportError.WebTransportError","info":{"code":"bcd.testConstructor('WebTransportError')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WebTransportError is not defined"},{"name":"api.WebTransportError.source","info":{"code":"\"WebTransportError\" in self && \"source\" in WebTransportError.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportError.streamErrorCode","info":{"code":"\"WebTransportError\" in self && \"streamErrorCode\" in WebTransportError.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportReceiveStream","info":{"code":"\"WebTransportReceiveStream\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportReceiveStream.getStats","info":{"code":"\"WebTransportReceiveStream\" in self && \"getStats\" in WebTransportReceiveStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportSendGroup","info":{"code":"\"WebTransportSendGroup\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportSendGroup.getStats","info":{"code":"\"WebTransportSendGroup\" in self && \"getStats\" in WebTransportSendGroup.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportSendStream","info":{"code":"\"WebTransportSendStream\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportSendStream.getStats","info":{"code":"\"WebTransportSendStream\" in self && \"getStats\" in WebTransportSendStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportSendStream.getWriter","info":{"code":"\"WebTransportSendStream\" in self && \"getWriter\" in WebTransportSendStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportSendStream.sendGroup","info":{"code":"\"WebTransportSendStream\" in self && \"sendGroup\" in WebTransportSendStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportSendStream.sendOrder","info":{"code":"\"WebTransportSendStream\" in self && \"sendOrder\" in WebTransportSendStream.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportWriter","info":{"code":"\"WebTransportWriter\" in self","exposure":"Window"},"result":false},{"name":"api.WebTransportWriter.atomicWrite","info":{"code":"\"WebTransportWriter\" in self && \"atomicWrite\" in WebTransportWriter.prototype","exposure":"Window"},"result":false},{"name":"api.WebTransportWriter.commit","info":{"code":"\"WebTransportWriter\" in self && \"commit\" in WebTransportWriter.prototype","exposure":"Window"},"result":false},{"name":"api.WheelEvent","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.WheelEvent","info":{"code":"bcd.testConstructor('WheelEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WheelEvent is not defined"},{"name":"api.WheelEvent.deltaMode","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"deltaMode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.deltaX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"deltaX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.deltaY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"deltaY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.deltaZ","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"deltaZ\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.wheelDelta","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"wheelDelta\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.wheelDeltaX","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"wheelDeltaX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.WheelEvent.wheelDeltaY","info":{"code":"(function () {\n  var instance;\n  try {\n    instance = new WheelEvent(\"wheel\");\n  } catch (e) {\n    try {\n      instance = document.createEvent(\"WheelEvent\");\n    } catch (e) {\n      if (e.name === \"NotSupportedError\" || e.name === \"NOT_SUPPORTED_ERR\") {\n        return { result: false, message: \"Cannot create event\" };\n      }\n      throw e;\n    }\n  }\n  return !!instance && \"wheelDeltaY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: document is not defined"},{"name":"api.Window","info":{"code":"(function () {\n  var instance = window;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.alert","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"alert\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.blur","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"blur\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.cancelAnimationFrame","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"cancelAnimationFrame\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.cancelIdleCallback","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"cancelIdleCallback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.captureEvents","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"captureEvents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.clearImmediate","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"clearImmediate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.close","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.closed","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"closed\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.confirm","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"confirm\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.cookieStore","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"cookieStore\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.credentialless","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"credentialless\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.customElements","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"customElements\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.devicePixelRatio","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"devicePixelRatio\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.document","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"document\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.documentPictureInPicture","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"documentPictureInPicture\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.dump","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"dump\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.event","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"event\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.external","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"external\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.fence","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"fence\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.fetchLater","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"fetchLater\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.find","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"find\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.focus","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"focus\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.frameElement","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"frameElement\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.frames","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"frames\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.fullScreen","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"fullScreen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.getComputedStyle","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"getComputedStyle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.getDefaultComputedStyle","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"getDefaultComputedStyle\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.getDigitalGoodsService","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"getDigitalGoodsService\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.getScreenDetails","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"getScreenDetails\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.getSelection","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"getSelection\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.history","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"history\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.innerHeight","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"innerHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.innerWidth","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"innerWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.launchQueue","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"launchQueue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.length","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.localStorage","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"localStorage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.location","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"location\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.locationbar","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"locationbar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.matchMedia","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"matchMedia\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.menubar","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"menubar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.moveBy","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"moveBy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.moveTo","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"moveTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.mozInnerScreenX","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"mozInnerScreenX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.mozInnerScreenY","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"mozInnerScreenY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.name","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.navigate","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"navigate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.navigation","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"navigation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.navigator","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"navigator\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.open","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.opener","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"opener\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.orientation","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"orientation\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.originAgentCluster","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"originAgentCluster\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.outerHeight","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"outerHeight\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.outerWidth","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"outerWidth\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.parent","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"parent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.personalbar","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"personalbar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.portalHost","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"portalHost\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.postMessage","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"postMessage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.postMessage.options_delegate_parameter","info":{"code":"(function () {\n  var instance = window;\n  function postMessage(options) {\n    window.postMessage(\"\", options);\n  }\n  try {\n    return bcd.testOptionParam(postMessage, null, \"delegate\", \"test\");\n  } catch (e) {\n    if (\n      e.name === \"NotSupportedError\" &&\n      stringIncludes(e.message, \"Delegation of 'test' is not supported.\")\n    ) {\n      return true;\n    }\n    throw e;\n  }\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.postMessage.options_includeUserActivation_parameter","info":{"code":"(function () {\n  var instance = window;\n  function postMessage(options) {\n    window.postMessage(\"\", options);\n  }\n  return bcd.testOptionParam(postMessage, null, \"includeUserActivation\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.print","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"print\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.prompt","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"prompt\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.pushManager","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"pushManager\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.queryLocalFonts","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"queryLocalFonts\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.releaseEvents","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"releaseEvents\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.requestAnimationFrame","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"requestAnimationFrame\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.requestFileSystem","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"requestFileSystem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.requestIdleCallback","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"requestIdleCallback\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.resizeBy","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"resizeBy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.resizeTo","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"resizeTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.resolveLocalFileSystemURL","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"resolveLocalFileSystemURL\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.screen","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"screen\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.screenLeft","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"screenLeft\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.screenTop","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"screenTop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.screenX","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"screenX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.screenY","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"screenY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scroll","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scroll\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scroll.options_behavior_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scroll\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scroll.options_left_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scroll\", \"left\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scroll.options_top_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scroll\", \"top\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollBy","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollBy\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollBy.options_behavior_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scrollBy\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollBy.options_left_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scrollBy\", \"left\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollBy.options_top_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scrollBy\", \"top\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollByLines","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollByLines\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollByPages","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollByPages\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollMaxX","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollMaxX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollMaxY","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollMaxY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollTo","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollTo\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollTo.options_behavior_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scrollTo\", \"behavior\", \"auto\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollTo.options_left_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scrollTo\", \"left\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollTo.options_top_parameter","info":{"code":"(function () {\n  var instance = window;\n  return bcd.testOptionParam(instance, \"scrollTo\", \"top\", \"0\");\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollX","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollX\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollY","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollY\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.scrollbars","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"scrollbars\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.self","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"self\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.sessionStorage","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"sessionStorage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.setImmediate","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"setImmediate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.setResizable","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"setResizable\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.sharedStorage","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"sharedStorage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.showDirectoryPicker","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"showDirectoryPicker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.showOpenFilePicker","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"showOpenFilePicker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.showSaveFilePicker","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"showSaveFilePicker\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.sizeToContent","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"sizeToContent\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.speechSynthesis","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"speechSynthesis\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.status","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"status\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.statusbar","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"statusbar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.stop","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"stop\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.styleMedia","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"styleMedia\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.toolbar","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"toolbar\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.top","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"top\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.updateCommands","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"updateCommands\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.viewport","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"viewport\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.visualViewport","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"visualViewport\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.webkitConvertPointFromNodeToPage","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"webkitConvertPointFromNodeToPage\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.webkitConvertPointFromPageToNode","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"webkitConvertPointFromPageToNode\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.Window.window","info":{"code":"(function () {\n  var instance = window;\n  return !!instance && \"window\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: window is not defined"},{"name":"api.WindowControlsOverlay","info":{"code":"\"WindowControlsOverlay\" in self","exposure":"Window"},"result":false},{"name":"api.WindowControlsOverlay.getTitlebarAreaRect","info":{"code":"\"WindowControlsOverlay\" in self && \"getTitlebarAreaRect\" in WindowControlsOverlay.prototype","exposure":"Window"},"result":false},{"name":"api.WindowControlsOverlay.visible","info":{"code":"\"WindowControlsOverlay\" in self && \"visible\" in WindowControlsOverlay.prototype","exposure":"Window"},"result":false},{"name":"api.WindowControlsOverlayGeometryChangeEvent","info":{"code":"\"WindowControlsOverlayGeometryChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.WindowControlsOverlayGeometryChangeEvent.WindowControlsOverlayGeometryChangeEvent","info":{"code":"bcd.testConstructor('WindowControlsOverlayGeometryChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WindowControlsOverlayGeometryChangeEvent is not defined"},{"name":"api.WindowControlsOverlayGeometryChangeEvent.titlebarAreaRect","info":{"code":"\"WindowControlsOverlayGeometryChangeEvent\" in self && \"titlebarAreaRect\" in WindowControlsOverlayGeometryChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.WindowControlsOverlayGeometryChangeEvent.visible","info":{"code":"\"WindowControlsOverlayGeometryChangeEvent\" in self && \"visible\" in WindowControlsOverlayGeometryChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.WindowSharedStorage","info":{"code":"\"WindowSharedStorage\" in self","exposure":"Window"},"result":false},{"name":"api.WindowSharedStorage.run","info":{"code":"\"WindowSharedStorage\" in self && \"run\" in WindowSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WindowSharedStorage.selectURL","info":{"code":"\"WindowSharedStorage\" in self && \"selectURL\" in WindowSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WindowSharedStorage.worklet","info":{"code":"\"WindowSharedStorage\" in self && \"worklet\" in WindowSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.Worker","info":{"code":"\"Worker\" in self","exposure":"Window"},"result":false},{"name":"api.Worker.Worker","info":{"code":"bcd.testConstructor('Worker')","exposure":"Window"},"result":false,"message":"threw ReferenceError: Worker is not defined"},{"name":"api.Worker.postMessage","info":{"code":"\"Worker\" in self && \"postMessage\" in Worker.prototype","exposure":"Window"},"result":false},{"name":"api.Worker.terminate","info":{"code":"\"Worker\" in self && \"terminate\" in Worker.prototype","exposure":"Window"},"result":false},{"name":"api.Worklet","info":{"code":"(function () {\n  var instance;\n  if (reusableInstances.audioContext) {\n    instance = reusableInstances.audioContext.audioWorklet;\n  } else {\n    instance = CSS.paintWorklet;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: CSS is not defined"},{"name":"api.Worklet.addModule","info":{"code":"(function () {\n  var instance;\n  if (reusableInstances.audioContext) {\n    instance = reusableInstances.audioContext.audioWorklet;\n  } else {\n    instance = CSS.paintWorklet;\n  }\n  return !!instance && \"addModule\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: CSS is not defined"},{"name":"api.WorkletAnimation","info":{"code":"\"WorkletAnimation\" in self","exposure":"Window"},"result":false},{"name":"api.WorkletAnimation.WorkletAnimation","info":{"code":"bcd.testConstructor('WorkletAnimation')","exposure":"Window"},"result":false,"message":"threw ReferenceError: WorkletAnimation is not defined"},{"name":"api.WorkletAnimation.animatorName","info":{"code":"\"WorkletAnimation\" in self && \"animatorName\" in WorkletAnimation.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage","info":{"code":"\"WorkletSharedStorage\" in self","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"WorkletSharedStorage\" in self && !!(WorkletSharedStorage.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.clear","info":{"code":"\"WorkletSharedStorage\" in self && \"clear\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.delete","info":{"code":"\"WorkletSharedStorage\" in self && \"delete\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.entries","info":{"code":"\"WorkletSharedStorage\" in self && \"entries\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.forEach","info":{"code":"\"WorkletSharedStorage\" in self && \"forEach\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.get","info":{"code":"\"WorkletSharedStorage\" in self && \"get\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.has","info":{"code":"\"WorkletSharedStorage\" in self && \"has\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.keys","info":{"code":"\"WorkletSharedStorage\" in self && \"keys\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.set","info":{"code":"\"WorkletSharedStorage\" in self && \"set\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.size","info":{"code":"\"WorkletSharedStorage\" in self && \"size\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WorkletSharedStorage.values","info":{"code":"\"WorkletSharedStorage\" in self && \"values\" in WorkletSharedStorage.prototype","exposure":"Window"},"result":false},{"name":"api.WritableStream","info":{"code":"\"WritableStream\" in self","exposure":"Window"},"result":true},{"name":"api.WritableStream.WritableStream","info":{"code":"bcd.testConstructor('WritableStream')","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"api.WritableStream.abort","info":{"code":"\"WritableStream\" in self && \"abort\" in WritableStream.prototype","exposure":"Window"},"result":true},{"name":"api.WritableStream.close","info":{"code":"\"WritableStream\" in self && \"close\" in WritableStream.prototype","exposure":"Window"},"result":true},{"name":"api.WritableStream.getWriter","info":{"code":"\"WritableStream\" in self && \"getWriter\" in WritableStream.prototype","exposure":"Window"},"result":true},{"name":"api.WritableStream.locked","info":{"code":"\"WritableStream\" in self && \"locked\" in WritableStream.prototype","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultController","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var promise = new Promise(function (resolve, reject) {\n    new WritableStream({\n      start(controller) {\n        resolve(controller);\n      }\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.WritableStreamDefaultWriter","info":{"code":"bcd.testConstructor('WritableStreamDefaultWriter')","exposure":"Window"},"result":true,"message":"threw TypeError: Failed to construct 'WritableStreamDefaultWriter': 1 argument required, but only 0 present."},{"name":"api.WritableStreamDefaultWriter.abort","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"abort\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.close","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"close\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.closed","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"closed\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.desiredSize","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"desiredSize\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.ready","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"ready\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.releaseLock","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"releaseLock\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultWriter.write","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var instance = new WritableStream({}).getWriter();\n  return !!instance && \"write\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.Writer","info":{"code":"\"Writer\" in self","exposure":"Window"},"result":false},{"name":"api.Writer.availability_static","info":{"code":"\"Writer\" in self && \"availability\" in Writer","exposure":"Window"},"result":false},{"name":"api.Writer.create_static","info":{"code":"\"Writer\" in self && \"create\" in Writer","exposure":"Window"},"result":false},{"name":"api.Writer.destroy","info":{"code":"\"Writer\" in self && \"destroy\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.expectedContextLanguages","info":{"code":"\"Writer\" in self && \"expectedContextLanguages\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.expectedInputLanguages","info":{"code":"\"Writer\" in self && \"expectedInputLanguages\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.format","info":{"code":"\"Writer\" in self && \"format\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.inputQuota","info":{"code":"\"Writer\" in self && \"inputQuota\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.length","info":{"code":"\"Writer\" in self && \"length\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.measureInputUsage","info":{"code":"\"Writer\" in self && \"measureInputUsage\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.outputLanguage","info":{"code":"\"Writer\" in self && \"outputLanguage\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.sharedContext","info":{"code":"\"Writer\" in self && \"sharedContext\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.tone","info":{"code":"\"Writer\" in self && \"tone\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.WritableStreamDefaultController.error","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var promise = new Promise(function (resolve, reject) {\n    new WritableStream({\n      start(controller) {\n        resolve(controller);\n      }\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"error\" in instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.WritableStreamDefaultController.signal","info":{"code":"(function () {\n  if (!(\"WritableStream\" in self)) {\n    return { result: false, message: \"WritableStream is not defined\" };\n  }\n  var promise = new Promise(function (resolve, reject) {\n    new WritableStream({\n      start(controller) {\n        resolve(controller);\n      }\n    });\n  });\n  if (!promise) {\n    return { result: false, message: \"Promise variable is falsy\" };\n  }\n  return promise.then(function (instance) {\n    return !!instance && \"signal\" in instance;\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"api.Writer.write","info":{"code":"\"Writer\" in self && \"write\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.Writer.writeStreaming","info":{"code":"\"Writer\" in self && \"writeStreaming\" in Writer.prototype","exposure":"Window"},"result":false},{"name":"api.XMLDocument","info":{"code":"\"XMLDocument\" in self","exposure":"Window"},"result":false},{"name":"api.XMLHttpRequest","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.XMLHttpRequest","info":{"code":"bcd.testConstructor('XMLHttpRequest')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.abort","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"abort\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.getAllResponseHeaders","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"getAllResponseHeaders\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.getResponseHeader","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"getResponseHeader\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.open","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"open\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.overrideMimeType","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"overrideMimeType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.readyState","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"readyState\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.response","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"response\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseText","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"responseText\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseType","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"responseType\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseType.arraybuffer_value","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  instance.responseType = \"arraybuffer\";\n  return instance.responseType === \"arraybuffer\";\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseType.blob_value","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  instance.responseType = \"blob\";\n  return instance.responseType === \"blob\";\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseType.document_value","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  instance.responseType = \"document\";\n  return instance.responseType === \"document\";\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseType.json_value","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  instance.responseType = \"json\";\n  return instance.responseType === \"json\";\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseURL","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"responseURL\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.responseXML","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"responseXML\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.send","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"send\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.setAttributionReporting","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"setAttributionReporting\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.setPrivateToken","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"setPrivateToken\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.setRequestHeader","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"setRequestHeader\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.status","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"status\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.statusText","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"statusText\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.timeout","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"timeout\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.upload","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"upload\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequest.withCredentials","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance && \"withCredentials\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequestEventTarget","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var instance = new XMLHttpRequest();\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLHttpRequestUpload","info":{"code":"(function () {\n  if (!(\"XMLHttpRequest\" in self)) {\n    return { result: false, message: \"XMLHttpRequest is not defined\" };\n  }\n  var xhr = new XMLHttpRequest();\n  if (!xhr) {\n    return { result: false, message: \"xhr is falsy\" };\n  }\n  var instance = xhr.upload;\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"XMLHttpRequest is not defined"},{"name":"api.XMLSerializer","info":{"code":"\"XMLSerializer\" in self","exposure":"Window"},"result":false},{"name":"api.XMLSerializer.XMLSerializer","info":{"code":"bcd.testConstructor('XMLSerializer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XMLSerializer is not defined"},{"name":"api.XMLSerializer.serializeToString","info":{"code":"\"XMLSerializer\" in self && \"serializeToString\" in XMLSerializer.prototype","exposure":"Window"},"result":false},{"name":"api.XPathEvaluator","info":{"code":"\"XPathEvaluator\" in self","exposure":"Window"},"result":false},{"name":"api.XPathEvaluator.XPathEvaluator","info":{"code":"bcd.testConstructor('XPathEvaluator')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathEvaluator.createExpression","info":{"code":"\"XPathEvaluator\" in self && \"createExpression\" in XPathEvaluator.prototype","exposure":"Window"},"result":false},{"name":"api.XPathEvaluator.createNSResolver","info":{"code":"\"XPathEvaluator\" in self && \"createNSResolver\" in XPathEvaluator.prototype","exposure":"Window"},"result":false},{"name":"api.XPathEvaluator.evaluate","info":{"code":"\"XPathEvaluator\" in self && \"evaluate\" in XPathEvaluator.prototype","exposure":"Window"},"result":false},{"name":"api.XPathExpression","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var instance = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathExpression.evaluate","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var instance = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  return !!instance && \"evaluate\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.booleanValue","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"booleanValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.invalidIteratorState","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"invalidIteratorState\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.iterateNext","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"iterateNext\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.numberValue","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"numberValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.resultType","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"resultType\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.singleNodeValue","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"singleNodeValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.snapshotItem","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"snapshotItem\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.snapshotLength","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"snapshotLength\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XPathResult.stringValue","info":{"code":"(function () {\n  var xpe = new XPathEvaluator();\n  var exp = xpe.createExpression(\"//div\", xpe.createNSResolver(document));\n  if (!exp) {\n    return { result: false, message: \"exp is falsy\" };\n  }\n  var instance = exp.evaluate(document, 0, null);\n  return !!instance && \"stringValue\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: XPathEvaluator is not defined"},{"name":"api.XRAnchor","info":{"code":"\"XRAnchor\" in self","exposure":"Window"},"result":false},{"name":"api.XRAnchor.anchorSpace","info":{"code":"\"XRAnchor\" in self && \"anchorSpace\" in XRAnchor.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchor.delete","info":{"code":"\"XRAnchor\" in self && \"delete\" in XRAnchor.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchor.requestPersistentHandle","info":{"code":"\"XRAnchor\" in self && \"requestPersistentHandle\" in XRAnchor.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet","info":{"code":"\"XRAnchorSet\" in self","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"XRAnchorSet\" in self && !!(XRAnchorSet.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.entries","info":{"code":"\"XRAnchorSet\" in self && \"entries\" in XRAnchorSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.forEach","info":{"code":"\"XRAnchorSet\" in self && \"forEach\" in XRAnchorSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.has","info":{"code":"\"XRAnchorSet\" in self && \"has\" in XRAnchorSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.keys","info":{"code":"\"XRAnchorSet\" in self && \"keys\" in XRAnchorSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.size","info":{"code":"\"XRAnchorSet\" in self && \"size\" in XRAnchorSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRAnchorSet.values","info":{"code":"\"XRAnchorSet\" in self && \"values\" in XRAnchorSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRBody","info":{"code":"\"XRBody\" in self","exposure":"Window"},"result":false},{"name":"api.XRBody.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"XRBody\" in self && !!(XRBody.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.XRBody.entries","info":{"code":"\"XRBody\" in self && \"entries\" in XRBody.prototype","exposure":"Window"},"result":false},{"name":"api.XRBody.forEach","info":{"code":"\"XRBody\" in self && \"forEach\" in XRBody.prototype","exposure":"Window"},"result":false},{"name":"api.XRBody.get","info":{"code":"\"XRBody\" in self && \"get\" in XRBody.prototype","exposure":"Window"},"result":false},{"name":"api.XRBody.keys","info":{"code":"\"XRBody\" in self && \"keys\" in XRBody.prototype","exposure":"Window"},"result":false},{"name":"api.XRBody.size","info":{"code":"\"XRBody\" in self && \"size\" in XRBody.prototype","exposure":"Window"},"result":false},{"name":"api.XRBody.values","info":{"code":"\"XRBody\" in self && \"values\" in XRBody.prototype","exposure":"Window"},"result":false},{"name":"api.XRBodySpace","info":{"code":"\"XRBodySpace\" in self","exposure":"Window"},"result":false},{"name":"api.XRBodySpace.jointName","info":{"code":"\"XRBodySpace\" in self && \"jointName\" in XRBodySpace.prototype","exposure":"Window"},"result":false},{"name":"api.XRBoundedReferenceSpace","info":{"code":"\"XRBoundedReferenceSpace\" in self","exposure":"Window"},"result":false},{"name":"api.XRBoundedReferenceSpace.boundsGeometry","info":{"code":"\"XRBoundedReferenceSpace\" in self && \"boundsGeometry\" in XRBoundedReferenceSpace.prototype","exposure":"Window"},"result":false},{"name":"api.XRCPUDepthInformation","info":{"code":"\"XRCPUDepthInformation\" in self","exposure":"Window"},"result":false},{"name":"api.XRCPUDepthInformation.data","info":{"code":"\"XRCPUDepthInformation\" in self && \"data\" in XRCPUDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRCPUDepthInformation.getDepthInMeters","info":{"code":"\"XRCPUDepthInformation\" in self && \"getDepthInMeters\" in XRCPUDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRCamera","info":{"code":"\"XRCamera\" in self","exposure":"Window"},"result":false},{"name":"api.XRCamera.height","info":{"code":"\"XRCamera\" in self && \"height\" in XRCamera.prototype","exposure":"Window"},"result":false},{"name":"api.XRCamera.width","info":{"code":"\"XRCamera\" in self && \"width\" in XRCamera.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer","info":{"code":"\"XRCompositionLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.blendTextureSourceAlpha","info":{"code":"\"XRCompositionLayer\" in self && \"blendTextureSourceAlpha\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.destroy","info":{"code":"\"XRCompositionLayer\" in self && \"destroy\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.forceMonoPresentation","info":{"code":"\"XRCompositionLayer\" in self && \"forceMonoPresentation\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.layout","info":{"code":"\"XRCompositionLayer\" in self && \"layout\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.mipLevels","info":{"code":"\"XRCompositionLayer\" in self && \"mipLevels\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.needsRedraw","info":{"code":"\"XRCompositionLayer\" in self && \"needsRedraw\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.opacity","info":{"code":"\"XRCompositionLayer\" in self && \"opacity\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCompositionLayer.quality","info":{"code":"\"XRCompositionLayer\" in self && \"quality\" in XRCompositionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCubeLayer","info":{"code":"\"XRCubeLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRCubeLayer.orientation","info":{"code":"\"XRCubeLayer\" in self && \"orientation\" in XRCubeLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCubeLayer.space","info":{"code":"\"XRCubeLayer\" in self && \"space\" in XRCubeLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCylinderLayer","info":{"code":"\"XRCylinderLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRCylinderLayer.aspectRatio","info":{"code":"\"XRCylinderLayer\" in self && \"aspectRatio\" in XRCylinderLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCylinderLayer.centralAngle","info":{"code":"\"XRCylinderLayer\" in self && \"centralAngle\" in XRCylinderLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCylinderLayer.radius","info":{"code":"\"XRCylinderLayer\" in self && \"radius\" in XRCylinderLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCylinderLayer.space","info":{"code":"\"XRCylinderLayer\" in self && \"space\" in XRCylinderLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRCylinderLayer.transform","info":{"code":"\"XRCylinderLayer\" in self && \"transform\" in XRCylinderLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation","info":{"code":"\"XRDepthInformation\" in self","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation.height","info":{"code":"\"XRDepthInformation\" in self && \"height\" in XRDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation.normDepthBufferFromNormView","info":{"code":"\"XRDepthInformation\" in self && \"normDepthBufferFromNormView\" in XRDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation.projectionMatrix","info":{"code":"\"XRDepthInformation\" in self && \"projectionMatrix\" in XRDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation.rawValueToMeters","info":{"code":"\"XRDepthInformation\" in self && \"rawValueToMeters\" in XRDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation.transform","info":{"code":"\"XRDepthInformation\" in self && \"transform\" in XRDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRDepthInformation.width","info":{"code":"\"XRDepthInformation\" in self && \"width\" in XRDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer","info":{"code":"\"XREquirectLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer.centralHorizontalAngle","info":{"code":"\"XREquirectLayer\" in self && \"centralHorizontalAngle\" in XREquirectLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer.lowerVerticalAngle","info":{"code":"\"XREquirectLayer\" in self && \"lowerVerticalAngle\" in XREquirectLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer.radius","info":{"code":"\"XREquirectLayer\" in self && \"radius\" in XREquirectLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer.space","info":{"code":"\"XREquirectLayer\" in self && \"space\" in XREquirectLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer.transform","info":{"code":"\"XREquirectLayer\" in self && \"transform\" in XREquirectLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XREquirectLayer.upperVerticalAngle","info":{"code":"\"XREquirectLayer\" in self && \"upperVerticalAngle\" in XREquirectLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame","info":{"code":"\"XRFrame\" in self","exposure":"Window"},"result":false},{"name":"api.XRFrame.body","info":{"code":"\"XRFrame\" in self && \"body\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.createAnchor","info":{"code":"\"XRFrame\" in self && \"createAnchor\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.detectedMeshes","info":{"code":"\"XRFrame\" in self && \"detectedMeshes\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.detectedPlanes","info":{"code":"\"XRFrame\" in self && \"detectedPlanes\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.fillJointRadii","info":{"code":"\"XRFrame\" in self && \"fillJointRadii\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.fillPoses","info":{"code":"\"XRFrame\" in self && \"fillPoses\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getDepthInformation","info":{"code":"\"XRFrame\" in self && \"getDepthInformation\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getHitTestResults","info":{"code":"\"XRFrame\" in self && \"getHitTestResults\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getHitTestResultsForTransientInput","info":{"code":"\"XRFrame\" in self && \"getHitTestResultsForTransientInput\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getJointPose","info":{"code":"\"XRFrame\" in self && \"getJointPose\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getLightEstimate","info":{"code":"\"XRFrame\" in self && \"getLightEstimate\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getPose","info":{"code":"\"XRFrame\" in self && \"getPose\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.getViewerPose","info":{"code":"\"XRFrame\" in self && \"getViewerPose\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.predictedDisplayTime","info":{"code":"\"XRFrame\" in self && \"predictedDisplayTime\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.session","info":{"code":"\"XRFrame\" in self && \"session\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRFrame.trackedAnchors","info":{"code":"\"XRFrame\" in self && \"trackedAnchors\" in XRFrame.prototype","exposure":"Window"},"result":false},{"name":"api.XRHand","info":{"code":"\"XRHand\" in self","exposure":"Window"},"result":false},{"name":"api.XRHand.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"XRHand\" in self && !!(XRHand.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.XRHand.entries","info":{"code":"\"XRHand\" in self && \"entries\" in XRHand.prototype","exposure":"Window"},"result":false},{"name":"api.XRHand.forEach","info":{"code":"\"XRHand\" in self && \"forEach\" in XRHand.prototype","exposure":"Window"},"result":false},{"name":"api.XRHand.get","info":{"code":"\"XRHand\" in self && \"get\" in XRHand.prototype","exposure":"Window"},"result":false},{"name":"api.XRHand.keys","info":{"code":"\"XRHand\" in self && \"keys\" in XRHand.prototype","exposure":"Window"},"result":false},{"name":"api.XRHand.size","info":{"code":"\"XRHand\" in self && \"size\" in XRHand.prototype","exposure":"Window"},"result":false},{"name":"api.XRHand.values","info":{"code":"\"XRHand\" in self && \"values\" in XRHand.prototype","exposure":"Window"},"result":false},{"name":"api.XRHitTestResult","info":{"code":"\"XRHitTestResult\" in self","exposure":"Window"},"result":false},{"name":"api.XRHitTestResult.createAnchor","info":{"code":"\"XRHitTestResult\" in self && \"createAnchor\" in XRHitTestResult.prototype","exposure":"Window"},"result":false},{"name":"api.XRHitTestResult.getPose","info":{"code":"\"XRHitTestResult\" in self && \"getPose\" in XRHitTestResult.prototype","exposure":"Window"},"result":false},{"name":"api.XRHitTestSource","info":{"code":"\"XRHitTestSource\" in self","exposure":"Window"},"result":false},{"name":"api.XRHitTestSource.cancel","info":{"code":"\"XRHitTestSource\" in self && \"cancel\" in XRHitTestSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource","info":{"code":"\"XRInputSource\" in self","exposure":"Window"},"result":false},{"name":"api.XRInputSource.gamepad","info":{"code":"\"XRInputSource\" in self && \"gamepad\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.gripSpace","info":{"code":"\"XRInputSource\" in self && \"gripSpace\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.hand","info":{"code":"\"XRInputSource\" in self && \"hand\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.handedness","info":{"code":"\"XRInputSource\" in self && \"handedness\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.profiles","info":{"code":"\"XRInputSource\" in self && \"profiles\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.skipRendering","info":{"code":"\"XRInputSource\" in self && \"skipRendering\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.targetRayMode","info":{"code":"\"XRInputSource\" in self && \"targetRayMode\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSource.targetRaySpace","info":{"code":"\"XRInputSource\" in self && \"targetRaySpace\" in XRInputSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray","info":{"code":"\"XRInputSourceArray\" in self","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"XRInputSourceArray\" in self && !!(XRInputSourceArray.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray.entries","info":{"code":"\"XRInputSourceArray\" in self && \"entries\" in XRInputSourceArray.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray.forEach","info":{"code":"\"XRInputSourceArray\" in self && \"forEach\" in XRInputSourceArray.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray.keys","info":{"code":"\"XRInputSourceArray\" in self && \"keys\" in XRInputSourceArray.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray.length","info":{"code":"\"XRInputSourceArray\" in self && \"length\" in XRInputSourceArray.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceArray.values","info":{"code":"\"XRInputSourceArray\" in self && \"values\" in XRInputSourceArray.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceEvent","info":{"code":"\"XRInputSourceEvent\" in self","exposure":"Window"},"result":false},{"name":"api.XRInputSourceEvent.XRInputSourceEvent","info":{"code":"bcd.testConstructor('XRInputSourceEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRInputSourceEvent is not defined"},{"name":"api.XRInputSourceEvent.frame","info":{"code":"\"XRInputSourceEvent\" in self && \"frame\" in XRInputSourceEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourceEvent.inputSource","info":{"code":"\"XRInputSourceEvent\" in self && \"inputSource\" in XRInputSourceEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourcesChangeEvent","info":{"code":"\"XRInputSourcesChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.XRInputSourcesChangeEvent.XRInputSourcesChangeEvent","info":{"code":"bcd.testConstructor('XRInputSourcesChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRInputSourcesChangeEvent is not defined"},{"name":"api.XRInputSourcesChangeEvent.added","info":{"code":"\"XRInputSourcesChangeEvent\" in self && \"added\" in XRInputSourcesChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourcesChangeEvent.removed","info":{"code":"\"XRInputSourcesChangeEvent\" in self && \"removed\" in XRInputSourcesChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRInputSourcesChangeEvent.session","info":{"code":"\"XRInputSourcesChangeEvent\" in self && \"session\" in XRInputSourcesChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRJointPose","info":{"code":"\"XRJointPose\" in self","exposure":"Window"},"result":false},{"name":"api.XRJointPose.radius","info":{"code":"\"XRJointPose\" in self && \"radius\" in XRJointPose.prototype","exposure":"Window"},"result":false},{"name":"api.XRJointSpace","info":{"code":"\"XRJointSpace\" in self","exposure":"Window"},"result":false},{"name":"api.XRJointSpace.jointName","info":{"code":"\"XRJointSpace\" in self && \"jointName\" in XRJointSpace.prototype","exposure":"Window"},"result":false},{"name":"api.XRLayer","info":{"code":"\"XRLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRLayerEvent","info":{"code":"\"XRLayerEvent\" in self","exposure":"Window"},"result":false},{"name":"api.XRLayerEvent.XRLayerEvent","info":{"code":"bcd.testConstructor('XRLayerEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRLayerEvent is not defined"},{"name":"api.XRLayerEvent.layer","info":{"code":"\"XRLayerEvent\" in self && \"layer\" in XRLayerEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRLightEstimate","info":{"code":"\"XRLightEstimate\" in self","exposure":"Window"},"result":false},{"name":"api.XRLightEstimate.primaryLightDirection","info":{"code":"\"XRLightEstimate\" in self && \"primaryLightDirection\" in XRLightEstimate.prototype","exposure":"Window"},"result":false},{"name":"api.XRLightEstimate.primaryLightIntensity","info":{"code":"\"XRLightEstimate\" in self && \"primaryLightIntensity\" in XRLightEstimate.prototype","exposure":"Window"},"result":false},{"name":"api.XRLightEstimate.sphericalHarmonicsCoefficients","info":{"code":"\"XRLightEstimate\" in self && \"sphericalHarmonicsCoefficients\" in XRLightEstimate.prototype","exposure":"Window"},"result":false},{"name":"api.XRLightProbe","info":{"code":"\"XRLightProbe\" in self","exposure":"Window"},"result":false},{"name":"api.XRLightProbe.probeSpace","info":{"code":"\"XRLightProbe\" in self && \"probeSpace\" in XRLightProbe.prototype","exposure":"Window"},"result":false},{"name":"api.XRMediaBinding","info":{"code":"\"XRMediaBinding\" in self","exposure":"Window"},"result":false},{"name":"api.XRMediaBinding.XRMediaBinding","info":{"code":"bcd.testConstructor('XRMediaBinding')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRMediaBinding is not defined"},{"name":"api.XRMediaBinding.createCylinderLayer","info":{"code":"\"XRMediaBinding\" in self && \"createCylinderLayer\" in XRMediaBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRMediaBinding.createEquirectLayer","info":{"code":"\"XRMediaBinding\" in self && \"createEquirectLayer\" in XRMediaBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRMediaBinding.createQuadLayer","info":{"code":"\"XRMediaBinding\" in self && \"createQuadLayer\" in XRMediaBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRMesh","info":{"code":"\"XRMesh\" in self","exposure":"Window"},"result":false},{"name":"api.XRMesh.indices","info":{"code":"\"XRMesh\" in self && \"indices\" in XRMesh.prototype","exposure":"Window"},"result":false},{"name":"api.XRMesh.lastChangedTime","info":{"code":"\"XRMesh\" in self && \"lastChangedTime\" in XRMesh.prototype","exposure":"Window"},"result":false},{"name":"api.XRMesh.meshSpace","info":{"code":"\"XRMesh\" in self && \"meshSpace\" in XRMesh.prototype","exposure":"Window"},"result":false},{"name":"api.XRMesh.semanticLabel","info":{"code":"\"XRMesh\" in self && \"semanticLabel\" in XRMesh.prototype","exposure":"Window"},"result":false},{"name":"api.XRMesh.vertices","info":{"code":"\"XRMesh\" in self && \"vertices\" in XRMesh.prototype","exposure":"Window"},"result":false},{"name":"api.XRMeshSet","info":{"code":"\"XRMeshSet\" in self","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"XRMeshSet\" in self && !!(XRMeshSet.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.entries","info":{"code":"\"XRMeshSet\" in self && \"entries\" in XRMeshSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.forEach","info":{"code":"\"XRMeshSet\" in self && \"forEach\" in XRMeshSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.has","info":{"code":"\"XRMeshSet\" in self && \"has\" in XRMeshSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.keys","info":{"code":"\"XRMeshSet\" in self && \"keys\" in XRMeshSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.size","info":{"code":"\"XRMeshSet\" in self && \"size\" in XRMeshSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRMeshSet.values","info":{"code":"\"XRMeshSet\" in self && \"values\" in XRMeshSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPermissionStatus","info":{"code":"\"XRPermissionStatus\" in self","exposure":"Window"},"result":false},{"name":"api.XRPermissionStatus.granted","info":{"code":"\"XRPermissionStatus\" in self && \"granted\" in XRPermissionStatus.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlane","info":{"code":"\"XRPlane\" in self","exposure":"Window"},"result":false},{"name":"api.XRPlane.lastChangedTime","info":{"code":"\"XRPlane\" in self && \"lastChangedTime\" in XRPlane.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlane.orientation","info":{"code":"\"XRPlane\" in self && \"orientation\" in XRPlane.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlane.planeSpace","info":{"code":"\"XRPlane\" in self && \"planeSpace\" in XRPlane.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlane.polygon","info":{"code":"\"XRPlane\" in self && \"polygon\" in XRPlane.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlane.semanticLabel","info":{"code":"\"XRPlane\" in self && \"semanticLabel\" in XRPlane.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet","info":{"code":"\"XRPlaneSet\" in self","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"XRPlaneSet\" in self && !!(XRPlaneSet.prototype[Symbol.iterator])","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.entries","info":{"code":"\"XRPlaneSet\" in self && \"entries\" in XRPlaneSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.forEach","info":{"code":"\"XRPlaneSet\" in self && \"forEach\" in XRPlaneSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.has","info":{"code":"\"XRPlaneSet\" in self && \"has\" in XRPlaneSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.keys","info":{"code":"\"XRPlaneSet\" in self && \"keys\" in XRPlaneSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.size","info":{"code":"\"XRPlaneSet\" in self && \"size\" in XRPlaneSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPlaneSet.values","info":{"code":"\"XRPlaneSet\" in self && \"values\" in XRPlaneSet.prototype","exposure":"Window"},"result":false},{"name":"api.XRPose","info":{"code":"\"XRPose\" in self","exposure":"Window"},"result":false},{"name":"api.XRPose.angularVelocity","info":{"code":"\"XRPose\" in self && \"angularVelocity\" in XRPose.prototype","exposure":"Window"},"result":false},{"name":"api.XRPose.emulatedPosition","info":{"code":"\"XRPose\" in self && \"emulatedPosition\" in XRPose.prototype","exposure":"Window"},"result":false},{"name":"api.XRPose.linearVelocity","info":{"code":"\"XRPose\" in self && \"linearVelocity\" in XRPose.prototype","exposure":"Window"},"result":false},{"name":"api.XRPose.transform","info":{"code":"\"XRPose\" in self && \"transform\" in XRPose.prototype","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer","info":{"code":"\"XRProjectionLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer.deltaPose","info":{"code":"\"XRProjectionLayer\" in self && \"deltaPose\" in XRProjectionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer.fixedFoveation","info":{"code":"\"XRProjectionLayer\" in self && \"fixedFoveation\" in XRProjectionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer.ignoreDepthValues","info":{"code":"\"XRProjectionLayer\" in self && \"ignoreDepthValues\" in XRProjectionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer.textureArrayLength","info":{"code":"\"XRProjectionLayer\" in self && \"textureArrayLength\" in XRProjectionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer.textureHeight","info":{"code":"\"XRProjectionLayer\" in self && \"textureHeight\" in XRProjectionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRProjectionLayer.textureWidth","info":{"code":"\"XRProjectionLayer\" in self && \"textureWidth\" in XRProjectionLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRQuadLayer","info":{"code":"\"XRQuadLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRQuadLayer.height","info":{"code":"\"XRQuadLayer\" in self && \"height\" in XRQuadLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRQuadLayer.space","info":{"code":"\"XRQuadLayer\" in self && \"space\" in XRQuadLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRQuadLayer.transform","info":{"code":"\"XRQuadLayer\" in self && \"transform\" in XRQuadLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRQuadLayer.width","info":{"code":"\"XRQuadLayer\" in self && \"width\" in XRQuadLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRRay","info":{"code":"\"XRRay\" in self","exposure":"Window"},"result":false},{"name":"api.XRRay.XRRay","info":{"code":"bcd.testConstructor('XRRay')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRRay is not defined"},{"name":"api.XRRay.direction","info":{"code":"\"XRRay\" in self && \"direction\" in XRRay.prototype","exposure":"Window"},"result":false},{"name":"api.XRRay.matrix","info":{"code":"\"XRRay\" in self && \"matrix\" in XRRay.prototype","exposure":"Window"},"result":false},{"name":"api.XRRay.origin","info":{"code":"\"XRRay\" in self && \"origin\" in XRRay.prototype","exposure":"Window"},"result":false},{"name":"api.XRReferenceSpace","info":{"code":"\"XRReferenceSpace\" in self","exposure":"Window"},"result":false},{"name":"api.XRReferenceSpace.getOffsetReferenceSpace","info":{"code":"\"XRReferenceSpace\" in self && \"getOffsetReferenceSpace\" in XRReferenceSpace.prototype","exposure":"Window"},"result":false},{"name":"api.XRReferenceSpaceEvent","info":{"code":"\"XRReferenceSpaceEvent\" in self","exposure":"Window"},"result":false},{"name":"api.XRReferenceSpaceEvent.XRReferenceSpaceEvent","info":{"code":"bcd.testConstructor('XRReferenceSpaceEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRReferenceSpaceEvent is not defined"},{"name":"api.XRReferenceSpaceEvent.referenceSpace","info":{"code":"\"XRReferenceSpaceEvent\" in self && \"referenceSpace\" in XRReferenceSpaceEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRReferenceSpaceEvent.transform","info":{"code":"\"XRReferenceSpaceEvent\" in self && \"transform\" in XRReferenceSpaceEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRRenderState","info":{"code":"\"XRRenderState\" in self","exposure":"Window"},"result":false},{"name":"api.XRRenderState.baseLayer","info":{"code":"\"XRRenderState\" in self && \"baseLayer\" in XRRenderState.prototype","exposure":"Window"},"result":false},{"name":"api.XRRenderState.depthFar","info":{"code":"\"XRRenderState\" in self && \"depthFar\" in XRRenderState.prototype","exposure":"Window"},"result":false},{"name":"api.XRRenderState.depthNear","info":{"code":"\"XRRenderState\" in self && \"depthNear\" in XRRenderState.prototype","exposure":"Window"},"result":false},{"name":"api.XRRenderState.inlineVerticalFieldOfView","info":{"code":"\"XRRenderState\" in self && \"inlineVerticalFieldOfView\" in XRRenderState.prototype","exposure":"Window"},"result":false},{"name":"api.XRRenderState.layers","info":{"code":"\"XRRenderState\" in self && \"layers\" in XRRenderState.prototype","exposure":"Window"},"result":false},{"name":"api.XRRenderState.passthroughFullyObscured","info":{"code":"\"XRRenderState\" in self && \"passthroughFullyObscured\" in XRRenderState.prototype","exposure":"Window"},"result":false},{"name":"api.XRRigidTransform","info":{"code":"\"XRRigidTransform\" in self","exposure":"Window"},"result":false},{"name":"api.XRRigidTransform.XRRigidTransform","info":{"code":"bcd.testConstructor('XRRigidTransform')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRRigidTransform is not defined"},{"name":"api.XRRigidTransform.inverse","info":{"code":"\"XRRigidTransform\" in self && \"inverse\" in XRRigidTransform.prototype","exposure":"Window"},"result":false},{"name":"api.XRRigidTransform.matrix","info":{"code":"\"XRRigidTransform\" in self && \"matrix\" in XRRigidTransform.prototype","exposure":"Window"},"result":false},{"name":"api.XRRigidTransform.orientation","info":{"code":"\"XRRigidTransform\" in self && \"orientation\" in XRRigidTransform.prototype","exposure":"Window"},"result":false},{"name":"api.XRRigidTransform.position","info":{"code":"\"XRRigidTransform\" in self && \"position\" in XRRigidTransform.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession","info":{"code":"\"XRSession\" in self","exposure":"Window"},"result":false},{"name":"api.XRSession.cancelAnimationFrame","info":{"code":"\"XRSession\" in self && \"cancelAnimationFrame\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.deletePersistentAnchor","info":{"code":"\"XRSession\" in self && \"deletePersistentAnchor\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.depthActive","info":{"code":"\"XRSession\" in self && \"depthActive\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.depthDataFormat","info":{"code":"\"XRSession\" in self && \"depthDataFormat\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.depthType","info":{"code":"\"XRSession\" in self && \"depthType\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.depthUsage","info":{"code":"\"XRSession\" in self && \"depthUsage\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.domOverlayState","info":{"code":"\"XRSession\" in self && \"domOverlayState\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.enabledFeatures","info":{"code":"\"XRSession\" in self && \"enabledFeatures\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.end","info":{"code":"\"XRSession\" in self && \"end\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.environmentBlendMode","info":{"code":"\"XRSession\" in self && \"environmentBlendMode\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.frameRate","info":{"code":"\"XRSession\" in self && \"frameRate\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.initiateRoomCapture","info":{"code":"\"XRSession\" in self && \"initiateRoomCapture\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.inputSources","info":{"code":"\"XRSession\" in self && \"inputSources\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.interactionMode","info":{"code":"\"XRSession\" in self && \"interactionMode\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.isSystemKeyboardSupported","info":{"code":"\"XRSession\" in self && \"isSystemKeyboardSupported\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.pauseDepthSensing","info":{"code":"\"XRSession\" in self && \"pauseDepthSensing\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.persistentAnchors","info":{"code":"\"XRSession\" in self && \"persistentAnchors\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.preferredReflectionFormat","info":{"code":"\"XRSession\" in self && \"preferredReflectionFormat\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.renderState","info":{"code":"\"XRSession\" in self && \"renderState\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.requestAnimationFrame","info":{"code":"\"XRSession\" in self && \"requestAnimationFrame\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.requestHitTestSource","info":{"code":"\"XRSession\" in self && \"requestHitTestSource\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.requestHitTestSourceForTransientInput","info":{"code":"\"XRSession\" in self && \"requestHitTestSourceForTransientInput\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.requestLightProbe","info":{"code":"\"XRSession\" in self && \"requestLightProbe\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.requestReferenceSpace","info":{"code":"\"XRSession\" in self && \"requestReferenceSpace\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.restorePersistentAnchor","info":{"code":"\"XRSession\" in self && \"restorePersistentAnchor\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.resumeDepthSensing","info":{"code":"\"XRSession\" in self && \"resumeDepthSensing\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.supportedFrameRates","info":{"code":"\"XRSession\" in self && \"supportedFrameRates\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.trackedSources","info":{"code":"\"XRSession\" in self && \"trackedSources\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.updateRenderState","info":{"code":"\"XRSession\" in self && \"updateRenderState\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.updateTargetFrameRate","info":{"code":"\"XRSession\" in self && \"updateTargetFrameRate\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSession.visibilityState","info":{"code":"\"XRSession\" in self && \"visibilityState\" in XRSession.prototype","exposure":"Window"},"result":false},{"name":"api.XRSessionEvent","info":{"code":"\"XRSessionEvent\" in self","exposure":"Window"},"result":false},{"name":"api.XRSessionEvent.XRSessionEvent","info":{"code":"bcd.testConstructor('XRSessionEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRSessionEvent is not defined"},{"name":"api.XRSessionEvent.session","info":{"code":"\"XRSessionEvent\" in self && \"session\" in XRSessionEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRSpace","info":{"code":"\"XRSpace\" in self","exposure":"Window"},"result":false},{"name":"api.XRSubImage","info":{"code":"\"XRSubImage\" in self","exposure":"Window"},"result":false},{"name":"api.XRSubImage.viewport","info":{"code":"\"XRSubImage\" in self && \"viewport\" in XRSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRSystem","info":{"code":"(function () {\n  var instance = navigator.xr;\n  return !!instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.XRSystem.isSessionSupported","info":{"code":"(function () {\n  var instance = navigator.xr;\n  return !!instance && \"isSessionSupported\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.XRSystem.requestSession","info":{"code":"(function () {\n  var instance = navigator.xr;\n  return !!instance && \"requestSession\" in instance;\n})();\n","exposure":"Window"},"result":null,"message":"threw ReferenceError: navigator is not defined"},{"name":"api.XRTransientInputHitTestResult","info":{"code":"\"XRTransientInputHitTestResult\" in self","exposure":"Window"},"result":false},{"name":"api.XRTransientInputHitTestResult.inputSource","info":{"code":"\"XRTransientInputHitTestResult\" in self && \"inputSource\" in XRTransientInputHitTestResult.prototype","exposure":"Window"},"result":false},{"name":"api.XRTransientInputHitTestResult.results","info":{"code":"\"XRTransientInputHitTestResult\" in self && \"results\" in XRTransientInputHitTestResult.prototype","exposure":"Window"},"result":false},{"name":"api.XRTransientInputHitTestSource","info":{"code":"\"XRTransientInputHitTestSource\" in self","exposure":"Window"},"result":false},{"name":"api.XRTransientInputHitTestSource.cancel","info":{"code":"\"XRTransientInputHitTestSource\" in self && \"cancel\" in XRTransientInputHitTestSource.prototype","exposure":"Window"},"result":false},{"name":"api.XRView","info":{"code":"\"XRView\" in self","exposure":"Window"},"result":false},{"name":"api.XRView.camera","info":{"code":"\"XRView\" in self && \"camera\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.eye","info":{"code":"\"XRView\" in self && \"eye\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.index","info":{"code":"\"XRView\" in self && \"index\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.isFirstPersonObserver","info":{"code":"\"XRView\" in self && \"isFirstPersonObserver\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.projectionMatrix","info":{"code":"\"XRView\" in self && \"projectionMatrix\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.recommendedViewportScale","info":{"code":"\"XRView\" in self && \"recommendedViewportScale\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.requestViewportScale","info":{"code":"\"XRView\" in self && \"requestViewportScale\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRView.transform","info":{"code":"\"XRView\" in self && \"transform\" in XRView.prototype","exposure":"Window"},"result":false},{"name":"api.XRViewerPose","info":{"code":"\"XRViewerPose\" in self","exposure":"Window"},"result":false},{"name":"api.XRViewerPose.views","info":{"code":"\"XRViewerPose\" in self && \"views\" in XRViewerPose.prototype","exposure":"Window"},"result":false},{"name":"api.XRViewport","info":{"code":"\"XRViewport\" in self","exposure":"Window"},"result":false},{"name":"api.XRViewport.height","info":{"code":"\"XRViewport\" in self && \"height\" in XRViewport.prototype","exposure":"Window"},"result":false},{"name":"api.XRViewport.width","info":{"code":"\"XRViewport\" in self && \"width\" in XRViewport.prototype","exposure":"Window"},"result":false},{"name":"api.XRViewport.x","info":{"code":"\"XRViewport\" in self && \"x\" in XRViewport.prototype","exposure":"Window"},"result":false},{"name":"api.XRViewport.y","info":{"code":"\"XRViewport\" in self && \"y\" in XRViewport.prototype","exposure":"Window"},"result":false},{"name":"api.XRVisibilityMaskChangeEvent","info":{"code":"\"XRVisibilityMaskChangeEvent\" in self","exposure":"Window"},"result":false},{"name":"api.XRVisibilityMaskChangeEvent.XRVisibilityMaskChangeEvent","info":{"code":"bcd.testConstructor('XRVisibilityMaskChangeEvent')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRVisibilityMaskChangeEvent is not defined"},{"name":"api.XRVisibilityMaskChangeEvent.eye","info":{"code":"\"XRVisibilityMaskChangeEvent\" in self && \"eye\" in XRVisibilityMaskChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRVisibilityMaskChangeEvent.index","info":{"code":"\"XRVisibilityMaskChangeEvent\" in self && \"index\" in XRVisibilityMaskChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRVisibilityMaskChangeEvent.indices","info":{"code":"\"XRVisibilityMaskChangeEvent\" in self && \"indices\" in XRVisibilityMaskChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRVisibilityMaskChangeEvent.session","info":{"code":"\"XRVisibilityMaskChangeEvent\" in self && \"session\" in XRVisibilityMaskChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRVisibilityMaskChangeEvent.vertices","info":{"code":"\"XRVisibilityMaskChangeEvent\" in self && \"vertices\" in XRVisibilityMaskChangeEvent.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding","info":{"code":"\"XRWebGLBinding\" in self","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.XRWebGLBinding","info":{"code":"bcd.testConstructor('XRWebGLBinding')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRWebGLBinding is not defined"},{"name":"api.XRWebGLBinding.createCubeLayer","info":{"code":"\"XRWebGLBinding\" in self && \"createCubeLayer\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.createCylinderLayer","info":{"code":"\"XRWebGLBinding\" in self && \"createCylinderLayer\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.createEquirectLayer","info":{"code":"\"XRWebGLBinding\" in self && \"createEquirectLayer\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.createProjectionLayer","info":{"code":"\"XRWebGLBinding\" in self && \"createProjectionLayer\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.createQuadLayer","info":{"code":"\"XRWebGLBinding\" in self && \"createQuadLayer\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.foveateBoundTexture","info":{"code":"\"XRWebGLBinding\" in self && \"foveateBoundTexture\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.getCameraImage","info":{"code":"\"XRWebGLBinding\" in self && \"getCameraImage\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.getDepthInformation","info":{"code":"\"XRWebGLBinding\" in self && \"getDepthInformation\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.getReflectionCubeMap","info":{"code":"\"XRWebGLBinding\" in self && \"getReflectionCubeMap\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.getSubImage","info":{"code":"\"XRWebGLBinding\" in self && \"getSubImage\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.getViewSubImage","info":{"code":"\"XRWebGLBinding\" in self && \"getViewSubImage\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.nativeProjectionScaleFactor","info":{"code":"\"XRWebGLBinding\" in self && \"nativeProjectionScaleFactor\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLBinding.usesDepthValues","info":{"code":"\"XRWebGLBinding\" in self && \"usesDepthValues\" in XRWebGLBinding.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLDepthInformation","info":{"code":"\"XRWebGLDepthInformation\" in self","exposure":"Window"},"result":false},{"name":"api.XRWebGLDepthInformation.imageIndex","info":{"code":"\"XRWebGLDepthInformation\" in self && \"imageIndex\" in XRWebGLDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLDepthInformation.texture","info":{"code":"\"XRWebGLDepthInformation\" in self && \"texture\" in XRWebGLDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLDepthInformation.textureType","info":{"code":"\"XRWebGLDepthInformation\" in self && \"textureType\" in XRWebGLDepthInformation.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer","info":{"code":"\"XRWebGLLayer\" in self","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.XRWebGLLayer","info":{"code":"bcd.testConstructor('XRWebGLLayer')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XRWebGLLayer is not defined"},{"name":"api.XRWebGLLayer.antialias","info":{"code":"\"XRWebGLLayer\" in self && \"antialias\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.fixedFoveation","info":{"code":"\"XRWebGLLayer\" in self && \"fixedFoveation\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.framebuffer","info":{"code":"\"XRWebGLLayer\" in self && \"framebuffer\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.framebufferHeight","info":{"code":"\"XRWebGLLayer\" in self && \"framebufferHeight\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.framebufferWidth","info":{"code":"\"XRWebGLLayer\" in self && \"framebufferWidth\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.getNativeFramebufferScaleFactor_static","info":{"code":"\"XRWebGLLayer\" in self && \"getNativeFramebufferScaleFactor\" in XRWebGLLayer","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.getViewport","info":{"code":"\"XRWebGLLayer\" in self && \"getViewport\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLLayer.ignoreDepthValues","info":{"code":"\"XRWebGLLayer\" in self && \"ignoreDepthValues\" in XRWebGLLayer.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage","info":{"code":"\"XRWebGLSubImage\" in self","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.colorTexture","info":{"code":"\"XRWebGLSubImage\" in self && \"colorTexture\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.colorTextureHeight","info":{"code":"\"XRWebGLSubImage\" in self && \"colorTextureHeight\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.colorTextureWidth","info":{"code":"\"XRWebGLSubImage\" in self && \"colorTextureWidth\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.depthStencilTexture","info":{"code":"\"XRWebGLSubImage\" in self && \"depthStencilTexture\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.depthStencilTextureHeight","info":{"code":"\"XRWebGLSubImage\" in self && \"depthStencilTextureHeight\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.depthStencilTextureWidth","info":{"code":"\"XRWebGLSubImage\" in self && \"depthStencilTextureWidth\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.imageIndex","info":{"code":"\"XRWebGLSubImage\" in self && \"imageIndex\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.motionVectorTexture","info":{"code":"\"XRWebGLSubImage\" in self && \"motionVectorTexture\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.motionVectorTextureHeight","info":{"code":"\"XRWebGLSubImage\" in self && \"motionVectorTextureHeight\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XRWebGLSubImage.motionVectorTextureWidth","info":{"code":"\"XRWebGLSubImage\" in self && \"motionVectorTextureWidth\" in XRWebGLSubImage.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor","info":{"code":"\"XSLTProcessor\" in self","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.XSLTProcessor","info":{"code":"bcd.testConstructor('XSLTProcessor')","exposure":"Window"},"result":false,"message":"threw ReferenceError: XSLTProcessor is not defined"},{"name":"api.XSLTProcessor.clearParameters","info":{"code":"\"XSLTProcessor\" in self && \"clearParameters\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.getParameter","info":{"code":"\"XSLTProcessor\" in self && \"getParameter\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.importStylesheet","info":{"code":"\"XSLTProcessor\" in self && \"importStylesheet\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.removeParameter","info":{"code":"\"XSLTProcessor\" in self && \"removeParameter\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.reset","info":{"code":"\"XSLTProcessor\" in self && \"reset\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.setParameter","info":{"code":"\"XSLTProcessor\" in self && \"setParameter\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.transformToDocument","info":{"code":"\"XSLTProcessor\" in self && \"transformToDocument\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.XSLTProcessor.transformToFragment","info":{"code":"\"XSLTProcessor\" in self && \"transformToFragment\" in XSLTProcessor.prototype","exposure":"Window"},"result":false},{"name":"api.atob","info":{"code":"\"atob\" in self","exposure":"Window"},"result":true},{"name":"api.btoa","info":{"code":"\"btoa\" in self","exposure":"Window"},"result":true},{"name":"api.caches","info":{"code":"\"caches\" in self","exposure":"Window"},"result":false},{"name":"api.clearInterval","info":{"code":"\"clearInterval\" in self","exposure":"Window"},"result":true},{"name":"api.clearTimeout","info":{"code":"\"clearTimeout\" in self","exposure":"Window"},"result":true},{"name":"api.console","info":{"code":"\"console\" in self","exposure":"Window"},"result":true},{"name":"api.console.assert_static","info":{"code":"\"console\" in self && \"assert\" in console","exposure":"Window"},"result":false},{"name":"api.console.clear_static","info":{"code":"\"console\" in self && \"clear\" in console","exposure":"Window"},"result":false},{"name":"api.console.countReset_static","info":{"code":"\"console\" in self && \"countReset\" in console","exposure":"Window"},"result":false},{"name":"api.console.count_static","info":{"code":"\"console\" in self && \"count\" in console","exposure":"Window"},"result":false},{"name":"api.console.debug_static","info":{"code":"\"console\" in self && \"debug\" in console","exposure":"Window"},"result":true},{"name":"api.console.dir_static","info":{"code":"\"console\" in self && \"dir\" in console","exposure":"Window"},"result":false},{"name":"api.console.dir_static.options_colors_parameter","info":{"code":"(function () {\n  function dir(options) {\n    console.dir({ a: \"b\" }, options);\n  }\n  return bcd.testOptionParam(dir, null, \"colors\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: console.dir is not a function"},{"name":"api.console.dir_static.options_depth_parameter","info":{"code":"(function () {\n  function dir(options) {\n    console.dir({ a: \"b\" }, options);\n  }\n  return bcd.testOptionParam(dir, null, \"depth\", 1);\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: console.dir is not a function"},{"name":"api.console.dir_static.options_showHidden_parameter","info":{"code":"(function () {\n  function dir(options) {\n    console.dir({ a: \"b\" }, options);\n  }\n  return bcd.testOptionParam(dir, null, \"showHidden\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: console.dir is not a function"},{"name":"api.console.dirxml_static","info":{"code":"\"console\" in self && \"dirxml\" in console","exposure":"Window"},"result":false},{"name":"api.console.error_static","info":{"code":"\"console\" in self && \"error\" in console","exposure":"Window"},"result":true},{"name":"api.console.exception_static","info":{"code":"\"console\" in self && \"exception\" in console","exposure":"Window"},"result":false},{"name":"api.console.groupCollapsed_static","info":{"code":"\"console\" in self && \"groupCollapsed\" in console","exposure":"Window"},"result":false},{"name":"api.console.groupEnd_static","info":{"code":"\"console\" in self && \"groupEnd\" in console","exposure":"Window"},"result":false},{"name":"api.console.group_static","info":{"code":"\"console\" in self && \"group\" in console","exposure":"Window"},"result":false},{"name":"api.console.info_static","info":{"code":"\"console\" in self && \"info\" in console","exposure":"Window"},"result":true},{"name":"api.console.log_static","info":{"code":"\"console\" in self && \"log\" in console","exposure":"Window"},"result":true},{"name":"api.console.profileEnd_static","info":{"code":"\"console\" in self && \"profileEnd\" in console","exposure":"Window"},"result":false},{"name":"api.console.profile_static","info":{"code":"\"console\" in self && \"profile\" in console","exposure":"Window"},"result":false},{"name":"api.console.table_static","info":{"code":"\"console\" in self && \"table\" in console","exposure":"Window"},"result":false},{"name":"api.console.timeEnd_static","info":{"code":"\"console\" in self && \"timeEnd\" in console","exposure":"Window"},"result":false},{"name":"api.console.timeLog_static","info":{"code":"\"console\" in self && \"timeLog\" in console","exposure":"Window"},"result":false},{"name":"api.console.timeStamp_static","info":{"code":"\"console\" in self && \"timeStamp\" in console","exposure":"Window"},"result":false},{"name":"api.console.time_static","info":{"code":"\"console\" in self && \"time\" in console","exposure":"Window"},"result":false},{"name":"api.console.trace_static","info":{"code":"\"console\" in self && \"trace\" in console","exposure":"Window"},"result":false},{"name":"javascript.builtins.AggregateError","info":{"code":"(function () {\n  if (!(\"AggregateError\" in self)) {\n    return { result: false, message: \"AggregateError is not defined\" };\n  }\n  var instance = new AggregateError(\n    // An iterable of errors\n    new Set([new Error(\"some error\"), new Error(\"another error\")]),\n    \"Multiple errors thrown\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"api.console.warn_static","info":{"code":"\"console\" in self && \"warn\" in console","exposure":"Window"},"result":true},{"name":"api.createImageBitmap","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return true;\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.options_colorSpaceConversion_parameter","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return bcd.testOptionParam(create, null, \"colorSpaceConversion\", \"default\");\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.options_imageOrientation_parameter","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return bcd.testOptionParam(create, null, \"imageOrientation\", \"none\");\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.options_premultiplyAlpha_parameter","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return bcd.testOptionParam(create, null, \"premultiplyAlpha\", \"default\");\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.options_resizeHeight_parameter","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return bcd.testOptionParam(create, null, \"resizeHeight\", \"100\");\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.options_resizeQuality_parameter","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return bcd.testOptionParam(create, null, \"resizeQuality\", \"high\");\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.options_resizeWidth_parameter","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  return bcd.testOptionParam(create, null, \"resizeWidth\", \"100\");\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.createImageBitmap.svgimageelement_as_source_image","info":{"code":"(function () {\n  if (!(\"createImageBitmap\" in self)) {\n    return { result: false, message: \"createImageBitmap is not defined\" };\n  }\n  function create(options) {\n    return createImageBitmap(\n      document.getElementById(\"resource-image-black\"),\n      options\n    );\n  }\n  var svgimg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n  instance.href.baseVal = document.getElementById(\"resource-image-black\").src; // Set a source for the image, required for certain tests\n  if (!svgimg) {\n    return { result: false, message: \"svgimg is falsy\" };\n  }\n  var bitmap = createImageBitmap(svgimg);\n  return bitmap\n    .then(function () {\n      return true;\n    })\n    .catch(function (e) {\n      return { result: false, message: e.message };\n    });\n})();\n","exposure":"Window"},"result":false,"message":"createImageBitmap is not defined"},{"name":"api.crossOriginIsolated","info":{"code":"\"crossOriginIsolated\" in self","exposure":"Window"},"result":false},{"name":"api.crypto","info":{"code":"\"crypto\" in self","exposure":"Window"},"result":true},{"name":"api.fetch","info":{"code":"\"fetch\" in self","exposure":"Window"},"result":true},{"name":"api.indexedDB","info":{"code":"\"indexedDB\" in self","exposure":"Window"},"result":false},{"name":"api.isSecureContext","info":{"code":"\"isSecureContext\" in self","exposure":"Window"},"result":false},{"name":"api.origin","info":{"code":"\"origin\" in self","exposure":"Window"},"result":false},{"name":"api.performance","info":{"code":"\"performance\" in self","exposure":"Window"},"result":false},{"name":"api.queueMicrotask","info":{"code":"\"queueMicrotask\" in self","exposure":"Window"},"result":true},{"name":"api.reportError","info":{"code":"\"reportError\" in self","exposure":"Window"},"result":true},{"name":"api.scheduler","info":{"code":"\"scheduler\" in self","exposure":"Window"},"result":false},{"name":"api.setInterval","info":{"code":"\"setInterval\" in self","exposure":"Window"},"result":true},{"name":"api.setTimeout","info":{"code":"\"setTimeout\" in self","exposure":"Window"},"result":true},{"name":"api.structuredClone","info":{"code":"\"structuredClone\" in self","exposure":"Window"},"result":true},{"name":"api.trustedTypes","info":{"code":"\"trustedTypes\" in self","exposure":"Window"},"result":false},{"name":"javascript.builtins.AggregateError.AggregateError","info":{"code":"(function () {\n  if (!(\"AggregateError\" in self)) {\n    return { result: false, message: \"AggregateError is not defined\" };\n  }\n  var instance = new AggregateError(\n    // An iterable of errors\n    new Set([new Error(\"some error\"), new Error(\"another error\")]),\n    \"Multiple errors thrown\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AggregateError.errors","info":{"code":"(function () {\n  if (!(\"AggregateError\" in self)) {\n    return { result: false, message: \"AggregateError is not defined\" };\n  }\n  var instance = new AggregateError(\n    // An iterable of errors\n    new Set([new Error(\"some error\"), new Error(\"another error\")]),\n    \"Multiple errors thrown\"\n  );\n  return !!instance && \"errors\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array","info":{"code":"\"Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"Array\" in self && !!(Array.prototype[Symbol.iterator])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"Array\" in self && !!(Array[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.@@unscopables","info":{"code":"\"Symbol\" in self && \"unscopables\" in Symbol && \"Array\" in self && !!(Array.prototype[Symbol.unscopables])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.Array","info":{"code":"(function () {\n  if (!(\"Array\" in self)) {\n    return { result: false, message: \"Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Array.at","info":{"code":"\"Array\" in self && \"at\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.concat","info":{"code":"\"Array\" in self && \"concat\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.copyWithin","info":{"code":"\"Array\" in self && \"copyWithin\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.entries","info":{"code":"\"Array\" in self && \"entries\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.every","info":{"code":"\"Array\" in self && \"every\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.fill","info":{"code":"\"Array\" in self && \"fill\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.filter","info":{"code":"\"Array\" in self && \"filter\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.find","info":{"code":"\"Array\" in self && \"find\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.findIndex","info":{"code":"\"Array\" in self && \"findIndex\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.findLast","info":{"code":"\"Array\" in self && \"findLast\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.findLastIndex","info":{"code":"\"Array\" in self && \"findLastIndex\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.flat","info":{"code":"\"Array\" in self && \"flat\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.flatMap","info":{"code":"\"Array\" in self && \"flatMap\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.forEach","info":{"code":"\"Array\" in self && \"forEach\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.from","info":{"code":"\"Array\" in self && \"from\" in Array","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.fromAsync","info":{"code":"\"Array\" in self && \"fromAsync\" in Array","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.group","info":{"code":"\"Array\" in self && \"group\" in Array.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Array.groupToMap","info":{"code":"\"Array\" in self && \"groupToMap\" in Array.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Array.includes","info":{"code":"\"Array\" in self && \"includes\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.indexOf","info":{"code":"\"Array\" in self && \"indexOf\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.isArray","info":{"code":"\"Array\" in self && \"isArray\" in Array","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.join","info":{"code":"\"Array\" in self && \"join\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.keys","info":{"code":"\"Array\" in self && \"keys\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.lastIndexOf","info":{"code":"\"Array\" in self && \"lastIndexOf\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.length","info":{"code":"\"Array\" in self && \"length\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.map","info":{"code":"\"Array\" in self && \"map\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.of","info":{"code":"\"Array\" in self && \"of\" in Array","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.pop","info":{"code":"\"Array\" in self && \"pop\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.push","info":{"code":"\"Array\" in self && \"push\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.reduce","info":{"code":"\"Array\" in self && \"reduce\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.reduceRight","info":{"code":"\"Array\" in self && \"reduceRight\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.reverse","info":{"code":"\"Array\" in self && \"reverse\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.shift","info":{"code":"\"Array\" in self && \"shift\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.slice","info":{"code":"\"Array\" in self && \"slice\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.some","info":{"code":"\"Array\" in self && \"some\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.sort","info":{"code":"\"Array\" in self && \"sort\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.splice","info":{"code":"\"Array\" in self && \"splice\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.toLocaleString","info":{"code":"\"Array\" in self && \"toLocaleString\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.toReversed","info":{"code":"\"Array\" in self && \"toReversed\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.toSorted","info":{"code":"\"Array\" in self && \"toSorted\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.toSpliced","info":{"code":"\"Array\" in self && \"toSpliced\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.toString","info":{"code":"\"Array\" in self && \"toString\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.unshift","info":{"code":"\"Array\" in self && \"unshift\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.values","info":{"code":"\"Array\" in self && \"values\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Array.with","info":{"code":"\"Array\" in self && \"with\" in Array.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer","info":{"code":"\"ArrayBuffer\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"ArrayBuffer\" in self && !!(ArrayBuffer[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.ArrayBuffer","info":{"code":"(function () {\n  if (!(\"ArrayBuffer\" in self)) {\n    return { result: false, message: \"ArrayBuffer is not defined\" };\n  }\n  return bcd.testConstructor(\"ArrayBuffer\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.ArrayBuffer.ArrayBuffer.maxByteLength_option","info":{"code":"(function () {\n  function construct(options) {\n    new ArrayBuffer(8, options);\n  }\n  return bcd.testOptionParam(construct, null, \"maxByteLength\", 16);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.byteLength","info":{"code":"\"ArrayBuffer\" in self && \"byteLength\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.detached","info":{"code":"\"ArrayBuffer\" in self && \"detached\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.isView","info":{"code":"\"ArrayBuffer\" in self && \"isView\" in ArrayBuffer","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.maxByteLength","info":{"code":"\"ArrayBuffer\" in self && \"maxByteLength\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.resizable","info":{"code":"\"ArrayBuffer\" in self && \"resizable\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.resize","info":{"code":"\"ArrayBuffer\" in self && \"resize\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.slice","info":{"code":"\"ArrayBuffer\" in self && \"slice\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.transfer","info":{"code":"\"ArrayBuffer\" in self && \"transfer\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.ArrayBuffer.transferToFixed","info":{"code":"\"ArrayBuffer\" in self && \"transferToFixed\" in ArrayBuffer.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.ArrayBuffer.transferToFixedLength","info":{"code":"\"ArrayBuffer\" in self && \"transferToFixedLength\" in ArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncDisposableStack","info":{"code":"\"AsyncDisposableStack\" in self","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.@@asyncDispose","info":{"code":"\"Symbol\" in self && \"asyncDispose\" in Symbol && \"AsyncDisposableStack\" in self && !!(AsyncDisposableStack.prototype[Symbol.asyncDispose])","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.AsyncDisposableStack","info":{"code":"(function () {\n  if (!(\"AsyncDisposableStack\" in self)) {\n    return { result: false, message: \"AsyncDisposableStack is not defined\" };\n  }\n  return bcd.testConstructor(\"AsyncDisposableStack\", false);\n})();\n","exposure":"Window"},"result":false,"message":"AsyncDisposableStack is not defined"},{"name":"javascript.builtins.AsyncDisposableStack.adopt","info":{"code":"\"AsyncDisposableStack\" in self && \"adopt\" in AsyncDisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.defer","info":{"code":"\"AsyncDisposableStack\" in self && \"defer\" in AsyncDisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.disposeAsync","info":{"code":"\"AsyncDisposableStack\" in self && \"disposeAsync\" in AsyncDisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.disposed","info":{"code":"\"AsyncDisposableStack\" in self && \"disposed\" in AsyncDisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.move","info":{"code":"\"AsyncDisposableStack\" in self && \"move\" in AsyncDisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncDisposableStack.use","info":{"code":"\"AsyncDisposableStack\" in self && \"use\" in AsyncDisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncFunction","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function () {\n      return true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncFunction.AsyncFunction","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function () {\n      return true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  var AsyncFunction = func.constructor;\n  if (!AsyncFunction) {\n    return false;\n  }\n  try {\n    new AsyncFunction(\"return true\");\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncFunction.length","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function () {\n      return true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncFunction.name","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function () {\n      return true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncGenerator","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncGenerator.next","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"next\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncGenerator.return","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"return\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncGenerator.throw","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"throw\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncGeneratorFunction","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncGeneratorFunction.AsyncGeneratorFunction","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  var AsyncGeneratorFunction = func.constructor;\n  if (!AsyncGeneratorFunction) {\n    return false;\n  }\n  try {\n    new AsyncGeneratorFunction(\"yield true\");\n    return true;\n  } catch (e) {\n    return false;\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncGeneratorFunction.length","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncGeneratorFunction.name","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncGeneratorFunction.prototype","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"prototype\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncIterator","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncIterator.@@asyncDispose","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"asyncDispose\" in Symbol &&\n    !!instance[Symbol.asyncDispose]\n  );\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.AsyncIterator.@@asyncIterator","info":{"code":"(function () {\n  var func;\n  var instance;\n  try {\n    func = async function* () {\n      yield true;\n    };\n\n    instance = func();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  const AsyncIteratorPrototype = Object.getPrototypeOf(\n    Object.getPrototypeOf(Object.getPrototypeOf(instance))\n  );\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"asyncIterator\" in Symbol &&\n    Symbol.asyncIterator in AsyncIteratorPrototype\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.AsyncIterator.AsyncIterator","info":{"code":"(function () {\n  if (!(\"AsyncIterator\" in self)) {\n    return { result: false, message: \"AsyncIterator is not defined\" };\n  }\n  return bcd.testConstructor(\"AsyncIterator\", false);\n})();\n","exposure":"Window"},"result":false,"message":"AsyncIterator is not defined"},{"name":"javascript.builtins.Atomics","info":{"code":"\"Atomics\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.add","info":{"code":"\"Atomics\" in self && \"add\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.and","info":{"code":"\"Atomics\" in self && \"and\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.compareExchange","info":{"code":"\"Atomics\" in self && \"compareExchange\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.exchange","info":{"code":"\"Atomics\" in self && \"exchange\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.isLockFree","info":{"code":"\"Atomics\" in self && \"isLockFree\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.load","info":{"code":"\"Atomics\" in self && \"load\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.notify","info":{"code":"\"Atomics\" in self && \"notify\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.or","info":{"code":"\"Atomics\" in self && \"or\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.pause","info":{"code":"\"Atomics\" in self && \"pause\" in Atomics","exposure":"Window"},"result":false},{"name":"javascript.builtins.Atomics.store","info":{"code":"\"Atomics\" in self && \"store\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.sub","info":{"code":"\"Atomics\" in self && \"sub\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.wait","info":{"code":"\"Atomics\" in self && \"wait\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.waitAsync","info":{"code":"\"Atomics\" in self && \"waitAsync\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.Atomics.xor","info":{"code":"\"Atomics\" in self && \"xor\" in Atomics","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt","info":{"code":"\"BigInt\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt.BigInt","info":{"code":"(function () {\n  if (!(\"BigInt\" in self)) {\n    return { result: false, message: \"BigInt is not defined\" };\n  }\n  return bcd.testConstructor(\"BigInt\", true);\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: Cannot convert undefined to a BigInt"},{"name":"javascript.builtins.BigInt.asIntN","info":{"code":"\"BigInt\" in self && \"asIntN\" in BigInt","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt.asUintN","info":{"code":"\"BigInt\" in self && \"asUintN\" in BigInt","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt.toLocaleString","info":{"code":"\"BigInt\" in self && \"toLocaleString\" in BigInt.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt.toString","info":{"code":"\"BigInt\" in self && \"toString\" in BigInt.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt.valueOf","info":{"code":"\"BigInt\" in self && \"valueOf\" in BigInt.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt64Array","info":{"code":"\"BigInt64Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigInt64Array.BigInt64Array","info":{"code":"(function () {\n  if (!(\"BigInt64Array\" in self)) {\n    return { result: false, message: \"BigInt64Array is not defined\" };\n  }\n  return bcd.testConstructor(\"BigInt64Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.BigUint64Array","info":{"code":"\"BigUint64Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.BigUint64Array.BigUint64Array","info":{"code":"(function () {\n  if (!(\"BigUint64Array\" in self)) {\n    return { result: false, message: \"BigUint64Array is not defined\" };\n  }\n  return bcd.testConstructor(\"BigUint64Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Boolean","info":{"code":"\"Boolean\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Boolean.Boolean","info":{"code":"(function () {\n  if (!(\"Boolean\" in self)) {\n    return { result: false, message: \"Boolean is not defined\" };\n  }\n  return bcd.testConstructor(\"Boolean\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Boolean.toString","info":{"code":"\"Boolean\" in self && \"toString\" in Boolean.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Boolean.valueOf","info":{"code":"\"Boolean\" in self && \"valueOf\" in Boolean.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView","info":{"code":"\"DataView\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.DataView","info":{"code":"(function () {\n  if (!(\"DataView\" in self)) {\n    return { result: false, message: \"DataView is not defined\" };\n  }\n  return bcd.testConstructor(\"DataView\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: First argument to DataView constructor must be an ArrayBuffer"},{"name":"javascript.builtins.DataView.DataView.sharedarraybuffer_support","info":{"code":"(function () {\n  if (!(\"SharedArrayBuffer\" in self)) {\n    return { result: false, message: \"SharedArrayBuffer is not defined\" };\n  }\n  var sab = new SharedArrayBuffer(1024);\n\n  try {\n    var instance = new DataView(sab, 0);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.buffer","info":{"code":"\"DataView\" in self && \"buffer\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.byteLength","info":{"code":"\"DataView\" in self && \"byteLength\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.byteOffset","info":{"code":"\"DataView\" in self && \"byteOffset\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getBigInt64","info":{"code":"\"DataView\" in self && \"getBigInt64\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getBigUint64","info":{"code":"\"DataView\" in self && \"getBigUint64\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getFloat16","info":{"code":"\"DataView\" in self && \"getFloat16\" in DataView.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DataView.getFloat32","info":{"code":"\"DataView\" in self && \"getFloat32\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getFloat64","info":{"code":"\"DataView\" in self && \"getFloat64\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getInt16","info":{"code":"\"DataView\" in self && \"getInt16\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getInt32","info":{"code":"\"DataView\" in self && \"getInt32\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getInt8","info":{"code":"\"DataView\" in self && \"getInt8\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getUint16","info":{"code":"\"DataView\" in self && \"getUint16\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getUint32","info":{"code":"\"DataView\" in self && \"getUint32\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.getUint8","info":{"code":"\"DataView\" in self && \"getUint8\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setBigInt64","info":{"code":"\"DataView\" in self && \"setBigInt64\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setBigUint64","info":{"code":"\"DataView\" in self && \"setBigUint64\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setFloat16","info":{"code":"\"DataView\" in self && \"setFloat16\" in DataView.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DataView.setFloat32","info":{"code":"\"DataView\" in self && \"setFloat32\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setFloat64","info":{"code":"\"DataView\" in self && \"setFloat64\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setInt16","info":{"code":"\"DataView\" in self && \"setInt16\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setInt32","info":{"code":"\"DataView\" in self && \"setInt32\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setInt8","info":{"code":"\"DataView\" in self && \"setInt8\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setUint16","info":{"code":"\"DataView\" in self && \"setUint16\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setUint32","info":{"code":"\"DataView\" in self && \"setUint32\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DataView.setUint8","info":{"code":"\"DataView\" in self && \"setUint8\" in DataView.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date","info":{"code":"\"Date\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.@@toPrimitive","info":{"code":"\"Symbol\" in self && \"toPrimitive\" in Symbol && \"Date\" in self && !!(Date.prototype[Symbol.toPrimitive])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.Date","info":{"code":"(function () {\n  if (!(\"Date\" in self)) {\n    return { result: false, message: \"Date is not defined\" };\n  }\n  return bcd.testConstructor(\"Date\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Date.UTC","info":{"code":"\"Date\" in self && \"UTC\" in Date","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.UTC.optional_monthIndex","info":{"code":"(function () {\n  try {\n    Date.UTC(2024);\n    return {\n      result: true,\n      message: \"Method passed without monthIndex parameter\"\n    };\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true,"message":"Method passed without monthIndex parameter"},{"name":"javascript.builtins.Date.getDate","info":{"code":"\"Date\" in self && \"getDate\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getDay","info":{"code":"\"Date\" in self && \"getDay\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getFullYear","info":{"code":"\"Date\" in self && \"getFullYear\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getHours","info":{"code":"\"Date\" in self && \"getHours\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getMilliseconds","info":{"code":"\"Date\" in self && \"getMilliseconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getMinutes","info":{"code":"\"Date\" in self && \"getMinutes\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getMonth","info":{"code":"\"Date\" in self && \"getMonth\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getSeconds","info":{"code":"\"Date\" in self && \"getSeconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getTime","info":{"code":"\"Date\" in self && \"getTime\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getTimezoneOffset","info":{"code":"\"Date\" in self && \"getTimezoneOffset\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCDate","info":{"code":"\"Date\" in self && \"getUTCDate\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCDay","info":{"code":"\"Date\" in self && \"getUTCDay\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCFullYear","info":{"code":"\"Date\" in self && \"getUTCFullYear\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCHours","info":{"code":"\"Date\" in self && \"getUTCHours\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCMilliseconds","info":{"code":"\"Date\" in self && \"getUTCMilliseconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCMinutes","info":{"code":"\"Date\" in self && \"getUTCMinutes\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCMonth","info":{"code":"\"Date\" in self && \"getUTCMonth\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getUTCSeconds","info":{"code":"\"Date\" in self && \"getUTCSeconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.getYear","info":{"code":"\"Date\" in self && \"getYear\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.now","info":{"code":"\"Date\" in self && \"now\" in Date","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.parse","info":{"code":"\"Date\" in self && \"parse\" in Date","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setDate","info":{"code":"\"Date\" in self && \"setDate\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setFullYear","info":{"code":"\"Date\" in self && \"setFullYear\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setHours","info":{"code":"\"Date\" in self && \"setHours\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setMilliseconds","info":{"code":"\"Date\" in self && \"setMilliseconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setMinutes","info":{"code":"\"Date\" in self && \"setMinutes\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setMonth","info":{"code":"\"Date\" in self && \"setMonth\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setSeconds","info":{"code":"\"Date\" in self && \"setSeconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setTime","info":{"code":"\"Date\" in self && \"setTime\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCDate","info":{"code":"\"Date\" in self && \"setUTCDate\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCFullYear","info":{"code":"\"Date\" in self && \"setUTCFullYear\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCHours","info":{"code":"\"Date\" in self && \"setUTCHours\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCMilliseconds","info":{"code":"\"Date\" in self && \"setUTCMilliseconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCMinutes","info":{"code":"\"Date\" in self && \"setUTCMinutes\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCMonth","info":{"code":"\"Date\" in self && \"setUTCMonth\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setUTCSeconds","info":{"code":"\"Date\" in self && \"setUTCSeconds\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.setYear","info":{"code":"\"Date\" in self && \"setYear\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toDateString","info":{"code":"\"Date\" in self && \"toDateString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toGMTString","info":{"code":"\"Date\" in self && \"toGMTString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toISOString","info":{"code":"\"Date\" in self && \"toISOString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toJSON","info":{"code":"\"Date\" in self && \"toJSON\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toLocaleDateString","info":{"code":"\"Date\" in self && \"toLocaleDateString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toLocaleString","info":{"code":"\"Date\" in self && \"toLocaleString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toLocaleTimeString","info":{"code":"\"Date\" in self && \"toLocaleTimeString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toString","info":{"code":"\"Date\" in self && \"toString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toTemporalInstant","info":{"code":"\"Date\" in self && \"toTemporalInstant\" in Date.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Date.toTimeString","info":{"code":"\"Date\" in self && \"toTimeString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.toUTCString","info":{"code":"\"Date\" in self && \"toUTCString\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Date.valueOf","info":{"code":"\"Date\" in self && \"valueOf\" in Date.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.DisposableStack","info":{"code":"\"DisposableStack\" in self","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.@@dispose","info":{"code":"\"Symbol\" in self && \"dispose\" in Symbol && \"DisposableStack\" in self && !!(DisposableStack.prototype[Symbol.dispose])","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.DisposableStack","info":{"code":"(function () {\n  if (!(\"DisposableStack\" in self)) {\n    return { result: false, message: \"DisposableStack is not defined\" };\n  }\n  return bcd.testConstructor(\"DisposableStack\", false);\n})();\n","exposure":"Window"},"result":false,"message":"DisposableStack is not defined"},{"name":"javascript.builtins.DisposableStack.adopt","info":{"code":"\"DisposableStack\" in self && \"adopt\" in DisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.defer","info":{"code":"\"DisposableStack\" in self && \"defer\" in DisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.dispose","info":{"code":"\"DisposableStack\" in self && \"dispose\" in DisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.disposed","info":{"code":"\"DisposableStack\" in self && \"disposed\" in DisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.move","info":{"code":"\"DisposableStack\" in self && \"move\" in DisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.DisposableStack.use","info":{"code":"\"DisposableStack\" in self && \"use\" in DisposableStack.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.Error","info":{"code":"(function () {\n  if (!(\"Error\" in self)) {\n    return { result: false, message: \"Error is not defined\" };\n  }\n  return bcd.testConstructor(\"Error\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Error.Error.fileName_parameter","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  var e = new Error(\"foo\", \"bar.js\");\n  return e.fileName === \"bar.js\";\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error.Error.lineNumber_parameter","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  var e = new Error(\"foo\", \"bar.js\", 420);\n  return e.lineNumber === 420;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error.Error.options_cause_parameter","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  var e = new Error(\"foo\", { cause: \"testing\" });\n  return e.cause === \"testing\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.captureStackTrace","info":{"code":"\"Error\" in self && \"captureStackTrace\" in Error","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.cause","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"cause\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.columnNumber","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"columnNumber\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error.fileName","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"fileName\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error.isError","info":{"code":"\"Error\" in self && \"isError\" in Error","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error.lineNumber","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"lineNumber\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Error.message","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"message\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.name","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.stack","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"stack\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.stackTraceLimit","info":{"code":"\"Error\" in self && \"stackTraceLimit\" in Error","exposure":"Window"},"result":true},{"name":"javascript.builtins.Error.toString","info":{"code":"(function () {\n  var instance = new Error(\"hello world\", { cause: \"for testing\" });\n  return !!instance && \"toString\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.EvalError","info":{"code":"\"EvalError\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.EvalError.EvalError","info":{"code":"(function () {\n  if (!(\"EvalError\" in self)) {\n    return { result: false, message: \"EvalError is not defined\" };\n  }\n  return bcd.testConstructor(\"EvalError\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.FinalizationRegistry","info":{"code":"\"FinalizationRegistry\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.FinalizationRegistry.FinalizationRegistry","info":{"code":"(function () {\n  if (!(\"FinalizationRegistry\" in self)) {\n    return { result: false, message: \"FinalizationRegistry is not defined\" };\n  }\n  return bcd.testConstructor(\"FinalizationRegistry\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: FinalizationRegistry: cleanup must be callable"},{"name":"javascript.builtins.FinalizationRegistry.register","info":{"code":"\"FinalizationRegistry\" in self && \"register\" in FinalizationRegistry.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.FinalizationRegistry.register.symbol_as_target","info":{"code":"(function () {\n  try {\n    new FinalizationRegistry(() => {}).register(Symbol());\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.FinalizationRegistry.unregister","info":{"code":"\"FinalizationRegistry\" in self && \"unregister\" in FinalizationRegistry.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Float16Array","info":{"code":"\"Float16Array\" in self","exposure":"Window"},"result":false},{"name":"javascript.builtins.Float16Array.Float16Array","info":{"code":"(function () {\n  if (!(\"Float16Array\" in self)) {\n    return { result: false, message: \"Float16Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Float16Array\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Float16Array is not defined"},{"name":"javascript.builtins.Float32Array","info":{"code":"\"Float32Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Float32Array.Float32Array","info":{"code":"(function () {\n  if (!(\"Float32Array\" in self)) {\n    return { result: false, message: \"Float32Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Float32Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Float32Array.Float32Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Float32Array\" in self)) {\n    return { result: false, message: \"Float32Array is not defined\" };\n  }\n  try {\n    new Float32Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Float32Array.Float32Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Float32Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Float64Array","info":{"code":"\"Float64Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Float64Array.Float64Array","info":{"code":"(function () {\n  if (!(\"Float64Array\" in self)) {\n    return { result: false, message: \"Float64Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Float64Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Float64Array.Float64Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Float64Array\" in self)) {\n    return { result: false, message: \"Float64Array is not defined\" };\n  }\n  try {\n    new Float64Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Float64Array.Float64Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Float64Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function","info":{"code":"\"Function\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.@@hasInstance","info":{"code":"\"Symbol\" in self && \"hasInstance\" in Symbol && \"Function\" in self && !!(Function.prototype[Symbol.hasInstance])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.Function","info":{"code":"(function () {\n  if (!(\"Function\" in self)) {\n    return { result: false, message: \"Function is not defined\" };\n  }\n  return bcd.testConstructor(\"Function\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Function.apply","info":{"code":"\"Function\" in self && \"apply\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.arguments","info":{"code":"\"Function\" in self && \"arguments\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.bind","info":{"code":"\"Function\" in self && \"bind\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.call","info":{"code":"\"Function\" in self && \"call\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.caller","info":{"code":"\"Function\" in self && \"caller\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.length","info":{"code":"\"Function\" in self && \"length\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.name","info":{"code":"(function () {\n  function doTheThing() {}\n  return doTheThing.name == \"doTheThing\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Function.prototype","info":{"code":"\"Function\" in self && \"prototype\" in Function.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Function.toString","info":{"code":"\"Function\" in self && \"toString\" in Function.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Generator","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Generator.next","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"next\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Generator.return","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"return\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Generator.throw","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"throw\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.GeneratorFunction","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.GeneratorFunction.GeneratorFunction","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.GeneratorFunction.length","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.GeneratorFunction.name","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"name\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.GeneratorFunction.prototype","info":{"code":"(function () {\n  var instance;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    instance = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  return !!instance && \"prototype\" in instance;\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Infinity","info":{"code":"\"Infinity\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int16Array","info":{"code":"\"Int16Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int16Array.Int16Array","info":{"code":"(function () {\n  if (!(\"Int16Array\" in self)) {\n    return { result: false, message: \"Int16Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Int16Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Int16Array.Int16Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Int16Array\" in self)) {\n    return { result: false, message: \"Int16Array is not defined\" };\n  }\n  try {\n    new Int16Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int16Array.Int16Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Int16Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int32Array","info":{"code":"\"Int32Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int32Array.Int32Array","info":{"code":"(function () {\n  if (!(\"Int32Array\" in self)) {\n    return { result: false, message: \"Int32Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Int32Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Int32Array.Int32Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Int32Array\" in self)) {\n    return { result: false, message: \"Int32Array is not defined\" };\n  }\n  try {\n    new Int32Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int32Array.Int32Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Int32Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int8Array","info":{"code":"\"Int8Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int8Array.Int8Array","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Int8Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Int8Array.Int8Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  try {\n    new Int8Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Int8Array.Int8Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Int8Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.InternalError","info":{"code":"\"InternalError\" in self","exposure":"Window"},"result":false},{"name":"javascript.builtins.InternalError.InternalError","info":{"code":"(function () {\n  if (!(\"InternalError\" in self)) {\n    return { result: false, message: \"InternalError is not defined\" };\n  }\n  return bcd.testConstructor(\"InternalError\", false);\n})();\n","exposure":"Window"},"result":false,"message":"InternalError is not defined"},{"name":"javascript.builtins.Intl","info":{"code":"\"Intl\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator","info":{"code":"\"Intl\" in self && \"Collator\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.Collator\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.Collator.Collator.options_caseFirst_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"caseFirst\", \"upper\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator.options_collation_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"collation\", \"default\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator.options_ignorePunctuation_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"ignorePunctuation\", true);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator.options_localeMatcher_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"localeMatcher\", \"best fit\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator.options_numeric_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"numeric\", false);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator.options_sensitivity_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"sensitivity\", \"base\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.Collator.options_usage_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Collator\" in Intl)) {\n    return { result: false, message: \"Intl.Collator is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.Collator(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"usage\", \"sort\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.compare","info":{"code":"\"Intl\" in self && \"Collator\" in Intl && \"compare\" in Intl.Collator.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.resolvedOptions","info":{"code":"\"Intl\" in self && \"Collator\" in Intl && \"resolvedOptions\" in Intl.Collator.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Collator.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"Collator\" in Intl && \"supportedLocalesOf\" in Intl.Collator","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.DateTimeFormat\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.locales_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  var instance = new Intl.DateTimeFormat(\"de\");\n  var options = instance.resolvedOptions();\n  return options.locale === \"de\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  } // The timeZone parameter was one of the first options available\n  return bcd.testOptionParam(construct, null, \"timeZone\", \"UTC\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_calendar_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"calendar\", \"chinese\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dateStyle_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"dateStyle\", \"full\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dayPeriod_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"dayPeriod\", \"narrow\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_fractionalSecondDigits_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"fractionalSecondDigits\", 2);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_hourCycle_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"hourCycle\", \"h23\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_numberingSystem_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"numberingSystem\", \"latn\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeStyle_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"timeStyle\", \"full\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"timeZoneName\", \"long\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter.extended_values","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"timeZoneName\", \"shortGeneric\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"timeZone\", \"UTC\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.iana_time_zones","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DateTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DateTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.DateTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"timeZone\", \"Asia/Shanghai\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.format","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl && \"format\" in Intl.DateTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.formatRange","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl && \"formatRange\" in Intl.DateTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.formatRangeToParts","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl && \"formatRangeToParts\" in Intl.DateTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.formatToParts","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl && \"formatToParts\" in Intl.DateTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.resolvedOptions","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl && \"resolvedOptions\" in Intl.DateTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DateTimeFormat.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"DateTimeFormat\" in Intl && \"supportedLocalesOf\" in Intl.DateTimeFormat","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DisplayNames","info":{"code":"\"Intl\" in self && \"DisplayNames\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DisplayNames.DisplayNames","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DisplayNames\" in Intl)) {\n    return { result: false, message: \"Intl.DisplayNames is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.DisplayNames\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: invalid_argument"},{"name":"javascript.builtins.Intl.DisplayNames.of","info":{"code":"\"Intl\" in self && \"DisplayNames\" in Intl && \"of\" in Intl.DisplayNames.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DisplayNames.resolvedOptions","info":{"code":"\"Intl\" in self && \"DisplayNames\" in Intl && \"resolvedOptions\" in Intl.DisplayNames.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DisplayNames.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"DisplayNames\" in Intl && \"supportedLocalesOf\" in Intl.DisplayNames","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.DurationFormat","info":{"code":"\"Intl\" in self && \"DurationFormat\" in Intl","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.DurationFormat.DurationFormat","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"DurationFormat\" in Intl)) {\n    return { result: false, message: \"Intl.DurationFormat is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.DurationFormat\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Intl.DurationFormat is not defined"},{"name":"javascript.builtins.Intl.DurationFormat.format","info":{"code":"\"Intl\" in self && \"DurationFormat\" in Intl && \"format\" in Intl.DurationFormat.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.DurationFormat.formatToParts","info":{"code":"\"Intl\" in self && \"DurationFormat\" in Intl && \"formatToParts\" in Intl.DurationFormat.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.DurationFormat.resolvedOptions","info":{"code":"\"Intl\" in self && \"DurationFormat\" in Intl && \"resolvedOptions\" in Intl.DurationFormat.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.DurationFormat.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"DurationFormat\" in Intl && \"supportedLocalesOf\" in Intl.DurationFormat","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.ListFormat","info":{"code":"\"Intl\" in self && \"ListFormat\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.ListFormat.ListFormat","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"ListFormat\" in Intl)) {\n    return { result: false, message: \"Intl.ListFormat is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.ListFormat\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.ListFormat.format","info":{"code":"\"Intl\" in self && \"ListFormat\" in Intl && \"format\" in Intl.ListFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.ListFormat.formatToParts","info":{"code":"\"Intl\" in self && \"ListFormat\" in Intl && \"formatToParts\" in Intl.ListFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.ListFormat.resolvedOptions","info":{"code":"\"Intl\" in self && \"ListFormat\" in Intl && \"resolvedOptions\" in Intl.ListFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.ListFormat.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"ListFormat\" in Intl && \"supportedLocalesOf\" in Intl.ListFormat","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale","info":{"code":"\"Intl\" in self && \"Locale\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.Locale","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Locale\" in Intl)) {\n    return { result: false, message: \"Intl.Locale is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.Locale\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: First argument to Intl.Locale constructor can't be empty or missing"},{"name":"javascript.builtins.Intl.Locale.baseName","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"baseName\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.calendar","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"calendar\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.caseFirst","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"caseFirst\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.collation","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"collation\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.getCalendars","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getCalendars\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.getCollations","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getCollations\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.getHourCycles","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getHourCycles\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.getNumberingSystems","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getNumberingSystems\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.getTextInfo","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getTextInfo\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.getTimeZones","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getTimeZones\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.getWeekInfo","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"getWeekInfo\" in Intl.Locale.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Intl.Locale.hourCycle","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"hourCycle\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.language","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"language\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.maximize","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"maximize\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.minimize","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"minimize\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.numberingSystem","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"numberingSystem\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.numeric","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"numeric\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.region","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"region\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.script","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"script\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Locale.toString","info":{"code":"\"Intl\" in self && \"Locale\" in Intl && \"toString\" in Intl.Locale.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.NumberFormat\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.locales_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  var instance = new Intl.NumberFormat(\"de\");\n  var options = instance.resolvedOptions();\n  return options.locale === \"de\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  } // The style parameter was one of the first options available\n  return bcd.testOptionParam(construct, null, \"style\", \"currency\");\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: Currency code is required with currency style."},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_compactDisplay_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"compactDisplay\", \"long\", {\n    notation: \"compact\"\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencyDisplay_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"currencyDisplay\", \"name\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencySign_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"currencySign\", \"accounting\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currency_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"currency\", \"USD\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_localeMatcher_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"localeMatcher\", \"lookup\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumFractionDigits_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"maximumFractionDigits\", 10);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumSignificantDigits_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"maximumSignificantDigits\", 10);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumFractionDigits_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"minimumFractionDigits\", 10);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumIntegerDigits_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"minimumIntegerDigits\", 10);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumSignificantDigits_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"minimumSignificantDigits\", 10);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_notation_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"notation\", \"compact\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_numberingSystem_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"numberingSystem\", \"latn\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingIncrement_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"roundingIncrement\", 200);\n})();\n","exposure":"Window"},"result":null,"message":"threw RangeError: maximumFractionDigits value is out of range."},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingMode_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"roundingMode\", \"floor\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingPriority_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(\n    construct,\n    null,\n    \"roundingPriority\",\n    \"lessPrecision\"\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"signDisplay\", \"always\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter.negative","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  var instance = Intl.NumberFormat(\"en\", { signDisplay: \"negative\" });\n  var options = instance.resolvedOptions();\n  return options.signDisplay === \"negative\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_style_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"style\", \"currency\");\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: Currency code is required with currency style."},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_trailingZeroDisplay_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(\n    construct,\n    null,\n    \"trailingZeroDisplay\",\n    \"currency\"\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw RangeError: Value currency out of range for Intl.NumberFormat options property trailingZeroDisplay"},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unitDisplay_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"unitDisplay\", \"narrow\", {\n    unit: \"gigabyte\"\n  });\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unit_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"unit\", \"gigabyte\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_useGrouping_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"useGrouping\", false);\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_useGrouping_parameter.string_values","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"NumberFormat\" in Intl)) {\n    return { result: false, message: \"Intl.NumberFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.NumberFormat(\"en\", options);\n  }\n  var instance = Intl.NumberFormat(\"en\", { useGrouping: \"always\" });\n  var options = instance.resolvedOptions();\n  return options.useGrouping === \"always\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.format","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl && \"format\" in Intl.NumberFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.formatRange","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl && \"formatRange\" in Intl.NumberFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.formatRangeToParts","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl && \"formatRangeToParts\" in Intl.NumberFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.formatToParts","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl && \"formatToParts\" in Intl.NumberFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.resolvedOptions","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl && \"resolvedOptions\" in Intl.NumberFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.NumberFormat.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"NumberFormat\" in Intl && \"supportedLocalesOf\" in Intl.NumberFormat","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules","info":{"code":"\"Intl\" in self && \"PluralRules\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.PluralRules","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"PluralRules\" in Intl)) {\n    return { result: false, message: \"Intl.PluralRules is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.PluralRules\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.PluralRules.PluralRules.options_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"PluralRules\" in Intl)) {\n    return { result: false, message: \"Intl.PluralRules is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.PluralRules(\"en\", options);\n  } // The roundingPriority parameter was one of the first options available\n  return bcd.testOptionParam(\n    construct,\n    null,\n    \"roundingPriority\",\n    \"lessPrecision\"\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingIncrement_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"PluralRules\" in Intl)) {\n    return { result: false, message: \"Intl.PluralRules is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.PluralRules(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"roundingIncrement\", 200);\n})();\n","exposure":"Window"},"result":null,"message":"threw RangeError: maximumFractionDigits value is out of range."},{"name":"javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingMode_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"PluralRules\" in Intl)) {\n    return { result: false, message: \"Intl.PluralRules is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.PluralRules(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"roundingMode\", \"floor\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingPriority_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"PluralRules\" in Intl)) {\n    return { result: false, message: \"Intl.PluralRules is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.PluralRules(\"en\", options);\n  }\n  return bcd.testOptionParam(\n    construct,\n    null,\n    \"roundingPriority\",\n    \"lessPrecision\"\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_trailingZeroDisplay_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"PluralRules\" in Intl)) {\n    return { result: false, message: \"Intl.PluralRules is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.PluralRules(\"en\", options);\n  }\n  return bcd.testOptionParam(\n    construct,\n    null,\n    \"trailingZeroDisplay\",\n    \"currency\"\n  );\n})();\n","exposure":"Window"},"result":null,"message":"threw RangeError: Value currency out of range for Intl.PluralRules options property trailingZeroDisplay"},{"name":"javascript.builtins.Intl.PluralRules.resolvedOptions","info":{"code":"\"Intl\" in self && \"PluralRules\" in Intl && \"resolvedOptions\" in Intl.PluralRules.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.select","info":{"code":"\"Intl\" in self && \"PluralRules\" in Intl && \"select\" in Intl.PluralRules.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.selectRange","info":{"code":"\"Intl\" in self && \"PluralRules\" in Intl && \"selectRange\" in Intl.PluralRules.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.PluralRules.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"PluralRules\" in Intl && \"supportedLocalesOf\" in Intl.PluralRules","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat","info":{"code":"\"Intl\" in self && \"RelativeTimeFormat\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.RelativeTimeFormat\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.locales_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.RelativeTimeFormat(\"en\", options);\n  }\n  var instance = new Intl.RelativeTimeFormat(\"de\");\n  var options = instance.resolvedOptions();\n  return options.locale === \"de\";\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.RelativeTimeFormat(\"en\", options);\n  } // The style parameter was one of the first options available\n  return bcd.testOptionParam(construct, null, \"style\", \"currency\");\n})();\n","exposure":"Window"},"result":null,"message":"threw RangeError: Value currency out of range for Intl.RelativeTimeFormat options property style"},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_localeMatcher_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.RelativeTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"localeMatcher\", \"lookup\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_numberingSystem_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.RelativeTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"numberingSystem\", \"latn\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_numeric_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.RelativeTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"numeric\", \"auto\");\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_style_parameter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"RelativeTimeFormat\" in Intl)) {\n    return { result: false, message: \"Intl.RelativeTimeFormat is not defined\" };\n  }\n\n  function construct(options) {\n    new Intl.RelativeTimeFormat(\"en\", options);\n  }\n  return bcd.testOptionParam(construct, null, \"style\", \"currency\");\n})();\n","exposure":"Window"},"result":null,"message":"threw RangeError: Value currency out of range for Intl.RelativeTimeFormat options property style"},{"name":"javascript.builtins.Intl.RelativeTimeFormat.format","info":{"code":"\"Intl\" in self && \"RelativeTimeFormat\" in Intl && \"format\" in Intl.RelativeTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.formatToParts","info":{"code":"\"Intl\" in self && \"RelativeTimeFormat\" in Intl && \"formatToParts\" in Intl.RelativeTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.resolvedOptions","info":{"code":"\"Intl\" in self && \"RelativeTimeFormat\" in Intl && \"resolvedOptions\" in Intl.RelativeTimeFormat.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.RelativeTimeFormat.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"RelativeTimeFormat\" in Intl && \"supportedLocalesOf\" in Intl.RelativeTimeFormat","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segmenter","info":{"code":"\"Intl\" in self && \"Segmenter\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segmenter.Segmenter","info":{"code":"(function () {\n  if (!(\"Intl\" in self)) {\n    return { result: false, message: \"Intl is not defined\" };\n  }\n  if (!(\"Segmenter\" in Intl)) {\n    return { result: false, message: \"Intl.Segmenter is not defined\" };\n  }\n  return bcd.testConstructor(\"Intl.Segmenter\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Intl.Segmenter.resolvedOptions","info":{"code":"\"Intl\" in self && \"Segmenter\" in Intl && \"resolvedOptions\" in Intl.Segmenter.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segmenter.segment","info":{"code":"\"Intl\" in self && \"Segmenter\" in Intl && \"segment\" in Intl.Segmenter.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segmenter.supportedLocalesOf","info":{"code":"\"Intl\" in self && \"Segmenter\" in Intl && \"supportedLocalesOf\" in Intl.Segmenter","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segments","info":{"code":"(function () {\n  if (!(\"Intl\" in self && \"Segmenter\" in Intl)) {\n    return { result: false, message: \"Intl.Segmenter is not defined\" };\n  }\n  var segmenter = new Intl.Segmenter(\"fr\", { granularity: \"word\" });\n  var instance = segmenter.segment(\"Que ma joie demeure\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segments.@@iterator","info":{"code":"(function () {\n  if (!(\"Intl\" in self && \"Segmenter\" in Intl)) {\n    return { result: false, message: \"Intl.Segmenter is not defined\" };\n  }\n  var segmenter = new Intl.Segmenter(\"fr\", { granularity: \"word\" });\n  var instance = segmenter.segment(\"Que ma joie demeure\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.Segments.containing","info":{"code":"(function () {\n  if (!(\"Intl\" in self && \"Segmenter\" in Intl)) {\n    return { result: false, message: \"Intl.Segmenter is not defined\" };\n  }\n  var segmenter = new Intl.Segmenter(\"fr\", { granularity: \"word\" });\n  var instance = segmenter.segment(\"Que ma joie demeure\");\n  return !!instance && \"containing\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.getCanonicalLocales","info":{"code":"\"Intl\" in self && \"getCanonicalLocales\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Intl.supportedValuesOf","info":{"code":"\"Intl\" in self && \"supportedValuesOf\" in Intl","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.@@dispose","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"dispose\" in Symbol &&\n    !!instance[Symbol.dispose]\n  );\n})();\n","exposure":"Window"},"result":false},{"name":"javascript.builtins.Iterator.@@iterator","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.Iterator","info":{"code":"(function () {\n  if (!(\"Iterator\" in self)) {\n    return { result: false, message: \"Iterator is not defined\" };\n  }\n  return bcd.testConstructor(\"Iterator\", false);\n})();\n","exposure":"Window"},"result":null,"message":"threw TypeError: Abstract class Iterator not directly constructable"},{"name":"javascript.builtins.Iterator.drop","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"drop\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.every","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"every\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.filter","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"filter\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.find","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"find\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.flatMap","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"flatMap\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.forEach","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.from","info":{"code":"\"Iterator\" in self && \"from\" in Iterator","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.map","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"map\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.reduce","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"reduce\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.some","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"some\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.take","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"take\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Iterator.toArray","info":{"code":"(function () {\n  var array = [1, 2, 3];\n  if (!(\"values\" in array)) {\n    return { result: false, message: \"Array.prototype.values is not defined\" };\n  }\n  var instance = array.values();\n  return !!instance && \"toArray\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.JSON","info":{"code":"\"JSON\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.JSON.parse","info":{"code":"\"JSON\" in self && \"parse\" in JSON","exposure":"Window"},"result":true},{"name":"javascript.builtins.JSON.stringify","info":{"code":"\"JSON\" in self && \"stringify\" in JSON","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map","info":{"code":"\"Map\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"Map\" in self && !!(Map.prototype[Symbol.iterator])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"Map\" in self && !!(Map[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.Map","info":{"code":"(function () {\n  if (!(\"Map\" in self)) {\n    return { result: false, message: \"Map is not defined\" };\n  }\n  return bcd.testConstructor(\"Map\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Map.Map.iterable_allowed","info":{"code":"(function () {\n  try {\n    new Map([\n      [1, \"one\"],\n      [2, \"two\"],\n      [3, \"three\"]\n    ]);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.Map.null_allowed","info":{"code":"(function () {\n  try {\n    new Map(null);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.clear","info":{"code":"\"Map\" in self && \"clear\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.delete","info":{"code":"\"Map\" in self && \"delete\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.entries","info":{"code":"\"Map\" in self && \"entries\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.forEach","info":{"code":"\"Map\" in self && \"forEach\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.get","info":{"code":"\"Map\" in self && \"get\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.getOrInsert","info":{"code":"\"Map\" in self && \"getOrInsert\" in Map.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Map.getOrInsertComputed","info":{"code":"\"Map\" in self && \"getOrInsertComputed\" in Map.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Map.groupBy","info":{"code":"\"Map\" in self && \"groupBy\" in Map","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.has","info":{"code":"\"Map\" in self && \"has\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.keys","info":{"code":"\"Map\" in self && \"keys\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.set","info":{"code":"\"Map\" in self && \"set\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.size","info":{"code":"\"Map\" in self && \"size\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Map.values","info":{"code":"\"Map\" in self && \"values\" in Map.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math","info":{"code":"\"Math\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.E","info":{"code":"\"Math\" in self && \"E\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.LN10","info":{"code":"\"Math\" in self && \"LN10\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.LN2","info":{"code":"\"Math\" in self && \"LN2\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.LOG10E","info":{"code":"\"Math\" in self && \"LOG10E\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.LOG2E","info":{"code":"\"Math\" in self && \"LOG2E\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.PI","info":{"code":"\"Math\" in self && \"PI\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.SQRT1_2","info":{"code":"\"Math\" in self && \"SQRT1_2\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.SQRT2","info":{"code":"\"Math\" in self && \"SQRT2\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.abs","info":{"code":"\"Math\" in self && \"abs\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.acos","info":{"code":"\"Math\" in self && \"acos\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.acosh","info":{"code":"\"Math\" in self && \"acosh\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.asin","info":{"code":"\"Math\" in self && \"asin\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.asinh","info":{"code":"\"Math\" in self && \"asinh\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.atan","info":{"code":"\"Math\" in self && \"atan\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.atan2","info":{"code":"\"Math\" in self && \"atan2\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.atanh","info":{"code":"\"Math\" in self && \"atanh\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.cbrt","info":{"code":"\"Math\" in self && \"cbrt\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.ceil","info":{"code":"\"Math\" in self && \"ceil\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.clz32","info":{"code":"\"Math\" in self && \"clz32\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.cos","info":{"code":"\"Math\" in self && \"cos\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.cosh","info":{"code":"\"Math\" in self && \"cosh\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.exp","info":{"code":"\"Math\" in self && \"exp\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.expm1","info":{"code":"\"Math\" in self && \"expm1\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.f16round","info":{"code":"\"Math\" in self && \"f16round\" in Math","exposure":"Window"},"result":false},{"name":"javascript.builtins.Math.floor","info":{"code":"\"Math\" in self && \"floor\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.fround","info":{"code":"\"Math\" in self && \"fround\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.hypot","info":{"code":"\"Math\" in self && \"hypot\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.imul","info":{"code":"\"Math\" in self && \"imul\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.log","info":{"code":"\"Math\" in self && \"log\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.log10","info":{"code":"\"Math\" in self && \"log10\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.log1p","info":{"code":"\"Math\" in self && \"log1p\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.log2","info":{"code":"\"Math\" in self && \"log2\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.max","info":{"code":"\"Math\" in self && \"max\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.min","info":{"code":"\"Math\" in self && \"min\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.pow","info":{"code":"\"Math\" in self && \"pow\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.random","info":{"code":"\"Math\" in self && \"random\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.round","info":{"code":"\"Math\" in self && \"round\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.sign","info":{"code":"\"Math\" in self && \"sign\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.sin","info":{"code":"\"Math\" in self && \"sin\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.sinh","info":{"code":"\"Math\" in self && \"sinh\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.sqrt","info":{"code":"\"Math\" in self && \"sqrt\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.sumPrecise","info":{"code":"\"Math\" in self && \"sumPrecise\" in Math","exposure":"Window"},"result":false},{"name":"javascript.builtins.Math.tan","info":{"code":"\"Math\" in self && \"tan\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.tanh","info":{"code":"\"Math\" in self && \"tanh\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.Math.trunc","info":{"code":"\"Math\" in self && \"trunc\" in Math","exposure":"Window"},"result":true},{"name":"javascript.builtins.NaN","info":{"code":"\"NaN\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number","info":{"code":"\"Number\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.EPSILON","info":{"code":"\"Number\" in self && \"EPSILON\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.MAX_SAFE_INTEGER","info":{"code":"\"Number\" in self && \"MAX_SAFE_INTEGER\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.MAX_VALUE","info":{"code":"\"Number\" in self && \"MAX_VALUE\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.MIN_SAFE_INTEGER","info":{"code":"\"Number\" in self && \"MIN_SAFE_INTEGER\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.MIN_VALUE","info":{"code":"\"Number\" in self && \"MIN_VALUE\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.NEGATIVE_INFINITY","info":{"code":"\"Number\" in self && \"NEGATIVE_INFINITY\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.NaN","info":{"code":"\"Number\" in self && \"NaN\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.Number","info":{"code":"(function () {\n  if (!(\"Number\" in self)) {\n    return { result: false, message: \"Number is not defined\" };\n  }\n  return bcd.testConstructor(\"Number\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Number.POSITIVE_INFINITY","info":{"code":"\"Number\" in self && \"POSITIVE_INFINITY\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.isFinite","info":{"code":"\"Number\" in self && \"isFinite\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.isInteger","info":{"code":"\"Number\" in self && \"isInteger\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.isNaN","info":{"code":"\"Number\" in self && \"isNaN\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.isSafeInteger","info":{"code":"\"Number\" in self && \"isSafeInteger\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.parseFloat","info":{"code":"\"Number\" in self && \"parseFloat\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.parseInt","info":{"code":"\"Number\" in self && \"parseInt\" in Number","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.toExponential","info":{"code":"\"Number\" in self && \"toExponential\" in Number.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.toFixed","info":{"code":"\"Number\" in self && \"toFixed\" in Number.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.toLocaleString","info":{"code":"\"Number\" in self && \"toLocaleString\" in Number.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.toPrecision","info":{"code":"\"Number\" in self && \"toPrecision\" in Number.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.toString","info":{"code":"\"Number\" in self && \"toString\" in Number.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Number.valueOf","info":{"code":"\"Number\" in self && \"valueOf\" in Number.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object","info":{"code":"\"Object\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.Object","info":{"code":"(function () {\n  if (!(\"Object\" in self)) {\n    return { result: false, message: \"Object is not defined\" };\n  }\n  return bcd.testConstructor(\"Object\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Object.assign","info":{"code":"\"Object\" in self && \"assign\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.constructor","info":{"code":"(function () {\n  var instance = {};\n  return !!instance.constructor;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.create","info":{"code":"\"Object\" in self && \"create\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.defineGetter","info":{"code":"(function () {\n  return \"__defineGetter__\" in {};\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.defineProperties","info":{"code":"\"Object\" in self && \"defineProperties\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.defineProperty","info":{"code":"\"Object\" in self && \"defineProperty\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.defineSetter","info":{"code":"(function () {\n  return \"__defineSetter__\" in {};\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.entries","info":{"code":"\"Object\" in self && \"entries\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.freeze","info":{"code":"\"Object\" in self && \"freeze\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.fromEntries","info":{"code":"\"Object\" in self && \"fromEntries\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.getOwnPropertyDescriptor","info":{"code":"\"Object\" in self && \"getOwnPropertyDescriptor\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.getOwnPropertyDescriptors","info":{"code":"\"Object\" in self && \"getOwnPropertyDescriptors\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.getOwnPropertyNames","info":{"code":"\"Object\" in self && \"getOwnPropertyNames\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.getOwnPropertySymbols","info":{"code":"\"Object\" in self && \"getOwnPropertySymbols\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.getPrototypeOf","info":{"code":"\"Object\" in self && \"getPrototypeOf\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.groupBy","info":{"code":"\"Object\" in self && \"groupBy\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.hasOwn","info":{"code":"\"Object\" in self && \"hasOwn\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.hasOwnProperty","info":{"code":"\"Object\" in self && \"hasOwnProperty\" in Object.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.is","info":{"code":"\"Object\" in self && \"is\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.isExtensible","info":{"code":"\"Object\" in self && \"isExtensible\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.isFrozen","info":{"code":"\"Object\" in self && \"isFrozen\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.isPrototypeOf","info":{"code":"\"Object\" in self && \"isPrototypeOf\" in Object.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.isSealed","info":{"code":"\"Object\" in self && \"isSealed\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.keys","info":{"code":"\"Object\" in self && \"keys\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.lookupGetter","info":{"code":"(function () {\n  return \"__lookupGetter__\" in {};\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.lookupSetter","info":{"code":"(function () {\n  return \"__lookupSetter__\" in {};\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.preventExtensions","info":{"code":"\"Object\" in self && \"preventExtensions\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.propertyIsEnumerable","info":{"code":"\"Object\" in self && \"propertyIsEnumerable\" in Object.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.proto","info":{"code":"(function () {\n  return \"__proto__\" in {};\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.seal","info":{"code":"\"Object\" in self && \"seal\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.setPrototypeOf","info":{"code":"\"Object\" in self && \"setPrototypeOf\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.toLocaleString","info":{"code":"\"Object\" in self && \"toLocaleString\" in Object.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.toString","info":{"code":"\"Object\" in self && \"toString\" in Object.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.valueOf","info":{"code":"\"Object\" in self && \"valueOf\" in Object.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Object.values","info":{"code":"\"Object\" in self && \"values\" in Object","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise","info":{"code":"\"Promise\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"Promise\" in self && !!(Promise[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.Promise","info":{"code":"(function () {\n  if (!(\"Promise\" in self)) {\n    return { result: false, message: \"Promise is not defined\" };\n  }\n  return bcd.testConstructor(\"Promise\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: Promise resolver undefined is not a function"},{"name":"javascript.builtins.Promise.all","info":{"code":"\"Promise\" in self && \"all\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.allSettled","info":{"code":"\"Promise\" in self && \"allSettled\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.any","info":{"code":"\"Promise\" in self && \"any\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.catch","info":{"code":"\"Promise\" in self && \"catch\" in Promise.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.finally","info":{"code":"\"Promise\" in self && \"finally\" in Promise.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.race","info":{"code":"\"Promise\" in self && \"race\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.reject","info":{"code":"\"Promise\" in self && \"reject\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.resolve","info":{"code":"\"Promise\" in self && \"resolve\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.then","info":{"code":"\"Promise\" in self && \"then\" in Promise.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Promise.try","info":{"code":"\"Promise\" in self && \"try\" in Promise","exposure":"Window"},"result":false},{"name":"javascript.builtins.Promise.withResolvers","info":{"code":"\"Promise\" in self && \"withResolvers\" in Promise","exposure":"Window"},"result":true},{"name":"javascript.builtins.Proxy","info":{"code":"\"Proxy\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Proxy.Proxy","info":{"code":"(function () {\n  if (!(\"Proxy\" in self)) {\n    return { result: false, message: \"Proxy is not defined\" };\n  }\n  return bcd.testConstructor(\"Proxy\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: Cannot create proxy with a non-object as target or handler"},{"name":"javascript.builtins.Proxy.revocable","info":{"code":"\"Proxy\" in self && \"revocable\" in Proxy","exposure":"Window"},"result":true},{"name":"javascript.builtins.RangeError","info":{"code":"\"RangeError\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.RangeError.RangeError","info":{"code":"(function () {\n  if (!(\"RangeError\" in self)) {\n    return { result: false, message: \"RangeError is not defined\" };\n  }\n  return bcd.testConstructor(\"RangeError\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.ReferenceError","info":{"code":"\"ReferenceError\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.ReferenceError.ReferenceError","info":{"code":"(function () {\n  if (!(\"ReferenceError\" in self)) {\n    return { result: false, message: \"ReferenceError is not defined\" };\n  }\n  return bcd.testConstructor(\"ReferenceError\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Reflect","info":{"code":"\"Reflect\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.apply","info":{"code":"\"Reflect\" in self && \"apply\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.construct","info":{"code":"\"Reflect\" in self && \"construct\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.defineProperty","info":{"code":"\"Reflect\" in self && \"defineProperty\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.deleteProperty","info":{"code":"\"Reflect\" in self && \"deleteProperty\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.get","info":{"code":"\"Reflect\" in self && \"get\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.getOwnPropertyDescriptor","info":{"code":"\"Reflect\" in self && \"getOwnPropertyDescriptor\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.getPrototypeOf","info":{"code":"\"Reflect\" in self && \"getPrototypeOf\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.has","info":{"code":"\"Reflect\" in self && \"has\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.isExtensible","info":{"code":"\"Reflect\" in self && \"isExtensible\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.ownKeys","info":{"code":"\"Reflect\" in self && \"ownKeys\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.preventExtensions","info":{"code":"\"Reflect\" in self && \"preventExtensions\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.set","info":{"code":"\"Reflect\" in self && \"set\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.Reflect.setPrototypeOf","info":{"code":"\"Reflect\" in self && \"setPrototypeOf\" in Reflect","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.@@match","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"match\" in Symbol &&\n    !!instance[Symbol.match]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.@@matchAll","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"matchAll\" in Symbol &&\n    !!instance[Symbol.matchAll]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.@@replace","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"replace\" in Symbol &&\n    !!instance[Symbol.replace]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.@@search","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"search\" in Symbol &&\n    !!instance[Symbol.search]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"RegExp\" in self && !!(RegExp[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.@@split","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"split\" in Symbol &&\n    !!instance[Symbol.split]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.RegExp","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  return bcd.testConstructor(\"RegExp\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.RegExp.compile","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"compile\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.dotAll","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"dotAll\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.escape","info":{"code":"\"RegExp\" in self && \"escape\" in RegExp","exposure":"Window"},"result":false},{"name":"javascript.builtins.RegExp.exec","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"exec\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.flags","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"flags\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.global","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"global\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.hasIndices","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"hasIndices\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.ignoreCase","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"ignoreCase\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.input","info":{"code":"\"RegExp\" in self && \"input\" in RegExp","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.lastIndex","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"lastIndex\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.lastMatch","info":{"code":"\"RegExp\" in self && \"lastMatch\" in RegExp","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.lastParen","info":{"code":"\"RegExp\" in self && \"lastParen\" in RegExp","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.leftContext","info":{"code":"\"RegExp\" in self && \"leftContext\" in RegExp","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.multiline","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"multiline\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.n","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return \"$1\" in RegExp;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.rightContext","info":{"code":"\"RegExp\" in self && \"rightContext\" in RegExp","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.source","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"source\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.sticky","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"sticky\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.test","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"test\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.toString","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"toString\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.unicode","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"unicode\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.RegExp.unicodeSets","info":{"code":"(function () {\n  if (!(\"RegExp\" in self)) {\n    return { result: false, message: \"RegExp is not defined\" };\n  }\n  var instance = new RegExp(\"foo\", \"g\");\n  return !!instance && \"unicodeSets\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set","info":{"code":"\"Set\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"Set\" in self && !!(Set.prototype[Symbol.iterator])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"Set\" in self && !!(Set[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.Set","info":{"code":"(function () {\n  if (!(\"Set\" in self)) {\n    return { result: false, message: \"Set is not defined\" };\n  }\n  return bcd.testConstructor(\"Set\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Set.Set.iterable_allowed","info":{"code":"(function () {\n  try {\n    new Set([1, 2, 3, 4, 5]);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.Set.null_allowed","info":{"code":"(function () {\n  try {\n    new Set(null);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.add","info":{"code":"\"Set\" in self && \"add\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.clear","info":{"code":"\"Set\" in self && \"clear\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.delete","info":{"code":"\"Set\" in self && \"delete\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.difference","info":{"code":"\"Set\" in self && \"difference\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.entries","info":{"code":"\"Set\" in self && \"entries\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.forEach","info":{"code":"\"Set\" in self && \"forEach\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.has","info":{"code":"\"Set\" in self && \"has\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.intersection","info":{"code":"\"Set\" in self && \"intersection\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.isDisjointFrom","info":{"code":"\"Set\" in self && \"isDisjointFrom\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.isSubsetOf","info":{"code":"\"Set\" in self && \"isSubsetOf\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.isSupersetOf","info":{"code":"\"Set\" in self && \"isSupersetOf\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.keys","info":{"code":"\"Set\" in self && \"keys\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.size","info":{"code":"\"Set\" in self && \"size\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Set.symmetricDifference","info":{"code":"\"Set\" in self && \"symmetricDifference\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.union","info":{"code":"\"Set\" in self && \"union\" in Set.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Set.values","info":{"code":"\"Set\" in self && \"values\" in Set.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer","info":{"code":"\"SharedArrayBuffer\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer.@@species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol && \"SharedArrayBuffer\" in self && !!(SharedArrayBuffer[Symbol.species])","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer.SharedArrayBuffer","info":{"code":"(function () {\n  if (!(\"SharedArrayBuffer\" in self)) {\n    return { result: false, message: \"SharedArrayBuffer is not defined\" };\n  }\n  return bcd.testConstructor(\"SharedArrayBuffer\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.SharedArrayBuffer.byteLength","info":{"code":"\"SharedArrayBuffer\" in self && \"byteLength\" in SharedArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer.grow","info":{"code":"\"SharedArrayBuffer\" in self && \"grow\" in SharedArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer.growable","info":{"code":"\"SharedArrayBuffer\" in self && \"growable\" in SharedArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer.maxByteLength","info":{"code":"\"SharedArrayBuffer\" in self && \"maxByteLength\" in SharedArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SharedArrayBuffer.slice","info":{"code":"\"SharedArrayBuffer\" in self && \"slice\" in SharedArrayBuffer.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String","info":{"code":"\"String\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.@@iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol && \"String\" in self && !!(String.prototype[Symbol.iterator])","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.String","info":{"code":"(function () {\n  if (!(\"String\" in self)) {\n    return { result: false, message: \"String is not defined\" };\n  }\n  return bcd.testConstructor(\"String\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.String.anchor","info":{"code":"\"String\" in self && \"anchor\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.at","info":{"code":"\"String\" in self && \"at\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.big","info":{"code":"\"String\" in self && \"big\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.blink","info":{"code":"\"String\" in self && \"blink\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.bold","info":{"code":"\"String\" in self && \"bold\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.charAt","info":{"code":"\"String\" in self && \"charAt\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.charCodeAt","info":{"code":"\"String\" in self && \"charCodeAt\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.codePointAt","info":{"code":"\"String\" in self && \"codePointAt\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.concat","info":{"code":"\"String\" in self && \"concat\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.contains","info":{"code":"\"String\" in self && \"contains\" in String.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.String.endsWith","info":{"code":"\"String\" in self && \"endsWith\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.fixed","info":{"code":"\"String\" in self && \"fixed\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.fontcolor","info":{"code":"\"String\" in self && \"fontcolor\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.fontsize","info":{"code":"\"String\" in self && \"fontsize\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.fromCharCode","info":{"code":"\"String\" in self && \"fromCharCode\" in String","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.fromCodePoint","info":{"code":"\"String\" in self && \"fromCodePoint\" in String","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.includes","info":{"code":"\"String\" in self && \"includes\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.indexOf","info":{"code":"\"String\" in self && \"indexOf\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.isWellFormed","info":{"code":"\"String\" in self && \"isWellFormed\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.italics","info":{"code":"\"String\" in self && \"italics\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.lastIndexOf","info":{"code":"\"String\" in self && \"lastIndexOf\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.length","info":{"code":"\"String\" in self && \"length\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.link","info":{"code":"\"String\" in self && \"link\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.localeCompare","info":{"code":"\"String\" in self && \"localeCompare\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.match","info":{"code":"\"String\" in self && \"match\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.matchAll","info":{"code":"\"String\" in self && \"matchAll\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.normalize","info":{"code":"\"String\" in self && \"normalize\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.padEnd","info":{"code":"\"String\" in self && \"padEnd\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.padStart","info":{"code":"\"String\" in self && \"padStart\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.raw","info":{"code":"\"String\" in self && \"raw\" in String","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.repeat","info":{"code":"\"String\" in self && \"repeat\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.replace","info":{"code":"\"String\" in self && \"replace\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.replaceAll","info":{"code":"\"String\" in self && \"replaceAll\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.search","info":{"code":"\"String\" in self && \"search\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.slice","info":{"code":"\"String\" in self && \"slice\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.small","info":{"code":"\"String\" in self && \"small\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.split","info":{"code":"\"String\" in self && \"split\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.startsWith","info":{"code":"\"String\" in self && \"startsWith\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.strike","info":{"code":"\"String\" in self && \"strike\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.sub","info":{"code":"\"String\" in self && \"sub\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.substr","info":{"code":"\"String\" in self && \"substr\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.substring","info":{"code":"\"String\" in self && \"substring\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.sup","info":{"code":"\"String\" in self && \"sup\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.toLocaleLowerCase","info":{"code":"\"String\" in self && \"toLocaleLowerCase\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.toLocaleUpperCase","info":{"code":"\"String\" in self && \"toLocaleUpperCase\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.toLowerCase","info":{"code":"\"String\" in self && \"toLowerCase\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.toString","info":{"code":"\"String\" in self && \"toString\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.toUpperCase","info":{"code":"\"String\" in self && \"toUpperCase\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.toWellFormed","info":{"code":"\"String\" in self && \"toWellFormed\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.trim","info":{"code":"\"String\" in self && \"trim\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.trimEnd","info":{"code":"\"String\" in self && \"trimEnd\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.trimStart","info":{"code":"\"String\" in self && \"trimStart\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.String.valueOf","info":{"code":"\"String\" in self && \"valueOf\" in String.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SuppressedError","info":{"code":"(function () {\n  if (!(\"SuppressedError\" in self)) {\n    return { result: false, message: \"SuppressedError is not defined\" };\n  }\n  var instance = new SuppressedError(\n    new Error(\"New error\"),\n    new Error(\"Original error\"),\n    \"Hello\"\n  );\n  return !!instance;\n})();\n","exposure":"Window"},"result":false,"message":"SuppressedError is not defined"},{"name":"javascript.builtins.SuppressedError.SuppressedError","info":{"code":"(function () {\n  if (!(\"SuppressedError\" in self)) {\n    return { result: false, message: \"SuppressedError is not defined\" };\n  }\n  return bcd.testConstructor(\"SuppressedError\", false);\n})();\n","exposure":"Window"},"result":false,"message":"SuppressedError is not defined"},{"name":"javascript.builtins.SuppressedError.error","info":{"code":"(function () {\n  if (!(\"SuppressedError\" in self)) {\n    return { result: false, message: \"SuppressedError is not defined\" };\n  }\n  var instance = new SuppressedError(\n    new Error(\"New error\"),\n    new Error(\"Original error\"),\n    \"Hello\"\n  );\n  return !!instance && \"error\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SuppressedError is not defined"},{"name":"javascript.builtins.SuppressedError.suppressed","info":{"code":"(function () {\n  if (!(\"SuppressedError\" in self)) {\n    return { result: false, message: \"SuppressedError is not defined\" };\n  }\n  var instance = new SuppressedError(\n    new Error(\"New error\"),\n    new Error(\"Original error\"),\n    \"Hello\"\n  );\n  return !!instance && \"suppressed\" in instance;\n})();\n","exposure":"Window"},"result":false,"message":"SuppressedError is not defined"},{"name":"javascript.builtins.Symbol","info":{"code":"\"Symbol\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.@@toPrimitive","info":{"code":"\"Symbol\" in self && \"toPrimitive\" in Symbol && \"Symbol\" in self && !!(Symbol.prototype[Symbol.toPrimitive])","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.Symbol","info":{"code":"(function () {\n  if (!(\"Symbol\" in self)) {\n    return { result: false, message: \"Symbol is not defined\" };\n  }\n  return bcd.testConstructor(\"Symbol\", true);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Symbol.asyncDispose","info":{"code":"\"Symbol\" in self && \"asyncDispose\" in Symbol","exposure":"Window"},"result":false},{"name":"javascript.builtins.Symbol.asyncIterator","info":{"code":"\"Symbol\" in self && \"asyncIterator\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.description","info":{"code":"\"Symbol\" in self && \"description\" in Symbol.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.dispose","info":{"code":"\"Symbol\" in self && \"dispose\" in Symbol","exposure":"Window"},"result":false},{"name":"javascript.builtins.Symbol.for","info":{"code":"\"Symbol\" in self && \"for\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.hasInstance","info":{"code":"\"Symbol\" in self && \"hasInstance\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.isConcatSpreadable","info":{"code":"\"Symbol\" in self && \"isConcatSpreadable\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.iterator","info":{"code":"\"Symbol\" in self && \"iterator\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.keyFor","info":{"code":"\"Symbol\" in self && \"keyFor\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.match","info":{"code":"\"Symbol\" in self && \"match\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.matchAll","info":{"code":"\"Symbol\" in self && \"matchAll\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.replace","info":{"code":"\"Symbol\" in self && \"replace\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.search","info":{"code":"\"Symbol\" in self && \"search\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.species","info":{"code":"\"Symbol\" in self && \"species\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.split","info":{"code":"\"Symbol\" in self && \"split\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.toPrimitive","info":{"code":"\"Symbol\" in self && \"toPrimitive\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.toString","info":{"code":"\"Symbol\" in self && \"toString\" in Symbol.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.toStringTag","info":{"code":"\"Symbol\" in self && \"toStringTag\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.unscopables","info":{"code":"\"Symbol\" in self && \"unscopables\" in Symbol","exposure":"Window"},"result":true},{"name":"javascript.builtins.Symbol.valueOf","info":{"code":"\"Symbol\" in self && \"valueOf\" in Symbol.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.SyntaxError","info":{"code":"\"SyntaxError\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.SyntaxError.SyntaxError","info":{"code":"(function () {\n  if (!(\"SyntaxError\" in self)) {\n    return { result: false, message: \"SyntaxError is not defined\" };\n  }\n  return bcd.testConstructor(\"SyntaxError\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Temporal","info":{"code":"\"Temporal\" in self","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.Duration","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"Duration\" in Temporal)) {\n    return { result: false, message: \"Temporal.Duration is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.Duration\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.Duration.abs","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"abs\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.add","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"add\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.blank","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"blank\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.compare","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"compare\" in Temporal.Duration","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.days","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"days\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.from","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"from\" in Temporal.Duration","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.hours","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"hours\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.microseconds","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"microseconds\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.milliseconds","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"milliseconds\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.minutes","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"minutes\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.months","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"months\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.nanoseconds","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"nanoseconds\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.negated","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"negated\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.round","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"round\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.seconds","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"seconds\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.sign","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"sign\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.subtract","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"subtract\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.toJSON","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"toJSON\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.toLocaleString","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"toLocaleString\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.toString","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"toString\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.total","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"total\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.valueOf","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"valueOf\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.weeks","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"weeks\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.with","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"with\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Duration.years","info":{"code":"\"Temporal\" in self && \"Duration\" in Temporal && \"years\" in Temporal.Duration.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.Instant","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"Instant\" in Temporal)) {\n    return { result: false, message: \"Temporal.Instant is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.Instant\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.Instant.add","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"add\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.compare","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"compare\" in Temporal.Instant","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.epochMilliseconds","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"epochMilliseconds\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.epochNanoseconds","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"epochNanoseconds\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.equals","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"equals\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.from","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"from\" in Temporal.Instant","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.fromEpochMilliseconds","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"fromEpochMilliseconds\" in Temporal.Instant","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.fromEpochNanoseconds","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"fromEpochNanoseconds\" in Temporal.Instant","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.round","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"round\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.since","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"since\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.subtract","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"subtract\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.toJSON","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"toJSON\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.toLocaleString","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"toLocaleString\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.toString","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"toString\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.toZonedDateTimeISO","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"toZonedDateTimeISO\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.until","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"until\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Instant.valueOf","info":{"code":"\"Temporal\" in self && \"Instant\" in Temporal && \"valueOf\" in Temporal.Instant.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now.instant","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal && \"instant\" in Temporal.Now","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now.plainDateISO","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal && \"plainDateISO\" in Temporal.Now","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now.plainDateTimeISO","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal && \"plainDateTimeISO\" in Temporal.Now","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now.plainTimeISO","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal && \"plainTimeISO\" in Temporal.Now","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now.timeZoneId","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal && \"timeZoneId\" in Temporal.Now","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.Now.zonedDateTimeISO","info":{"code":"\"Temporal\" in self && \"Now\" in Temporal && \"zonedDateTimeISO\" in Temporal.Now","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.PlainDate","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"PlainDate\" in Temporal)) {\n    return { result: false, message: \"Temporal.PlainDate is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.PlainDate\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.PlainDate.add","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"add\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.calendarId","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"calendarId\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.compare","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"compare\" in Temporal.PlainDate","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.day","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"day\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.dayOfWeek","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"dayOfWeek\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.dayOfYear","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"dayOfYear\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.daysInMonth","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"daysInMonth\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.daysInWeek","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"daysInWeek\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.daysInYear","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"daysInYear\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.equals","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"equals\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.era","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"era\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.eraYear","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"eraYear\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.from","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"from\" in Temporal.PlainDate","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.inLeapYear","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"inLeapYear\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.month","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"month\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.monthCode","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"monthCode\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.monthsInYear","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"monthsInYear\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.since","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"since\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.subtract","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"subtract\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toJSON","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toJSON\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toLocaleString","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toLocaleString\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toPlainDateTime","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toPlainDateTime\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toPlainMonthDay","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toPlainMonthDay\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toPlainYearMonth","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toPlainYearMonth\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toString","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toString\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.toZonedDateTime","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"toZonedDateTime\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.until","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"until\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.valueOf","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"valueOf\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.weekOfYear","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"weekOfYear\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.with","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"with\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.withCalendar","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"withCalendar\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.year","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"year\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDate.yearOfWeek","info":{"code":"\"Temporal\" in self && \"PlainDate\" in Temporal && \"yearOfWeek\" in Temporal.PlainDate.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.PlainDateTime","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"PlainDateTime\" in Temporal)) {\n    return { result: false, message: \"Temporal.PlainDateTime is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.PlainDateTime\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.PlainDateTime.add","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"add\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.calendarId","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"calendarId\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.compare","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"compare\" in Temporal.PlainDateTime","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.day","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"day\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.dayOfWeek","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"dayOfWeek\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.dayOfYear","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"dayOfYear\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.daysInMonth","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"daysInMonth\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.daysInWeek","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"daysInWeek\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.daysInYear","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"daysInYear\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.equals","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"equals\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.era","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"era\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.eraYear","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"eraYear\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.from","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"from\" in Temporal.PlainDateTime","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.hour","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"hour\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.inLeapYear","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"inLeapYear\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.microsecond","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"microsecond\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.millisecond","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"millisecond\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.minute","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"minute\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.month","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"month\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.monthCode","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"monthCode\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.monthsInYear","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"monthsInYear\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.nanosecond","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"nanosecond\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.round","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"round\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.second","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"second\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.since","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"since\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.subtract","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"subtract\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.toJSON","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"toJSON\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.toLocaleString","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"toLocaleString\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.toPlainDate","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"toPlainDate\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.toPlainTime","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"toPlainTime\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.toString","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"toString\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.toZonedDateTime","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"toZonedDateTime\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.until","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"until\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.valueOf","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"valueOf\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.weekOfYear","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"weekOfYear\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.with","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"with\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.withCalendar","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"withCalendar\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.withPlainTime","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"withPlainTime\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.year","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"year\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainDateTime.yearOfWeek","info":{"code":"\"Temporal\" in self && \"PlainDateTime\" in Temporal && \"yearOfWeek\" in Temporal.PlainDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.PlainMonthDay","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"PlainMonthDay\" in Temporal)) {\n    return { result: false, message: \"Temporal.PlainMonthDay is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.PlainMonthDay\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.PlainMonthDay.calendarId","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"calendarId\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.day","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"day\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.equals","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"equals\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.from","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"from\" in Temporal.PlainMonthDay","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.getISOFields","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"getISOFields\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.monthCode","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"monthCode\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.toJSON","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"toJSON\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.toLocaleString","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"toLocaleString\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.toPlainDate","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"toPlainDate\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.toString","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"toString\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.valueOf","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"valueOf\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainMonthDay.with","info":{"code":"\"Temporal\" in self && \"PlainMonthDay\" in Temporal && \"with\" in Temporal.PlainMonthDay.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.PlainTime","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"PlainTime\" in Temporal)) {\n    return { result: false, message: \"Temporal.PlainTime is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.PlainTime\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.PlainTime.add","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"add\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.compare","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"compare\" in Temporal.PlainTime","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.equals","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"equals\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.from","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"from\" in Temporal.PlainTime","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.hour","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"hour\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.microsecond","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"microsecond\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.millisecond","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"millisecond\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.minute","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"minute\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.nanosecond","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"nanosecond\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.round","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"round\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.second","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"second\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.since","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"since\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.subtract","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"subtract\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.toJSON","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"toJSON\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.toLocaleString","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"toLocaleString\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.toString","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"toString\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.until","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"until\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.valueOf","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"valueOf\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainTime.with","info":{"code":"\"Temporal\" in self && \"PlainTime\" in Temporal && \"with\" in Temporal.PlainTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.PlainYearMonth","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"PlainYearMonth\" in Temporal)) {\n    return { result: false, message: \"Temporal.PlainYearMonth is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.PlainYearMonth\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.PlainYearMonth.add","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"add\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.calendarId","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"calendarId\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.compare","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"compare\" in Temporal.PlainYearMonth","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.daysInMonth","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"daysInMonth\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.daysInYear","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"daysInYear\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.equals","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"equals\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.era","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"era\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.eraYear","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"eraYear\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.from","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"from\" in Temporal.PlainYearMonth","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.inLeapYear","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"inLeapYear\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.month","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"month\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.monthCode","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"monthCode\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.monthsInYear","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"monthsInYear\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.since","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"since\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.subtract","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"subtract\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.toJSON","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"toJSON\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.toLocaleString","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"toLocaleString\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.toPlainDate","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"toPlainDate\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.toString","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"toString\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.until","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"until\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.valueOf","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"valueOf\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.with","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"with\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.PlainYearMonth.year","info":{"code":"\"Temporal\" in self && \"PlainYearMonth\" in Temporal && \"year\" in Temporal.PlainYearMonth.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.ZonedDateTime","info":{"code":"(function () {\n  if (!(\"Temporal\" in self)) {\n    return { result: false, message: \"Temporal is not defined\" };\n  }\n  if (!(\"ZonedDateTime\" in Temporal)) {\n    return { result: false, message: \"Temporal.ZonedDateTime is not defined\" };\n  }\n  return bcd.testConstructor(\"Temporal.ZonedDateTime\", false);\n})();\n","exposure":"Window"},"result":false,"message":"Temporal is not defined"},{"name":"javascript.builtins.Temporal.ZonedDateTime.add","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"add\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.calendarId","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"calendarId\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.compare","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"compare\" in Temporal.ZonedDateTime","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.day","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"day\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.dayOfWeek","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"dayOfWeek\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.dayOfYear","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"dayOfYear\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.daysInMonth","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"daysInMonth\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.daysInWeek","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"daysInWeek\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.daysInYear","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"daysInYear\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.epochMilliseconds","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"epochMilliseconds\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.epochNanoseconds","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"epochNanoseconds\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.equals","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"equals\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.era","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"era\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.eraYear","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"eraYear\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.from","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"from\" in Temporal.ZonedDateTime","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.getTimeZoneTransition","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"getTimeZoneTransition\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.hour","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"hour\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.hoursInDay","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"hoursInDay\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.inLeapYear","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"inLeapYear\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.microsecond","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"microsecond\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.millisecond","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"millisecond\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.minute","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"minute\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.month","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"month\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.monthCode","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"monthCode\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.monthsInYear","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"monthsInYear\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.nanosecond","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"nanosecond\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.offset","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"offset\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.offsetNanoseconds","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"offsetNanoseconds\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.round","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"round\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.second","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"second\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.since","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"since\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.startOfDay","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"startOfDay\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.subtract","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"subtract\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.timeZoneId","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"timeZoneId\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toInstant","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toInstant\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toJSON","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toJSON\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toLocaleString","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toLocaleString\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toPlainDate","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toPlainDate\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toPlainDateTime","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toPlainDateTime\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toPlainTime","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toPlainTime\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.toString","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"toString\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.until","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"until\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.valueOf","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"valueOf\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.weekOfYear","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"weekOfYear\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.with","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"with\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.withCalendar","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"withCalendar\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.withPlainTime","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"withPlainTime\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.withTimeZone","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"withTimeZone\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.year","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"year\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Temporal.ZonedDateTime.yearOfWeek","info":{"code":"\"Temporal\" in self && \"ZonedDateTime\" in Temporal && \"yearOfWeek\" in Temporal.ZonedDateTime.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.TypeError","info":{"code":"\"TypeError\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypeError.TypeError","info":{"code":"(function () {\n  if (!(\"TypeError\" in self)) {\n    return { result: false, message: \"TypeError is not defined\" };\n  }\n  return bcd.testConstructor(\"TypeError\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.TypedArray","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.@@iterator","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return (\n    !!instance &&\n    \"Symbol\" in self &&\n    \"iterator\" in Symbol &&\n    !!instance[Symbol.iterator]\n  );\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.@@species","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return \"Symbol\" in self && \"species\" in Symbol && !!Int8Array[Symbol.species];\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.at","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"at\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.buffer","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"buffer\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.byteLength","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"byteLength\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.byteOffset","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"byteOffset\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  try {\n    new Int8Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.copyWithin","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"copyWithin\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.entries","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"entries\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.every","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"every\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.fill","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"fill\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.filter","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"filter\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.find","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"find\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.findIndex","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"findIndex\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.findLast","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"findLast\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.findLastIndex","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"findLastIndex\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.forEach","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"forEach\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.from","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return \"from\" in Int8Array;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.includes","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"includes\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.indexOf","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"indexOf\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.iterable_in_constructor","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Int8Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.join","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"join\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.keys","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"keys\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.lastIndexOf","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"lastIndexOf\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.length","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"length\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.map","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"map\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.of","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return \"of\" in Int8Array;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.prototype","info":{"code":"\"TypedArray\" in self && \"prototype\" in TypedArray","exposure":"Window"},"result":false},{"name":"javascript.builtins.TypedArray.reduce","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"reduce\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.reduceRight","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"reduceRight\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.reverse","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"reverse\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.set","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"set\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.slice","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"slice\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.some","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"some\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.sort","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"sort\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.subarray","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"subarray\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.toLocaleString","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"toLocaleString\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.toReversed","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"toReversed\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.toSorted","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"toSorted\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.toString","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"toString\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.values","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"values\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.TypedArray.with","info":{"code":"(function () {\n  if (!(\"Int8Array\" in self)) {\n    return { result: false, message: \"Int8Array is not defined\" };\n  }\n  var instance = new Int8Array(2);\n  return !!instance && \"with\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.URIError","info":{"code":"\"URIError\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.URIError.URIError","info":{"code":"(function () {\n  if (!(\"URIError\" in self)) {\n    return { result: false, message: \"URIError is not defined\" };\n  }\n  return bcd.testConstructor(\"URIError\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Uint16Array","info":{"code":"\"Uint16Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint16Array.Uint16Array","info":{"code":"(function () {\n  if (!(\"Uint16Array\" in self)) {\n    return { result: false, message: \"Uint16Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Uint16Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Uint16Array.Uint16Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Uint16Array\" in self)) {\n    return { result: false, message: \"Uint16Array is not defined\" };\n  }\n  try {\n    new Uint16Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint16Array.Uint16Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Uint16Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint32Array","info":{"code":"\"Uint32Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint32Array.Uint32Array","info":{"code":"(function () {\n  if (!(\"Uint32Array\" in self)) {\n    return { result: false, message: \"Uint32Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Uint32Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Uint32Array.Uint32Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Uint32Array\" in self)) {\n    return { result: false, message: \"Uint32Array is not defined\" };\n  }\n  try {\n    new Uint32Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint32Array.Uint32Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Uint32Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint8Array","info":{"code":"\"Uint8Array\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint8Array.Uint8Array","info":{"code":"(function () {\n  if (!(\"Uint8Array\" in self)) {\n    return { result: false, message: \"Uint8Array is not defined\" };\n  }\n  return bcd.testConstructor(\"Uint8Array\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Uint8Array.Uint8Array.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Uint8Array\" in self)) {\n    return { result: false, message: \"Uint8Array is not defined\" };\n  }\n  try {\n    new Uint8Array();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint8Array.Uint8Array.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Uint8Array(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint8Array.fromBase64","info":{"code":"\"Uint8Array\" in self && \"fromBase64\" in Uint8Array","exposure":"Window"},"result":false},{"name":"javascript.builtins.Uint8Array.fromHex","info":{"code":"\"Uint8Array\" in self && \"fromHex\" in Uint8Array","exposure":"Window"},"result":false},{"name":"javascript.builtins.Uint8Array.setFromBase64","info":{"code":"\"Uint8Array\" in self && \"setFromBase64\" in Uint8Array.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Uint8Array.setFromHex","info":{"code":"\"Uint8Array\" in self && \"setFromHex\" in Uint8Array.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Uint8Array.toBase64","info":{"code":"\"Uint8Array\" in self && \"toBase64\" in Uint8Array.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Uint8Array.toHex","info":{"code":"\"Uint8Array\" in self && \"toHex\" in Uint8Array.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.Uint8ClampedArray","info":{"code":"\"Uint8ClampedArray\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint8ClampedArray.Uint8ClampedArray","info":{"code":"(function () {\n  if (!(\"Uint8ClampedArray\" in self)) {\n    return { result: false, message: \"Uint8ClampedArray is not defined\" };\n  }\n  return bcd.testConstructor(\"Uint8ClampedArray\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.Uint8ClampedArray.Uint8ClampedArray.constructor_without_parameters","info":{"code":"(function () {\n  if (!(\"Uint8ClampedArray\" in self)) {\n    return { result: false, message: \"Uint8ClampedArray is not defined\" };\n  }\n  try {\n    new Uint8ClampedArray();\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.Uint8ClampedArray.Uint8ClampedArray.iterable_allowed","info":{"code":"(function () {\n  var iterable;\n  try {\n    function* a() {\n      yield true;\n    }\n\n    iterable = a();\n  } catch (e) {\n    if (e instanceof TypeError) {\n      return { result: false, message: e.message };\n    }\n    throw e;\n  }\n  if (!iterable) {\n    return { result: false, message: \"iterable is falsy\" };\n  }\n  try {\n    new Uint8ClampedArray(iterable);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap","info":{"code":"\"WeakMap\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap.WeakMap","info":{"code":"(function () {\n  if (!(\"WeakMap\" in self)) {\n    return { result: false, message: \"WeakMap is not defined\" };\n  }\n  return bcd.testConstructor(\"WeakMap\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.WeakMap.WeakMap.iterable_allowed","info":{"code":"(function () {\n  try {\n    new WeakMap([\n      [window, \"one\"],\n      [{}, \"two\"]\n    ]);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"window is not defined"},{"name":"javascript.builtins.WeakMap.WeakMap.null_allowed","info":{"code":"(function () {\n  try {\n    new WeakMap(null);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap.delete","info":{"code":"\"WeakMap\" in self && \"delete\" in WeakMap.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap.get","info":{"code":"\"WeakMap\" in self && \"get\" in WeakMap.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap.getOrInsert","info":{"code":"\"WeakMap\" in self && \"getOrInsert\" in WeakMap.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.WeakMap.getOrInsertComputed","info":{"code":"\"WeakMap\" in self && \"getOrInsertComputed\" in WeakMap.prototype","exposure":"Window"},"result":false},{"name":"javascript.builtins.WeakMap.has","info":{"code":"\"WeakMap\" in self && \"has\" in WeakMap.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap.set","info":{"code":"\"WeakMap\" in self && \"set\" in WeakMap.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakMap.symbol_as_keys","info":{"code":"(function () {\n  try {\n    new WeakMap().set(Symbol(), null);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakRef","info":{"code":"\"WeakRef\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakRef.WeakRef","info":{"code":"(function () {\n  if (!(\"WeakRef\" in self)) {\n    return { result: false, message: \"WeakRef is not defined\" };\n  }\n  return bcd.testConstructor(\"WeakRef\", false);\n})();\n","exposure":"Window"},"result":true,"message":"threw TypeError: WeakRef: invalid target"},{"name":"javascript.builtins.WeakRef.WeakRef.symbol_as_target","info":{"code":"(function () {\n  try {\n    new WeakRef(Symbol());\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakRef.deref","info":{"code":"\"WeakRef\" in self && \"deref\" in WeakRef.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakSet","info":{"code":"\"WeakSet\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakSet.WeakSet","info":{"code":"(function () {\n  if (!(\"WeakSet\" in self)) {\n    return { result: false, message: \"WeakSet is not defined\" };\n  }\n  return bcd.testConstructor(\"WeakSet\", false);\n})();\n","exposure":"Window"},"result":true,"message":"Constructor passed with no errors"},{"name":"javascript.builtins.WeakSet.WeakSet.iterable_allowed","info":{"code":"(function () {\n  try {\n    new WeakSet([window, {}]);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":false,"message":"window is not defined"},{"name":"javascript.builtins.WeakSet.WeakSet.null_allowed","info":{"code":"(function () {\n  try {\n    new WeakSet(null);\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakSet.add","info":{"code":"\"WeakSet\" in self && \"add\" in WeakSet.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakSet.delete","info":{"code":"\"WeakSet\" in self && \"delete\" in WeakSet.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakSet.has","info":{"code":"\"WeakSet\" in self && \"has\" in WeakSet.prototype","exposure":"Window"},"result":true},{"name":"javascript.builtins.WeakSet.symbol_as_keys","info":{"code":"(function () {\n  try {\n    new WeakSet().add(Symbol());\n    return true;\n  } catch (e) {\n    return { result: false, message: e.message };\n  }\n})();\n","exposure":"Window"},"result":true},{"name":"javascript.builtins.decodeURI","info":{"code":"\"decodeURI\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.decodeURIComponent","info":{"code":"\"decodeURIComponent\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.encodeURI","info":{"code":"\"encodeURI\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.encodeURIComponent","info":{"code":"\"encodeURIComponent\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.escape","info":{"code":"\"escape\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.eval","info":{"code":"\"eval\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.globalThis","info":{"code":"\"globalThis\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.isFinite","info":{"code":"\"isFinite\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.isNaN","info":{"code":"\"isNaN\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.parseFloat","info":{"code":"\"parseFloat\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.parseInt","info":{"code":"\"parseInt\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.undefined","info":{"code":"\"undefined\" in self","exposure":"Window"},"result":true},{"name":"javascript.builtins.unescape","info":{"code":"\"unescape\" in self","exposure":"Window"},"result":true},{"name":"webassembly.api","info":{"code":"\"WebAssembly\" in self","exposure":"Window"},"result":true},{"name":"webassembly.api.Exception","info":{"code":"\"WebAssembly\" in self && \"Exception\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Exception.Exception","info":{"code":"bcd.testConstructor('WebAssembly.Exception')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Exception(): Argument 0 must be a WebAssembly tag"},{"name":"webassembly.api.Exception.getArg","info":{"code":"\"WebAssembly\" in self && \"Exception\" in WebAssembly && \"getArg\" in WebAssembly.Exception.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Exception.is","info":{"code":"\"WebAssembly\" in self && \"Exception\" in WebAssembly && \"is\" in WebAssembly.Exception.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Exception.stack","info":{"code":"(function () {\n  if (!(\"WebAssembly\" in self && \"Exception\" in WebAssembly)) {\n    return { result: false, message: \"WebAssembly.Exception is not defined\" };\n  }\n  var instance = new WebAssembly.Exception(\n    new WebAssembly.Tag({ parameters: [\"i32\", \"i64\"] }),\n    [\"i32\", BigInt(64)],\n    { traceStack: true }\n  );\n  return !!instance && \"stack\" in instance;\n})();\n","exposure":"Window"},"result":true},{"name":"webassembly.api.Global","info":{"code":"\"WebAssembly\" in self && \"Global\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Global.Global","info":{"code":"bcd.testConstructor('WebAssembly.Global')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Global(): Argument 0 must be a global descriptor"},{"name":"webassembly.api.Global.value","info":{"code":"\"WebAssembly\" in self && \"Global\" in WebAssembly && \"value\" in WebAssembly.Global.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Global.valueOf","info":{"code":"\"WebAssembly\" in self && \"Global\" in WebAssembly && \"valueOf\" in WebAssembly.Global.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Instance","info":{"code":"\"WebAssembly\" in self && \"Instance\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Instance.Instance","info":{"code":"bcd.testConstructor('WebAssembly.Instance')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Instance(): Argument 0 must be a WebAssembly.Module"},{"name":"webassembly.api.Instance.exports","info":{"code":"\"WebAssembly\" in self && \"Instance\" in WebAssembly && \"exports\" in WebAssembly.Instance.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.JSTag_static","info":{"code":"\"WebAssembly\" in self && \"JSTag\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Memory","info":{"code":"\"WebAssembly\" in self && \"Memory\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Memory.Memory","info":{"code":"bcd.testConstructor('WebAssembly.Memory')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Memory(): Argument 0 must be a memory descriptor"},{"name":"webassembly.api.Memory.buffer","info":{"code":"\"WebAssembly\" in self && \"Memory\" in WebAssembly && \"buffer\" in WebAssembly.Memory.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Memory.grow","info":{"code":"\"WebAssembly\" in self && \"Memory\" in WebAssembly && \"grow\" in WebAssembly.Memory.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Memory.toFixedLengthBuffer","info":{"code":"\"WebAssembly\" in self && \"Memory\" in WebAssembly && \"toFixedLengthBuffer\" in WebAssembly.Memory.prototype","exposure":"Window"},"result":false},{"name":"webassembly.api.Memory.toResizableBuffer","info":{"code":"\"WebAssembly\" in self && \"Memory\" in WebAssembly && \"toResizableBuffer\" in WebAssembly.Memory.prototype","exposure":"Window"},"result":false},{"name":"webassembly.api.Module","info":{"code":"\"WebAssembly\" in self && \"Module\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Module.Module","info":{"code":"bcd.testConstructor('WebAssembly.Module')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Module(): Argument 0 must be a buffer source"},{"name":"webassembly.api.Module.customSections_static","info":{"code":"\"WebAssembly\" in self && \"Module\" in WebAssembly && \"customSections\" in WebAssembly.Module","exposure":"Window"},"result":true},{"name":"webassembly.api.Module.exports_static","info":{"code":"\"WebAssembly\" in self && \"Module\" in WebAssembly && \"exports\" in WebAssembly.Module","exposure":"Window"},"result":true},{"name":"webassembly.api.Module.imports_static","info":{"code":"\"WebAssembly\" in self && \"Module\" in WebAssembly && \"imports\" in WebAssembly.Module","exposure":"Window"},"result":true},{"name":"webassembly.api.Table","info":{"code":"\"WebAssembly\" in self && \"Table\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Table.Table","info":{"code":"bcd.testConstructor('WebAssembly.Table')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Table(): Argument 0 must be a table descriptor"},{"name":"webassembly.api.Table.get","info":{"code":"\"WebAssembly\" in self && \"Table\" in WebAssembly && \"get\" in WebAssembly.Table.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Table.grow","info":{"code":"\"WebAssembly\" in self && \"Table\" in WebAssembly && \"grow\" in WebAssembly.Table.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Table.length","info":{"code":"\"WebAssembly\" in self && \"Table\" in WebAssembly && \"length\" in WebAssembly.Table.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Table.set","info":{"code":"\"WebAssembly\" in self && \"Table\" in WebAssembly && \"set\" in WebAssembly.Table.prototype","exposure":"Window"},"result":true},{"name":"webassembly.api.Tag","info":{"code":"\"WebAssembly\" in self && \"Tag\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.Tag.Tag","info":{"code":"bcd.testConstructor('WebAssembly.Tag')","exposure":"Window"},"result":true,"message":"threw TypeError: WebAssembly.Tag(): Argument 0 must be a tag type"},{"name":"webassembly.api.compileStreaming_static","info":{"code":"\"WebAssembly\" in self && \"compileStreaming\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.compile_static","info":{"code":"\"WebAssembly\" in self && \"compile\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.instantiateStreaming_static","info":{"code":"\"WebAssembly\" in self && \"instantiateStreaming\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.instantiate_static","info":{"code":"\"WebAssembly\" in self && \"instantiate\" in WebAssembly","exposure":"Window"},"result":true},{"name":"webassembly.api.validate_static","info":{"code":"\"WebAssembly\" in self && \"validate\" in WebAssembly","exposure":"Window"},"result":true}]}