{"ScriptPreparationCode":"var fromBase64a = Uint8Array.fromBase64?.bind(Uint8Array);\r\nvar fromBase64b = ((b64) =\u003E {\r\n const binStr = atob(b64);\r\n const len = binStr.length;\r\n input = new Uint8Array(len);\r\n for (let i = 0; i \u003C len; i\u002B\u002B) input[i] = binStr.charCodeAt(i);\r\n return input;\r\n});\r\nvar fromBase64c = (b64) =\u003E Uint8Array.from(atob(b64), c =\u003E c.charCodeAt(0));\r\n\r\nfunction generateBase64TestSample({\r\n repeat = 1000,\r\n includeUnicode = true\r\n} = {}) {\r\n const baseChunk = \u0060\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\r\nSed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n0123456789 !@#$%^\u0026*()_\u002B-=[]{}|;:\u0027,.\u003C\u003E/? \r\n\u0060;\r\n\r\n const unicodeChunk = \u0060\r\nUnicode test: \uD83D\uDE80\uD83D\uDD25\u2728 caf\u00E9 na\u00EFve \u4E2D\u6587 \u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0440\u0443\u0441\u0441\u043A\u0438\u0439\r\n\u0060;\r\n\r\n const text =\r\n (baseChunk \u002B (includeUnicode ? unicodeChunk : \u0022\u0022))\r\n .repeat(repeat)\r\n .trim();\r\n\r\n const base64 =\r\n typeof Buffer !== \u0022undefined\u0022 ?\r\n Buffer.from(text, \u0022utf-8\u0022).toString(\u0022base64\u0022) :\r\n btoa(unescape(encodeURIComponent(text)));\r\n\r\n return {\r\n originalText: text,\r\n base64,\r\n length: text.length,\r\n base64Length: base64.length\r\n };\r\n}\r\nvar samples = new Array(30).fill(0).map(e =\u003E generateBase64TestSample());\r\n","TestCases":[{"Name":"fromBase64a (Uint8Array.fromBase64)","Code":"for (let i = 0, l = samples.length; i \u003C l; i\u002B\u002B) {\r\n fromBase64a(samples[i].base64);\r\n}","IsDeferred":false},{"Name":"fromBase64b (traditional)","Code":"for (let i = 0, l = samples.length; i \u003C l; i\u002B\u002B) {\r\n fromBase64b(samples[i].base64);\r\n}","IsDeferred":false},{"Name":"fromBase64c (Uint8Array.from)","Code":"for (let i = 0, l = samples.length; i \u003C l; i\u002B\u002B) {\r\n fromBase64c(samples[i].base64);\r\n}","IsDeferred":false}]}