{"ScriptPreparationCode":"var canvas = new OffscreenCanvas(80, 80);\r\nvar arr = new Uint8Array([0, 48, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 96, 146, 64, 176, 67, 207, 64, 206, 66, 201, 66, 188, 96, 33, 36, 188, 65, 64, 76, 184, 89, 122, 3, 182, 66, 99, 56, 12, 180, 64, 137, 73, 32, 187, 67, 25, 96, 80, 171, 108, 114, 46, 112, 4, 177, 68, 103, 38, 135, 64, 168, 102, 31, 126, 57, 66, 174, 110, 6, 51, 127, 183, 71, 103, 31, 72, 8, 175, 77, 7, 127, 54, 118, 173, 108, 1, 46, 32, 32, 160, 96, 32, 1, 63, 56, 64, 167, 112, 68, 2, 83, 112, 135, 96, 161, 67, 16, 1, 27, 6, 120, 169, 67, 12, 14, 5, 49, 65, 166, 64, 15, 127, 7, 92, 1, 64, 156, 64, 49, 71, 59, 120, 24, 166, 110, 56, 7, 13, 83, 22, 168, 96, 32, 30, 3, 125, 80, 167, 76, 135, 127, 12, 71, 175, 80, 64, 40, 7, 64, 172, 104, 46, 92, 114, 48, 174, 64, 12, 32, 105, 100, 175, 72, 1, 71, 6, 120, 172, 109, 77, 120, 15, 126, 172, 123, 89, 120, 7, 102, 172, 110, 24, 24, 137, 68, 180, 118, 82, 32, 6, 177, 98, 123, 96, 184, 126, 14, 25, 187, 80, 9, 7, 186, 96, 44, 71, 64, 190, 96, 22, 16, 196, 120, 64, 189, 66, 35, 194, 64, 32, 194, 66, 56, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 152]);\r\n\r\nfunction drawMap(arr, canvas, sz = 80) {\r\n const ctx = canvas.getContext(\u00272d\u0027);\r\n const U_M = [64, 32, 16, 8, 4, 2, 1];\r\n const len = arr.length;\r\n let mmInt;\r\n let sidx = 3;\r\n let i = 0;\r\n let i2;\r\n let h = 0;\r\n for (; sidx \u003C len \u0026\u0026 !(i \u003E= sz);) {\r\n if (((mmInt = arr[sidx\u002B\u002B]), mmInt \u003E= 128)) {\r\n for (\r\n mmInt -= 128, i2 = 0; i2 \u003C mmInt \u0026\u0026 !(h\u002B\u002B, h \u003E= sz \u0026\u0026 ((h = 0), i\u002B\u002B, i \u003E= sz)); i2\u002B\u002B\r\n ) {}\r\n } else {\r\n for (\r\n i2 = 0; i2 \u003C 7 \u0026\u0026\r\n !((mmInt \u0026 U_M[i2]) \u003E 0 \u0026\u0026 ctx.fillRect(h, i, 1, 1),\r\n h\u002B\u002B,\r\n h \u003E= sz \u0026\u0026 ((h = 0), i\u002B\u002B, i \u003E= sz)); i2\u002B\u002B\r\n ) {}\r\n }\r\n }\r\n}\r\n\r\nfunction drawMap2(arr, canvas, size = 80) {\r\n const ctx = canvas.getContext(\u00272d\u0027);\r\n const U_M = [64, 32, 16, 8, 4, 2, 1];\r\n const len = arr.length;\r\n let mmInt, sidx = 3,\r\n x = 0,\r\n y = 0;\r\n\r\n function drawPixel(x, y) {\r\n const pixel = ctx.createImageData(1, 1);\r\n const color = [0, 0, 0, 255]; // Black pixel (R, G, B, Alpha)\r\n pixel.data.set(color);\r\n ctx.putImageData(pixel, x, y);\r\n }\r\n\r\n function drawBlankSequence(count) {\r\n x \u002B= count;\r\n if (x \u003E= size) {\r\n x = 0;\r\n y\u002B\u002B;\r\n }\r\n }\r\n\r\n function drawBinarySequence(binaryValue) {\r\n for (let i = 0; i \u003C 7 \u0026\u0026 x \u003C size; i\u002B\u002B) {\r\n if ((binaryValue \u0026 U_M[i]) \u003E 0) {\r\n drawPixel(x, y);\r\n }\r\n x\u002B\u002B;\r\n }\r\n if (x \u003E= size) {\r\n x = 0;\r\n y\u002B\u002B;\r\n }\r\n }\r\n while (sidx \u003C len \u0026\u0026 y \u003C size) {\r\n mmInt = arr[sidx\u002B\u002B];\r\n if (mmInt \u003E= 128) {\r\n drawBlankSequence(mmInt - 128);\r\n } else {\r\n drawBinarySequence(mmInt);\r\n }\r\n }\r\n\r\n}","TestCases":[{"Name":"fillRect","Code":"drawMap(arr, canvas);","IsDeferred":false},{"Name":"putImageData","Code":"drawMap2(arr, canvas);","IsDeferred":false}]}