\n\n\n\n\n\n"},"/portal/os-split.test.mjs":{"type":"application/octet-stream","b64":true,"data":"aW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMnOwpjb25zdCBodG1sID0gZnMucmVhZEZpbGVTeW5jKG5ldyBVUkwoJy4vaW5kZXguaHRtbCcsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWUsJ3V0ZjgnKTsKLy8g5oq95Ye6IGRhZW1vblBpY2sg55u46Zec5Ye95byP77yI5b6eIERBRU1PTl9CQVNFX0RFRkFVTFQg5YiwIGRhZW1vbkhpbnQg57WQ5bC+77yJCmNvbnN0IHN0YXJ0ID0gaHRtbC5pbmRleE9mKCd2YXIgREFFTU9OX0JBU0VfREVGQVVMVCcpOwpjb25zdCBlbmRNYXJrID0gInJldHVybiAn77yI5bCB5ris54mI5pyq57C956ug77yM56ys5LiA5qyh6KuL5Y+z6Y214oaS5omT6ZaL77yJJztcbiAgfSI7CmNvbnN0IGVuZCA9IGh0bWwuaW5kZXhPZihlbmRNYXJrKSArIGVuZE1hcmsubGVuZ3RoOwppZiAoc3RhcnQgPCAwIHx8IGVuZCA8IHN0YXJ0KSB0aHJvdyBuZXcgRXJyb3IoJ+aKveS4jeWIsOWHveW8j+WNgOWhiicpOwpjb25zdCBzcmMgPSBodG1sLnNsaWNlKHN0YXJ0LCBlbmQpOwoKY29uc3QgY2FzZXMgPSBbCiAgWydXaW5kb3dzJywgJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiBDaHJvbWUvMTIwIFNhZmFyaS81MzcuMzYnXSwKICBbJ01hYycsICAgICAnTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgU2FmYXJpLzYwNS4xLjE1J10sCiAgWydpUGhvbmUnLCAgJ01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTdfMCBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSBTYWZhcmkvNjA0LjEnXSwKICBbJ0xpbnV4JywgICAnTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgQ2hyb21lLzEyMCBTYWZhcmkvNTM3LjM2J10sCl07CmxldCBwYXNzPTAsIGZhaWw9MDsKY29uc3QgY2hrPShsLGMsZXh0cmE9JycpPT57IGlmKGMpe2NvbnNvbGUubG9nKCdQQVNTOicsbCk7cGFzcysrO30gZWxzZSB7Y29uc29sZS5sb2coJ0ZBSUw6JyxsLGV4dHJhKTtmYWlsKys7fSB9OwoKZm9yIChjb25zdCBbbmFtZSwgdWFdIG9mIGNhc2VzKSB7CiAgY29uc3QgZm4gPSBuZXcgRnVuY3Rpb24oJ25hdmlnYXRvcicsJ3dpbmRvdycsIHNyYyArICc7IHJldHVybiB7ZGFlbW9uUGljazpkYWVtb25QaWNrLCBkYWVtb25IaW50OmRhZW1vbkhpbnQsIGRhZW1vbkJhc2U6ZGFlbW9uQmFzZX07Jyk7CiAgY29uc3QgYXBpID0gZm4oe3VzZXJBZ2VudDogdWF9LCB7fSk7CiAgY29uc3QgZCA9IGFwaS5kYWVtb25QaWNrKCk7CiAgY29uc3QgbGFiZWwgPSBkLnN1cmUgPyBkLnBpY2subGFiZWwgOiAnKOWFqeWAi+mDvee1piknOwogIGNvbnN0IHVybCAgID0gZC5zdXJlID8gZC5waWNrLnVybCA6IGQubWFjLnVybCArICcgKyAnICsgZC53aW4udXJsOwogIGNvbnNvbGUubG9nKGBcblske25hbWV9XSBzdXJlPSR7ZC5zdXJlfSDihpIgJHtsYWJlbH1gKTsKICBjb25zb2xlLmxvZyhgICB1cmw6ICR7dXJsfWApOwogIGlmIChuYW1lPT09J1dpbmRvd3MnKSB7CiAgICBjaGsoJ1dpbmRvd3Mg57WmIHdpbiB6aXAnLCBkLnN1cmUgJiYgZC5waWNrLnVybC5lbmRzV2l0aCgnQXJjcnVuUkFHLXdpbi11bnNpZ25lZC56aXAnKSwgZC5waWNrJiZkLnBpY2sudXJsKTsKICAgIGNoaygnV2luZG93cyDlj6bkuIDniYjmmK8gTWFjJywgZC5vdGhlciAmJiBkLm90aGVyLnVybC5lbmRzV2l0aCgnbWFjLXVuc2lnbmVkLnppcCcpKTsKICAgIGNoaygnV2luZG93cyDoqbHooZPmj5Ag6JeN6Imy6KaW56qXJywgYXBpLmRhZW1vbkhpbnQoJ3dpbicpLmluY2x1ZGVzKCfku43opoHln7fooYwnKSk7CiAgfQogIGlmIChuYW1lPT09J01hYycpIHsKICAgIGNoaygnTWFjIOe1piBtYWMgemlwJywgZC5zdXJlICYmIGQucGljay51cmwuZW5kc1dpdGgoJ0FyY3J1blJBRy1tYWMtdW5zaWduZWQuemlwJykpOwogICAgY2hrKCdNYWMg5Y+m5LiA54mI5pivIFdpbmRvd3MnLCBkLm90aGVyICYmIGQub3RoZXIudXJsLmVuZHNXaXRoKCd3aW4tdW5zaWduZWQuemlwJykpOwogICAgY2hrKCdNYWMg6Kmx6KGT5o+QIOWPs+mNteaJk+mWiycsIGFwaS5kYWVtb25IaW50KCdtYWMnKS5pbmNsdWRlcygn5Y+z6Y21JykpOwogIH0KICBpZiAobmFtZT09PSdpUGhvbmUnIHx8IG5hbWU9PT0nTGludXgnKSB7CiAgICAvLyBpUGhvbmUg5ZCrICJNYWMgT1MgWCIg5L2G5LiN5piv5qGM5qmfIE1hY++8m0xpbnV4IOWFqeiAheeahumdniDihpIg6YO96Kmy6JC95Zyo44CM5LiN56K65a6a77yd5YWp5YCL6YO957Wm44CNCiAgICBpZiAobmFtZT09PSdMaW51eCcpIGNoaygnTGludXgg5Yik5LiN5Ye65L6G4oaS5YWp5YCL6YO957WmJywgZC5zdXJlPT09ZmFsc2UpOwogICAgaWYgKG5hbWU9PT0naVBob25lJykgY2hrKCdpUGhvbmUg5LiN6Kmy6KKr5Yik5oiQIE1hY++8iOaJi+apn+KGkuWFqeWAi+mDvee1pu+8iScsIGQuc3VyZT09PWZhbHNlLCAnc3VyZT0nK2Quc3VyZSk7CiAgfQp9Ci8vIOiIiiBrZXkg55u45a65CmNvbnN0IGZuMiA9IG5ldyBGdW5jdGlvbignbmF2aWdhdG9yJywnd2luZG93Jywgc3JjICsgJzsgcmV0dXJuIGRhZW1vbkJhc2UoKTsnKTsKY29uc29sZS5sb2coJ1xuW+ebuOWuuV0gZGFlbW9uRG93bmxvYWQg6IiKIGtleSDihpInLCBmbjIoe3VzZXJBZ2VudDonJ30se0FSQ1JVTl9DT05GSUc6e2RhZW1vbkRvd25sb2FkOidodHRwczovL3guZGV2L2QvQXJjcnVuUkFHLW1hYy11bnNpZ25lZC56aXAnfX0pKTsKY2hrKCfoiIoga2V5IOaOqOW+l+WHuuebrumMhCcsIGZuMih7dXNlckFnZW50OicnfSx7QVJDUlVOX0NPTkZJRzp7ZGFlbW9uRG93bmxvYWQ6J2h0dHBzOi8veC5kZXYvZC9BcmNydW5SQUctbWFjLXVuc2lnbmVkLnppcCd9fSk9PT0naHR0cHM6Ly94LmRldi9kLycpOwpjaGsoJ2RhZW1vbkJhc2Ug5pawIGtleSDlhKrlhYgnLCBmbjIoe3VzZXJBZ2VudDonJ30se0FSQ1JVTl9DT05GSUc6e2RhZW1vbkJhc2U6J2h0dHBzOi8veS5kZXYveid9fSk9PT0naHR0cHM6Ly95LmRldi96LycpOwpjb25zb2xlLmxvZyhgXG49PT0gJHtwYXNzfSBwYXNzZWQsICR7ZmFpbH0gZmFpbGVkID09PWApOwpwcm9jZXNzLmV4aXQoZmFpbD8xOjApOwo="},"/portal/safejson.test.mjs":{"type":"application/octet-stream","b64":true,"data":"aW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMnOwpjb25zdCBodG1sID0gZnMucmVhZEZpbGVTeW5jKG5ldyBVUkwoJy4vaW5kZXguaHRtbCcsIGltcG9ydC5tZXRhLnVybCkucGF0aG5hbWUsJ3V0ZjgnKTsKCi8vIOaKveWHuiBzYWZlSnNvbiDoiIcgZnJpZW5kbHlFcnIg5rGC5YC8CmNvbnN0IGdyYWIgPSAobmFtZSkgPT4gewogIGNvbnN0IGkgPSBodG1sLmluZGV4T2YoYGZ1bmN0aW9uICR7bmFtZX0oYCk7CiAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoYOaJvuS4jeWIsCAke25hbWV9YCk7CiAgbGV0IGQ9MCwgaj1odG1sLmluZGV4T2YoJ3snLCBpKTsKICBmb3IgKGxldCBrPWo7azxodG1sLmxlbmd0aDtrKyspeyBpZihodG1sW2tdPT09J3snKWQrKzsgaWYoaHRtbFtrXT09PSd9Jyl7ZC0tOyBpZighZCl7IHJldHVybiBodG1sLnNsaWNlKGksaysxKTt9IH0gfQogIHRocm93IG5ldyBFcnJvcign5ous6Jmf5LiN5bmz6KGhJyk7Cn07CmNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKGdyYWIoJ3NhZmVKc29uJykgKyAnXG4nICsgZ3JhYignZnJpZW5kbHlFcnInKSArICdcbnJldHVybiB7c2FmZUpzb24sIGZyaWVuZGx5RXJyfTsnKSgpOwoKbGV0IHBhc3M9MCwgZmFpbD0wOwpjb25zdCB0PShsLGMsZT0nJyk9PntjPyhjb25zb2xlLmxvZygnUEFTUzonLGwpLHBhc3MrKyk6KGNvbnNvbGUubG9nKCdGQUlMOicsbCxlKSxmYWlsKyspfTsKCi8vIOKRoCBzYWZlSnNvbu+8mumdniBKU09OIOS4jeWPr+aLi+S+i+Wklu+8iOWQjOS6i+aSnuWIsOeahCA0MDQgSFRNTCDpoIHvvIkKY29uc3QgaHRtbDQwNCA9ICc8IURPQ1RZUEUgaHRtbD48aHRtbD48Ym9keT40MDQgTm90IEZvdW5kPC9ib2R5PjwvaHRtbD4nOwphd2FpdCBmbi5zYWZlSnNvbih7IHRleHQ6ICgpID0+IFByb21pc2UucmVzb2x2ZShodG1sNDA0KSB9KQogIC50aGVuKGQgPT4gdCgnNDA0IEhUTUwg4oaSIOWbnuepuueJqeS7tuS4jeaLi+mMrycsIHR5cGVvZiBkID09PSAnb2JqZWN0JyAmJiBkICE9PSBudWxsKSkKICAuY2F0Y2goZSA9PiB0KCc0MDQgSFRNTCDihpIg5LiN6Kmy5ouL6YyvJywgZmFsc2UsIGUubWVzc2FnZSkpOwoKYXdhaXQgZm4uc2FmZUpzb24oeyB0ZXh0OiAoKSA9PiBQcm9taXNlLnJlc29sdmUoJycpIH0pCiAgLnRoZW4oZCA9PiB0KCfnqbrlm57mh4kg4oaSIOWbnuepuueJqeS7ticsIEpTT04uc3RyaW5naWZ5KGQpPT09J3t9JykpCiAgLmNhdGNoKCgpID0+IHQoJ+epuuWbnuaHiSDihpIg5LiN6Kmy5ouL6YyvJywgZmFsc2UpKTsKCmF3YWl0IGZuLnNhZmVKc29uKHsgdGV4dDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCd7ImVycm9yIjoi5biz6Jmf5oiW5a+G56K85LiN5bCNIn0nKSB9KQogIC50aGVuKGQgPT4gdCgn5q2j5bi4IEpTT04g5LuN6KaB6Kej5p6Q5b6X5Ye65L6GJywgZC5lcnJvciA9PT0gJ+W4s+iZn+aIluWvhueivOS4jeWwjScpLCApCiAgLmNhdGNoKCgpID0+IHQoJ+ato+W4uCBKU09OIOS4jeipsuaLi+mMrycsIGZhbHNlKSk7CgovLyDikaEgZnJpZW5kbHlFcnLvvJrkuI3lj6/miormioDooZPoqIrmga/lmbTntabkvb/nlKjogIUKY29uc3QgbGVhayA9IGZuLmZyaWVuZGx5RXJyKG5ldyBFcnJvcignVW5leHBlY3RlZCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgYWZ0ZXIgSlNPTiBhdCBwb3NpdGlvbiA0JykpOwp0KCdKU09OIOmMr+iqpCDihpIg5LiN5aSW5rSp5Y6f5paHJywgIS9KU09OfHBvc2l0aW9uL2kudGVzdChsZWFrKSwgYOWvpuW+lzogJHtsZWFrfWApOwp0KCdKU09OIOmMr+iqpCDihpIg6Kqq5Lq66KmxJywgL+S8uuacjeWZqOWbnuaHieeVsOW4uC8udGVzdChsZWFrKSwgYOWvpuW+lzogJHtsZWFrfWApOwoKY29uc3QgbmV0ID0gZm4uZnJpZW5kbHlFcnIobmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2gnKSk7CnQoJ+e2sui3r+mMr+iqpCDihpIg5pei5pyJ6KiK5oGv5L+d55WZJywgL+mAo+e3muS4reaWty8udGVzdChuZXQpLCBg5a+m5b6XOiAke25ldH1gKTsKCmNvbnN0IG91cnMgPSBmbi5mcmllbmRseUVycihuZXcgRXJyb3IoJ+W4s+iZn+aIluWvhueivOS4jeWwjeKAlOKAlOeUqOS9oOWcqOefpeitmOW6q+e2suermeioreWumueahOmCo+e1hCcpKTsKdCgn5oiR5YCR6Ieq5bex55qE5Lit5paH6KiK5oGvIOKGkiDljp/mqKPpoa/npLonLCAv5biz6Jmf5oiW5a+G56K85LiN5bCNLy50ZXN0KG91cnMpLCBg5a+m5b6XOiAke291cnN9YCk7Cgpjb25zdCBzdGFjayA9IGZuLmZyaWVuZGx5RXJyKG5ldyBFcnJvcignVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0aWVzIG9mIHVuZGVmaW5lZCcpKTsKdCgn6Iux5paH5oqA6KGT6KiK5oGvIOKGkiDmlLbmloLkuI3lpJbmtKknLCAhL1R5cGVFcnJvcnx1bmRlZmluZWQvLnRlc3Qoc3RhY2spLCBg5a+m5b6XOiAke3N0YWNrfWApOwoKY29uc29sZS5sb2coYFxuPT09ICR7cGFzc30gcGFzc2VkLCAke2ZhaWx9IGZhaWxlZCA9PT1gKTsKcHJvY2Vzcy5leGl0KGZhaWw/MTowKTsK"}};
function b64ToBytes(b64) { const bin = atob(b64); const a = new Uint8Array(bin.length); for (let i = 0; i < bin.length; i++) a[i] = bin.charCodeAt(i); return a; }
export default {
async fetch(request, env) {