New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

usepython

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

usepython - npm Package Compare versions

Comparing version
0.0.10
to
0.0.11
+1
-1
dist/py.esm.js

@@ -106,3 +106,3 @@ /******************************************************************************

var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgaW1wb3J0U2NyaXB0cygiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L3B5b2RpZGUvdjAuMjIuMS9mdWxsL3B5b2RpZGUuanMiKTsKCiAgdmFyIGlzUHlMb2FkZWQgPSBmYWxzZTsKICB2YXIgbmFtZXNwYWNlcyA9IHt9OwogIC8vdmFyIHNlbGYuZ2xvYkluaXQgPSB7fTsKCiAgZnVuY3Rpb24gc3Rkb3V0KG1zZykgewogICAgc2VsZi5wb3N0TWVzc2FnZSh7IHR5cGU6ICJzdGRvdXQiLCBtc2c6IG1zZywgaWQ6IG51bGwgfSk7CiAgfQoKICBmdW5jdGlvbiBzdGRlcnIobXNnKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogInN0ZGVyciIsIG1zZzogbXNnLCBpZDogbnVsbCB9KTsKICB9CgogIGZ1bmN0aW9uIGluc3RhbGxMb2coaWQsIHN0YWdlLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICB0eXBlOiAiaW5zdGFsbGxvZyIsIG1zZzogewogICAgICAgIHN0YWdlOiBzdGFnZSwKICAgICAgICBtc2c6IG1zZwogICAgICB9LCBpZDogaWQKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZXJyKGlkLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoeyB0eXBlOiAiZXJyIiwgbXNnOiBtc2csIGlkOiBpZCB9KTsKICB9CgogIGZ1bmN0aW9uIGVuZChpZCwgcmVzKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogImVuZCIsIHJlczogcmVzID8/IG51bGwsIGlkOiBpZCB9KTsKICB9CgogIGFzeW5jIGZ1bmN0aW9uIGxvYWRQeW9kaWRlQW5kUGFja2FnZXMoaWQsIHB5b1BhY2thZ2VzLCBwYWNrYWdlcywgaW5pdENvZGUsIHRyYW5zZm9ybUNvZGUpIHsKICAgIGluc3RhbGxMb2coaWQsIDEsICJMb2FkaW5nIHB5dGhvbiBydW50aW1lIik7CiAgICBzZWxmLnB5b2RpZGUgPSBhd2FpdCBsb2FkUHlvZGlkZSh7CiAgICAgIHN0ZG91dDogc3Rkb3V0LAogICAgICBzdGRlcnI6IHN0ZGVyciwKICAgIH0pOwogICAgcHlvUGFja2FnZXMudW5zaGlmdCgibWljcm9waXAiKTsKICAgIC8vaW5zdGFsbG9nKDIsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlcyAke3BhY2thZ2VzLmpvaW4oIiwgIil9YCk7CiAgICBpbnN0YWxsTG9nKGlkLCAyLCBgQ3JlYXRpbmcgcHl0aG9uIGVudmApOwogICAgYXdhaXQgc2VsZi5weW9kaWRlLmxvYWRQYWNrYWdlKHB5b1BhY2thZ2VzKTsKICAgIGluc3RhbGxMb2coaWQsIDMsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlc2ApOwogICAgc2VsZi5wYXJyYXkgPSBwYWNrYWdlczsKICAgIGF3YWl0IHB5b2RpZGUucnVuUHl0aG9uQXN5bmMoYAogIGltcG9ydCBtaWNyb3BpcAogIGZyb20ganMgaW1wb3J0IHBhcnJheQogIGF3YWl0IG1pY3JvcGlwLmluc3RhbGwocGFycmF5LnRvX3B5KCkpCiAgYCk7CiAgICBpbnN0YWxsTG9nKGlkLCA0LCBgSW5pdGlhbGl6aW5nIGVudmlyb25tZW50YCk7CiAgICBzZWxmLnBhcnJheSA9IHVuZGVmaW5lZDsKICAgIGNvbnN0IHNyYyA9IGBmcm9tIHB5b2RpZGUuY29kZSBpbXBvcnQgZXZhbF9jb2RlX2FzeW5jLCBldmFsX2NvZGUKZnJvbSBweW9kaWRlLmZmaSBpbXBvcnQgdG9fanMKYXN5bmMgZGVmIGFzeW5jX3B5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBhd2FpdCBldmFsX2NvZGVfYXN5bmMoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XykKZGVmIHB5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBldmFsX2NvZGUoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XylgOwogICAgLy9jb25zb2xlLmxvZygiU1JDIEVYRUMiLCBzcmMpCiAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbkFzeW5jKHNyYyk7CiAgICBpZiAoaW5pdENvZGUubGVuZ3RoID4gMCkgewogICAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbkFzeW5jKGluaXRDb2RlKTsKICAgIH0KICAgIGluc3RhbGxMb2coaWQsIDUsICJUaGUgcHl0aG9uIGVudiBpcyBsb2FkZWQiKTsKICAgIGlzUHlMb2FkZWQgPSB0cnVlOwogIH0KCiAgYXN5bmMgZnVuY3Rpb24gcnVuU2NyaXB0KHB5dGhvbiwgaWQsIGdsb2JzLCBpc0FzeW5jKSB7CiAgICB0cnkgewogICAgICAvL2NvbnNvbGUubG9nKCJHTE9CUyIsIGdsb2JzKTsKICAgICAgLy9jb25zb2xlLmxvZygiTG9hZCBpbXBvcnRzIikKICAgICAgYXdhaXQgc2VsZi5weW9kaWRlLmxvYWRQYWNrYWdlc0Zyb21JbXBvcnRzKHB5dGhvbik7CiAgICAgIC8vY29uc29sZS5sb2coIlJ1biBweSBhc3luYyIpCiAgICAgIC8vbGV0IHJlc3VsdHMgPSBhd2FpdCBzZWxmLnB5b2RpZGUucnVuUHl0aG9uQXN5bmMocHl0aG9uKTsKICAgICAgbGV0IHJlc3VsdHMgPSBhd2FpdCBweW9kaWRlLmdsb2JhbHMuZ2V0KGlzQXN5bmMgPyAiYXN5bmNfcHlldmFsIiA6ICJweWV2YWwiKShweXRob24sIGdsb2JzKTsKICAgICAgLy9jb25zb2xlLmxvZygiRW5kIiwgcmVzdWx0cywgX2dsb2JhbHMpCiAgICAgIGVuZChpZCwgcmVzdWx0cyk7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAvL2NvbnNvbGUubG9nKCJQWSBSVU4gRVJSIiwgZXJyb3IpCiAgICAgIGVycihpZCwgZXJyb3IubWVzc2FnZSk7CiAgICB9CiAgfQoKICBzZWxmLm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4gewogICAgY29uc3QgeyBpZCwgbmFtZXNwYWNlLCBweXRob24sIGlzQXN5bmMsIC4uLmNvbnRleHQgfSA9IGV2ZW50LmRhdGE7CiAgICBpZiAoaWQgPT0gIl9mbHVzaG5zIikgewogICAgICBuYW1lc3BhY2VzW25hbWVzcGFjZV0gPSBweW9kaWRlLmdsb2JhbHMuZ2V0KCJkaWN0IikoKTsKICAgIH0KICAgIC8vIHJ1bgogICAgZWxzZSBpZiAoaWQgIT0gIl9weWluc3RhbGxlciIpIHsKICAgICAgLy8gVGhlIHdvcmtlciBjb3BpZXMgdGhlIGNvbnRleHQgaW4gaXRzIG93biAibWVtb3J5IiAoYW4gb2JqZWN0IG1hcHBpbmcgbmFtZSB0byB2YWx1ZXMpCiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbnRleHQpKSB7CiAgICAgICAgc2VsZltrZXldID0gY29udGV4dFtrZXldOwogICAgICB9CiAgICAgIGlmICghaXNQeUxvYWRlZCkgewogICAgICAgIHRocm93IG5ldyBFcnJvcigiUHl0aG9uIGlzIG5vdCBsb2FkZWQiKQogICAgICB9CiAgICAgIGxldCBfZ2xvYnMgPSBweW9kaWRlLmdsb2JhbHM7CiAgICAgIC8vIGNoZWNrIG5hbWVzcGFjZQogICAgICBpZiAobmFtZXNwYWNlKSB7CiAgICAgICAgaWYgKG5hbWVzcGFjZSBpbiBuYW1lc3BhY2VzKSB7CiAgICAgICAgICBfZ2xvYnMgPSBuYW1lc3BhY2VzW25hbWVzcGFjZV07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF9nbG9icyA9IHB5b2RpZGUuZ2xvYmFscy5nZXQoImRpY3QiKSgpOwogICAgICAgICAgbmFtZXNwYWNlc1tuYW1lc3BhY2VdID0gX2dsb2JzOwogICAgICAgIH0KICAgICAgICAvL2NvbnNvbGUubG9nKCJSdW5uaW5nIHNjcmlwdCBpbiBucyIsIG5hbWVzcGFjZSwgX2dsb2JzKQogICAgICB9IC8qZWxzZSB7CiAgICAgICAgY29uc29sZS5sb2coIlJ1bm5pbmcgc2NyaXB0IGluIG1haW4gbnMiLCBfZ2xvYnMpCiAgICAgIH0qLwogICAgICBpZiAoaXNBc3luYykgewogICAgICAgIGF3YWl0IHJ1blNjcmlwdChweXRob24sIGlkLCBfZ2xvYnMsIHRydWUpOwogICAgICB9IGVsc2UgewogICAgICAgIGF3YWl0IHJ1blNjcmlwdChweXRob24sIGlkLCBfZ2xvYnMsIGZhbHNlKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgYXdhaXQgbG9hZFB5b2RpZGVBbmRQYWNrYWdlcyhpZCwgY29udGV4dC5weW9QYWNrYWdlcywgY29udGV4dC5wYWNrYWdlcywgY29udGV4dC5pbml0Q29kZSwgY29udGV4dC50cmFuc2Zvcm1Db2RlKTsKICAgICAgZW5kKGlkKTsKICAgIH0KICB9OwoKfSkoKTsKCg==', null, false);
var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgaW1wb3J0U2NyaXB0cygiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L3B5b2RpZGUvdjAuMjIuMS9mdWxsL3B5b2RpZGUuanMiKTsKCiAgdmFyIGlzUHlMb2FkZWQgPSBmYWxzZTsKICB2YXIgbmFtZXNwYWNlcyA9IHt9OwogIC8vdmFyIHNlbGYuZ2xvYkluaXQgPSB7fTsKCiAgZnVuY3Rpb24gc3Rkb3V0KG1zZykgewogICAgc2VsZi5wb3N0TWVzc2FnZSh7IHR5cGU6ICJzdGRvdXQiLCBtc2c6IG1zZywgaWQ6IG51bGwgfSk7CiAgfQoKICBmdW5jdGlvbiBzdGRlcnIobXNnKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogInN0ZGVyciIsIG1zZzogbXNnLCBpZDogbnVsbCB9KTsKICB9CgogIGZ1bmN0aW9uIGluc3RhbGxMb2coaWQsIHN0YWdlLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICB0eXBlOiAiaW5zdGFsbGxvZyIsIG1zZzogewogICAgICAgIHN0YWdlOiBzdGFnZSwKICAgICAgICBtc2c6IG1zZwogICAgICB9LCBpZDogaWQKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZXJyKGlkLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoeyB0eXBlOiAiZXJyIiwgbXNnOiBtc2csIGlkOiBpZCB9KTsKICB9CgogIGZ1bmN0aW9uIGVuZChpZCwgcmVzKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogImVuZCIsIHJlczogcmVzID8/IG51bGwsIGlkOiBpZCB9KTsKICB9CgogIGFzeW5jIGZ1bmN0aW9uIGxvYWRQeW9kaWRlQW5kUGFja2FnZXMoaWQsIHB5b1BhY2thZ2VzLCBwYWNrYWdlcywgaW5pdENvZGUsIHRyYW5zZm9ybUNvZGUpIHsKICAgIGluc3RhbGxMb2coaWQsIDEsICJMb2FkaW5nIHB5dGhvbiBydW50aW1lIik7CiAgICBzZWxmLnB5b2RpZGUgPSBhd2FpdCBsb2FkUHlvZGlkZSh7CiAgICAgIHN0ZG91dDogc3Rkb3V0LAogICAgICBzdGRlcnI6IHN0ZGVyciwKICAgIH0pOwogICAgcHlvUGFja2FnZXMudW5zaGlmdCgibWljcm9waXAiKTsKICAgIC8vaW5zdGFsbG9nKDIsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlcyAke3BhY2thZ2VzLmpvaW4oIiwgIil9YCk7CiAgICBpbnN0YWxsTG9nKGlkLCAyLCBgQ3JlYXRpbmcgcHl0aG9uIGVudmApOwogICAgYXdhaXQgc2VsZi5weW9kaWRlLmxvYWRQYWNrYWdlKHB5b1BhY2thZ2VzKTsKICAgIGluc3RhbGxMb2coaWQsIDMsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlc2ApOwogICAgc2VsZi5wYXJyYXkgPSBwYWNrYWdlczsKICAgIGF3YWl0IHB5b2RpZGUucnVuUHl0aG9uQXN5bmMoYAogIGltcG9ydCBtaWNyb3BpcAogIGZyb20ganMgaW1wb3J0IHBhcnJheQogIGF3YWl0IG1pY3JvcGlwLmluc3RhbGwocGFycmF5LnRvX3B5KCkpCiAgYCk7CiAgICBpbnN0YWxsTG9nKGlkLCA0LCBgSW5pdGlhbGl6aW5nIGVudmlyb25tZW50YCk7CiAgICBzZWxmLnBhcnJheSA9IHVuZGVmaW5lZDsKICAgIGNvbnN0IHNyYyA9IGBmcm9tIHB5b2RpZGUuY29kZSBpbXBvcnQgZXZhbF9jb2RlX2FzeW5jLCBldmFsX2NvZGUKZnJvbSBweW9kaWRlLmZmaSBpbXBvcnQgdG9fanMKYXN5bmMgZGVmIGFzeW5jX3B5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBhd2FpdCBldmFsX2NvZGVfYXN5bmMoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XykKZGVmIHB5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBldmFsX2NvZGUoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XylgOwogICAgLy9jb25zb2xlLmxvZygiU1JDIEVYRUMiLCBzcmMpCiAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbkFzeW5jKHNyYyk7CiAgICBpZiAoaW5pdENvZGUubGVuZ3RoID4gMCkgewogICAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbihpbml0Q29kZSk7CiAgICB9CiAgICBpbnN0YWxsTG9nKGlkLCA1LCAiVGhlIHB5dGhvbiBlbnYgaXMgbG9hZGVkIik7CiAgICBpc1B5TG9hZGVkID0gdHJ1ZTsKICB9CgogIGFzeW5jIGZ1bmN0aW9uIHJ1blNjcmlwdChweXRob24sIGlkLCBnbG9icywgaXNBc3luYykgewogICAgdHJ5IHsKICAgICAgLy9jb25zb2xlLmxvZygiR0xPQlMiLCBnbG9icyk7CiAgICAgIC8vY29uc29sZS5sb2coIkxvYWQgaW1wb3J0cyIpCiAgICAgIGF3YWl0IHNlbGYucHlvZGlkZS5sb2FkUGFja2FnZXNGcm9tSW1wb3J0cyhweXRob24pOwogICAgICAvL2NvbnNvbGUubG9nKCJSdW4gcHkgYXN5bmMiKQogICAgICAvL2xldCByZXN1bHRzID0gYXdhaXQgc2VsZi5weW9kaWRlLnJ1blB5dGhvbkFzeW5jKHB5dGhvbik7CiAgICAgIGxldCByZXN1bHRzID0gYXdhaXQgcHlvZGlkZS5nbG9iYWxzLmdldChpc0FzeW5jID8gImFzeW5jX3B5ZXZhbCIgOiAicHlldmFsIikocHl0aG9uLCBnbG9icyk7CiAgICAgIC8vY29uc29sZS5sb2coIkVuZCIsIHJlc3VsdHMsIF9nbG9iYWxzKQogICAgICBlbmQoaWQsIHJlc3VsdHMpOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgLy9jb25zb2xlLmxvZygiUFkgUlVOIEVSUiIsIGVycm9yKQogICAgICBlcnIoaWQsIGVycm9yLm1lc3NhZ2UpOwogICAgfQogIH0KCiAgc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHsKICAgIGNvbnN0IHsgaWQsIG5hbWVzcGFjZSwgcHl0aG9uLCBpc0FzeW5jLCAuLi5jb250ZXh0IH0gPSBldmVudC5kYXRhOwogICAgaWYgKGlkID09ICJfZmx1c2hucyIpIHsKICAgICAgbmFtZXNwYWNlc1tuYW1lc3BhY2VdID0gcHlvZGlkZS5nbG9iYWxzLmdldCgiZGljdCIpKCk7CiAgICB9CiAgICAvLyBydW4KICAgIGVsc2UgaWYgKGlkICE9ICJfcHlpbnN0YWxsZXIiKSB7CiAgICAgIC8vIFRoZSB3b3JrZXIgY29waWVzIHRoZSBjb250ZXh0IGluIGl0cyBvd24gIm1lbW9yeSIgKGFuIG9iamVjdCBtYXBwaW5nIG5hbWUgdG8gdmFsdWVzKQogICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb250ZXh0KSkgewogICAgICAgIHNlbGZba2V5XSA9IGNvbnRleHRba2V5XTsKICAgICAgfQogICAgICBpZiAoIWlzUHlMb2FkZWQpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlB5dGhvbiBpcyBub3QgbG9hZGVkIikKICAgICAgfQogICAgICBsZXQgX2dsb2JzID0gcHlvZGlkZS5nbG9iYWxzOwogICAgICAvLyBjaGVjayBuYW1lc3BhY2UKICAgICAgaWYgKG5hbWVzcGFjZSkgewogICAgICAgIGlmIChuYW1lc3BhY2UgaW4gbmFtZXNwYWNlcykgewogICAgICAgICAgX2dsb2JzID0gbmFtZXNwYWNlc1tuYW1lc3BhY2VdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfZ2xvYnMgPSBweW9kaWRlLmdsb2JhbHMuZ2V0KCJkaWN0IikoKTsKICAgICAgICAgIG5hbWVzcGFjZXNbbmFtZXNwYWNlXSA9IF9nbG9iczsKICAgICAgICB9CiAgICAgICAgLy9jb25zb2xlLmxvZygiUnVubmluZyBzY3JpcHQgaW4gbnMiLCBuYW1lc3BhY2UsIF9nbG9icykKICAgICAgfSAvKmVsc2UgewogICAgICAgIGNvbnNvbGUubG9nKCJSdW5uaW5nIHNjcmlwdCBpbiBtYWluIG5zIiwgX2dsb2JzKQogICAgICB9Ki8KICAgICAgaWYgKGlzQXN5bmMpIHsKICAgICAgICBhd2FpdCBydW5TY3JpcHQocHl0aG9uLCBpZCwgX2dsb2JzLCB0cnVlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBhd2FpdCBydW5TY3JpcHQocHl0aG9uLCBpZCwgX2dsb2JzLCBmYWxzZSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGF3YWl0IGxvYWRQeW9kaWRlQW5kUGFja2FnZXMoaWQsIGNvbnRleHQucHlvUGFja2FnZXMsIGNvbnRleHQucGFja2FnZXMsIGNvbnRleHQuaW5pdENvZGUsIGNvbnRleHQudHJhbnNmb3JtQ29kZSk7CiAgICAgIGVuZChpZCk7CiAgICB9CiAgfTsKCn0pKCk7Cgo=', null, false);
/* eslint-enable */

@@ -109,0 +109,0 @@

@@ -1,1 +0,1 @@

var $py=function(e){"use strict";function g(e,g,n,t){return new(n||(n=Promise))((function(I,l){function i(e){try{o(t.next(e))}catch(e){l(e)}}function c(e){try{o(t.throw(e))}catch(e){l(e)}}function o(e){var g;e.done?I(e.value):(g=e.value,g instanceof n?g:new n((function(e){e(g)}))).then(i,c)}o((t=t.apply(e,g||[])).next())}))}var n=null;try{var t="undefined"!=typeof module&&"function"==typeof module.require&&module.require("worker_threads")||"function"==typeof __non_webpack_require__&&__non_webpack_require__("worker_threads")||"function"==typeof require&&require("worker_threads");n=t.Worker}catch(e){}function I(e,g,t){var I=void 0===g?null:g,l=function(e,g){return Buffer.from(e,"base64").toString(g?"utf16":"utf8")}(e,void 0!==t&&t),i=l.indexOf("\n",10)+1,c=l.substring(i)+(I?"//# sourceMappingURL="+I:"");return function(e){return new n(c,Object.assign({},e,{eval:!0}))}}function l(e,g,n){var t=void 0===g?null:g,I=function(e,g){var n=atob(e);if(g){for(var t=new Uint8Array(n.length),I=0,l=n.length;I<l;++I)t[I]=n.charCodeAt(I);return String.fromCharCode.apply(null,new Uint16Array(t.buffer))}return n}(e,void 0!==n&&n),l=I.indexOf("\n",10)+1,i=I.substring(l)+(t?"//# sourceMappingURL="+t:""),c=new Blob([i],{type:"application/javascript"});return URL.createObjectURL(c)}var i="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);var c,o,s,C=(c="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgaW1wb3J0U2NyaXB0cygiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L3B5b2RpZGUvdjAuMjIuMS9mdWxsL3B5b2RpZGUuanMiKTsKCiAgdmFyIGlzUHlMb2FkZWQgPSBmYWxzZTsKICB2YXIgbmFtZXNwYWNlcyA9IHt9OwogIC8vdmFyIHNlbGYuZ2xvYkluaXQgPSB7fTsKCiAgZnVuY3Rpb24gc3Rkb3V0KG1zZykgewogICAgc2VsZi5wb3N0TWVzc2FnZSh7IHR5cGU6ICJzdGRvdXQiLCBtc2c6IG1zZywgaWQ6IG51bGwgfSk7CiAgfQoKICBmdW5jdGlvbiBzdGRlcnIobXNnKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogInN0ZGVyciIsIG1zZzogbXNnLCBpZDogbnVsbCB9KTsKICB9CgogIGZ1bmN0aW9uIGluc3RhbGxMb2coaWQsIHN0YWdlLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICB0eXBlOiAiaW5zdGFsbGxvZyIsIG1zZzogewogICAgICAgIHN0YWdlOiBzdGFnZSwKICAgICAgICBtc2c6IG1zZwogICAgICB9LCBpZDogaWQKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZXJyKGlkLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoeyB0eXBlOiAiZXJyIiwgbXNnOiBtc2csIGlkOiBpZCB9KTsKICB9CgogIGZ1bmN0aW9uIGVuZChpZCwgcmVzKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogImVuZCIsIHJlczogcmVzID8/IG51bGwsIGlkOiBpZCB9KTsKICB9CgogIGFzeW5jIGZ1bmN0aW9uIGxvYWRQeW9kaWRlQW5kUGFja2FnZXMoaWQsIHB5b1BhY2thZ2VzLCBwYWNrYWdlcywgaW5pdENvZGUsIHRyYW5zZm9ybUNvZGUpIHsKICAgIGluc3RhbGxMb2coaWQsIDEsICJMb2FkaW5nIHB5dGhvbiBydW50aW1lIik7CiAgICBzZWxmLnB5b2RpZGUgPSBhd2FpdCBsb2FkUHlvZGlkZSh7CiAgICAgIHN0ZG91dDogc3Rkb3V0LAogICAgICBzdGRlcnI6IHN0ZGVyciwKICAgIH0pOwogICAgcHlvUGFja2FnZXMudW5zaGlmdCgibWljcm9waXAiKTsKICAgIC8vaW5zdGFsbG9nKDIsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlcyAke3BhY2thZ2VzLmpvaW4oIiwgIil9YCk7CiAgICBpbnN0YWxsTG9nKGlkLCAyLCBgQ3JlYXRpbmcgcHl0aG9uIGVudmApOwogICAgYXdhaXQgc2VsZi5weW9kaWRlLmxvYWRQYWNrYWdlKHB5b1BhY2thZ2VzKTsKICAgIGluc3RhbGxMb2coaWQsIDMsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlc2ApOwogICAgc2VsZi5wYXJyYXkgPSBwYWNrYWdlczsKICAgIGF3YWl0IHB5b2RpZGUucnVuUHl0aG9uQXN5bmMoYAogIGltcG9ydCBtaWNyb3BpcAogIGZyb20ganMgaW1wb3J0IHBhcnJheQogIGF3YWl0IG1pY3JvcGlwLmluc3RhbGwocGFycmF5LnRvX3B5KCkpCiAgYCk7CiAgICBpbnN0YWxsTG9nKGlkLCA0LCBgSW5pdGlhbGl6aW5nIGVudmlyb25tZW50YCk7CiAgICBzZWxmLnBhcnJheSA9IHVuZGVmaW5lZDsKICAgIGNvbnN0IHNyYyA9IGBmcm9tIHB5b2RpZGUuY29kZSBpbXBvcnQgZXZhbF9jb2RlX2FzeW5jLCBldmFsX2NvZGUKZnJvbSBweW9kaWRlLmZmaSBpbXBvcnQgdG9fanMKYXN5bmMgZGVmIGFzeW5jX3B5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBhd2FpdCBldmFsX2NvZGVfYXN5bmMoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XykKZGVmIHB5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBldmFsX2NvZGUoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XylgOwogICAgLy9jb25zb2xlLmxvZygiU1JDIEVYRUMiLCBzcmMpCiAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbkFzeW5jKHNyYyk7CiAgICBpZiAoaW5pdENvZGUubGVuZ3RoID4gMCkgewogICAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbkFzeW5jKGluaXRDb2RlKTsKICAgIH0KICAgIGluc3RhbGxMb2coaWQsIDUsICJUaGUgcHl0aG9uIGVudiBpcyBsb2FkZWQiKTsKICAgIGlzUHlMb2FkZWQgPSB0cnVlOwogIH0KCiAgYXN5bmMgZnVuY3Rpb24gcnVuU2NyaXB0KHB5dGhvbiwgaWQsIGdsb2JzLCBpc0FzeW5jKSB7CiAgICB0cnkgewogICAgICAvL2NvbnNvbGUubG9nKCJHTE9CUyIsIGdsb2JzKTsKICAgICAgLy9jb25zb2xlLmxvZygiTG9hZCBpbXBvcnRzIikKICAgICAgYXdhaXQgc2VsZi5weW9kaWRlLmxvYWRQYWNrYWdlc0Zyb21JbXBvcnRzKHB5dGhvbik7CiAgICAgIC8vY29uc29sZS5sb2coIlJ1biBweSBhc3luYyIpCiAgICAgIC8vbGV0IHJlc3VsdHMgPSBhd2FpdCBzZWxmLnB5b2RpZGUucnVuUHl0aG9uQXN5bmMocHl0aG9uKTsKICAgICAgbGV0IHJlc3VsdHMgPSBhd2FpdCBweW9kaWRlLmdsb2JhbHMuZ2V0KGlzQXN5bmMgPyAiYXN5bmNfcHlldmFsIiA6ICJweWV2YWwiKShweXRob24sIGdsb2JzKTsKICAgICAgLy9jb25zb2xlLmxvZygiRW5kIiwgcmVzdWx0cywgX2dsb2JhbHMpCiAgICAgIGVuZChpZCwgcmVzdWx0cyk7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAvL2NvbnNvbGUubG9nKCJQWSBSVU4gRVJSIiwgZXJyb3IpCiAgICAgIGVycihpZCwgZXJyb3IubWVzc2FnZSk7CiAgICB9CiAgfQoKICBzZWxmLm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4gewogICAgY29uc3QgeyBpZCwgbmFtZXNwYWNlLCBweXRob24sIGlzQXN5bmMsIC4uLmNvbnRleHQgfSA9IGV2ZW50LmRhdGE7CiAgICBpZiAoaWQgPT0gIl9mbHVzaG5zIikgewogICAgICBuYW1lc3BhY2VzW25hbWVzcGFjZV0gPSBweW9kaWRlLmdsb2JhbHMuZ2V0KCJkaWN0IikoKTsKICAgIH0KICAgIC8vIHJ1bgogICAgZWxzZSBpZiAoaWQgIT0gIl9weWluc3RhbGxlciIpIHsKICAgICAgLy8gVGhlIHdvcmtlciBjb3BpZXMgdGhlIGNvbnRleHQgaW4gaXRzIG93biAibWVtb3J5IiAoYW4gb2JqZWN0IG1hcHBpbmcgbmFtZSB0byB2YWx1ZXMpCiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbnRleHQpKSB7CiAgICAgICAgc2VsZltrZXldID0gY29udGV4dFtrZXldOwogICAgICB9CiAgICAgIGlmICghaXNQeUxvYWRlZCkgewogICAgICAgIHRocm93IG5ldyBFcnJvcigiUHl0aG9uIGlzIG5vdCBsb2FkZWQiKQogICAgICB9CiAgICAgIGxldCBfZ2xvYnMgPSBweW9kaWRlLmdsb2JhbHM7CiAgICAgIC8vIGNoZWNrIG5hbWVzcGFjZQogICAgICBpZiAobmFtZXNwYWNlKSB7CiAgICAgICAgaWYgKG5hbWVzcGFjZSBpbiBuYW1lc3BhY2VzKSB7CiAgICAgICAgICBfZ2xvYnMgPSBuYW1lc3BhY2VzW25hbWVzcGFjZV07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF9nbG9icyA9IHB5b2RpZGUuZ2xvYmFscy5nZXQoImRpY3QiKSgpOwogICAgICAgICAgbmFtZXNwYWNlc1tuYW1lc3BhY2VdID0gX2dsb2JzOwogICAgICAgIH0KICAgICAgICAvL2NvbnNvbGUubG9nKCJSdW5uaW5nIHNjcmlwdCBpbiBucyIsIG5hbWVzcGFjZSwgX2dsb2JzKQogICAgICB9IC8qZWxzZSB7CiAgICAgICAgY29uc29sZS5sb2coIlJ1bm5pbmcgc2NyaXB0IGluIG1haW4gbnMiLCBfZ2xvYnMpCiAgICAgIH0qLwogICAgICBpZiAoaXNBc3luYykgewogICAgICAgIGF3YWl0IHJ1blNjcmlwdChweXRob24sIGlkLCBfZ2xvYnMsIHRydWUpOwogICAgICB9IGVsc2UgewogICAgICAgIGF3YWl0IHJ1blNjcmlwdChweXRob24sIGlkLCBfZ2xvYnMsIGZhbHNlKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgYXdhaXQgbG9hZFB5b2RpZGVBbmRQYWNrYWdlcyhpZCwgY29udGV4dC5weW9QYWNrYWdlcywgY29udGV4dC5wYWNrYWdlcywgY29udGV4dC5pbml0Q29kZSwgY29udGV4dC50cmFuc2Zvcm1Db2RlKTsKICAgICAgZW5kKGlkKTsKICAgIH0KICB9OwoKfSkoKTsKCg==",o=null,s=!1,i?I(c,o,s):function(e,g,n){var t;return function(I){return t=t||l(e,g,n),new Worker(t,I)}}(c,o,s));let r=Symbol("clean");let u=[],b=0,a=(e,g)=>{let n,t=[],I={lc:0,l:g||0,value:e,set(e){I.value=e,I.notify()},get:()=>(I.lc||I.listen((()=>{}))(),I.value),notify(e){n=t;let g=!u.length;for(let g=0;g<n.length;g+=2)u.push(n[g],I.value,e,n[g+1]);if(g){b++;for(let e=0;e<u.length;e+=4){let g=!1;for(let n=e+7;n<u.length;n+=4)if(u[n]<u[e+3]){g=!0;break}g?u.push(u[e],u[e+1],u[e+2],u[e+3]):u[e](u[e+1],u[e+2])}u.length=0}},listen:(e,g)=>(t===n&&(t=t.slice()),I.lc=t.push(e,g||I.l)/2,()=>{t===n&&(t=t.slice());let g=t.indexOf(e);~g&&(t.splice(g,2),I.lc--,I.lc||I.off())}),subscribe(e,g){let n=I.listen(e,g);return e(I.value),n},off(){}};return"production"!==process.env.NODE_ENV&&(I[r]=()=>{t=[],I.lc=0,I.off()}),I},d=(e={})=>{let g=a(e);return g.setKey=function(e,n){void 0===n?e in g.value&&(g.value={...g.value},delete g.value[e],g.notify(e)):g.value[e]!==n&&(g.value={...g.value,[e]:n},g.notify(e))},g},A=(e,g)=>{let n;Array.isArray(e)||(e=[e]);let t=[],I=()=>{let I=e.map((e=>e.get()));(n!==b||I.some(((e,g)=>e!==t[g])))&&(n=b,t=I,l.set(g(...I)))},l=a(void 0,Math.max(...e.map((e=>e.l)))+1);var i,c,o,s,C,u;return c=()=>{let g=e.map((e=>e.listen(I,l.l)));return I(),()=>{for(let e of g)e()}},s=e=>{let g=c(e);g&&i.events[6].push(g)},C=5,u=e=>{let g=i.listen;i.listen=(...n)=>(i.lc||i.active||(i.active=!0,e()),g(...n));let n=i.off;if(i.events[6]=[],i.off=()=>{n(),setTimeout((()=>{if(i.active&&!i.lc){i.active=!1;for(let e of i.events[6])e();i.events[6]=[]}}),1e3)},"production"!==process.env.NODE_ENV){let e=i[r];i[r]=()=>{for(let e of i.events[6])e();i.events[6]=[],i.active=!1,e()}}return()=>{i.listen=g,i.off=n}},(o=i=l).events=o.events||{},o.events[C+10]||(o.events[C+10]=u((e=>{o.events[C].reduceRight(((e,g)=>(g(e),e)),{shared:{},...e})}))),o.events[C]=o.events[C]||[],o.events[C].push(s),l};const G=d({id:"",stdOut:[],stdErr:[],exception:""}),B=d({stage:0,msg:""}),W=a(0),Z=a(0),p=A(W,(e=>1===e)),v=A(Z,(e=>1===e));return e.usePython=()=>{const e=new C;let n=e=>null;function t(e){e.startsWith("\n")&&e.replace("\n","");const g=e.split("\n"),n=new Array;return g.forEach((e=>{n.push(" "+e)})),n.join("\n")}function I(t,I,l,i,c={}){return g(this,void 0,void 0,(function*(){if(1===W.get())throw new Error("Only one python script can run at the time");W.set(1);const g=null!=i?i:(+new Date).toString();return G.set({id:g,stdOut:[],stdErr:[],exception:""}),new Promise((i=>{n=i,e.postMessage(Object.assign({id:g,namespace:l,python:t,isAsync:I},c))}))}))}function l(e,n,t,l={}){return g(this,void 0,void 0,(function*(){return yield I(e,!1,n,t,l)}))}return e.onmessage=e=>{const g=e.data,{id:t}=g;!function(e,g){switch(g.type){case"end":n({results:g.res,error:null}),n=e=>null,W.set(0);break;case"err":n({results:null,error:g.msg}),n=e=>null,W.set(0),G.setKey("exception",g.msg);break;case"installlog":B.setKey("stage",g.msg.stage),B.setKey("msg",g.msg.msg);break;case"stderr":G.get().stdErr.push(g.msg),G.notify();break;case"stdout":G.get().stdOut.push(g.msg),G.notify();break;default:throw W.set(0),new Error(`Unknown event type ${g.type}`)}}(0,function(e,g){var n={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&g.indexOf(t)<0&&(n[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var I=0;for(t=Object.getOwnPropertySymbols(e);I<t.length;I++)g.indexOf(t[I])<0&&Object.prototype.propertyIsEnumerable.call(e,t[I])&&(n[t[I]]=e[t[I]])}return n}(g,["id"]))},{load:function(e=[],n=[],I="",i=""){return g(this,void 0,void 0,(function*(){let g;try{g=yield l("",void 0,"_pyinstaller",{pyoPackages:e,packages:n,initCode:I,transformCode:t(i)})}catch(e){throw new Error(`Error in pyodideWorker at ${e.filename}, Line: ${e.lineno}, ${e.message}`)}return Z.set(1),g}))},run:l,runAsync:function(e,n,t,l={}){return g(this,void 0,void 0,(function*(){return yield I(e,!0,n,t,l)}))},clear:function(t){return g(this,void 0,void 0,(function*(){return new Promise((g=>{n=e=>{G.set({id:"_flushns",stdOut:[],stdErr:[],exception:""}),g(e)},e.postMessage({id:"_flushns",namespace:t})}))}))},installLog:B,log:G,isExecuting:p,isReady:v}},Object.defineProperty(e,"__esModule",{value:!0}),e}({});
var $py=function(e){"use strict";function n(e,n,g,t){return new(g||(g=Promise))((function(I,l){function i(e){try{C(t.next(e))}catch(e){l(e)}}function o(e){try{C(t.throw(e))}catch(e){l(e)}}function C(e){var n;e.done?I(e.value):(n=e.value,n instanceof g?n:new g((function(e){e(n)}))).then(i,o)}C((t=t.apply(e,n||[])).next())}))}var g=null;try{var t="undefined"!=typeof module&&"function"==typeof module.require&&module.require("worker_threads")||"function"==typeof __non_webpack_require__&&__non_webpack_require__("worker_threads")||"function"==typeof require&&require("worker_threads");g=t.Worker}catch(e){}function I(e,n,t){var I=void 0===n?null:n,l=function(e,n){return Buffer.from(e,"base64").toString(n?"utf16":"utf8")}(e,void 0!==t&&t),i=l.indexOf("\n",10)+1,o=l.substring(i)+(I?"//# sourceMappingURL="+I:"");return function(e){return new g(o,Object.assign({},e,{eval:!0}))}}function l(e,n,g){var t=void 0===n?null:n,I=function(e,n){var g=atob(e);if(n){for(var t=new Uint8Array(g.length),I=0,l=g.length;I<l;++I)t[I]=g.charCodeAt(I);return String.fromCharCode.apply(null,new Uint16Array(t.buffer))}return g}(e,void 0!==g&&g),l=I.indexOf("\n",10)+1,i=I.substring(l)+(t?"//# sourceMappingURL="+t:""),o=new Blob([i],{type:"application/javascript"});return URL.createObjectURL(o)}var i="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);var o,C,c,s=(o="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgaW1wb3J0U2NyaXB0cygiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L3B5b2RpZGUvdjAuMjIuMS9mdWxsL3B5b2RpZGUuanMiKTsKCiAgdmFyIGlzUHlMb2FkZWQgPSBmYWxzZTsKICB2YXIgbmFtZXNwYWNlcyA9IHt9OwogIC8vdmFyIHNlbGYuZ2xvYkluaXQgPSB7fTsKCiAgZnVuY3Rpb24gc3Rkb3V0KG1zZykgewogICAgc2VsZi5wb3N0TWVzc2FnZSh7IHR5cGU6ICJzdGRvdXQiLCBtc2c6IG1zZywgaWQ6IG51bGwgfSk7CiAgfQoKICBmdW5jdGlvbiBzdGRlcnIobXNnKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogInN0ZGVyciIsIG1zZzogbXNnLCBpZDogbnVsbCB9KTsKICB9CgogIGZ1bmN0aW9uIGluc3RhbGxMb2coaWQsIHN0YWdlLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICB0eXBlOiAiaW5zdGFsbGxvZyIsIG1zZzogewogICAgICAgIHN0YWdlOiBzdGFnZSwKICAgICAgICBtc2c6IG1zZwogICAgICB9LCBpZDogaWQKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZXJyKGlkLCBtc2cpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoeyB0eXBlOiAiZXJyIiwgbXNnOiBtc2csIGlkOiBpZCB9KTsKICB9CgogIGZ1bmN0aW9uIGVuZChpZCwgcmVzKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsgdHlwZTogImVuZCIsIHJlczogcmVzID8/IG51bGwsIGlkOiBpZCB9KTsKICB9CgogIGFzeW5jIGZ1bmN0aW9uIGxvYWRQeW9kaWRlQW5kUGFja2FnZXMoaWQsIHB5b1BhY2thZ2VzLCBwYWNrYWdlcywgaW5pdENvZGUsIHRyYW5zZm9ybUNvZGUpIHsKICAgIGluc3RhbGxMb2coaWQsIDEsICJMb2FkaW5nIHB5dGhvbiBydW50aW1lIik7CiAgICBzZWxmLnB5b2RpZGUgPSBhd2FpdCBsb2FkUHlvZGlkZSh7CiAgICAgIHN0ZG91dDogc3Rkb3V0LAogICAgICBzdGRlcnI6IHN0ZGVyciwKICAgIH0pOwogICAgcHlvUGFja2FnZXMudW5zaGlmdCgibWljcm9waXAiKTsKICAgIC8vaW5zdGFsbG9nKDIsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlcyAke3BhY2thZ2VzLmpvaW4oIiwgIil9YCk7CiAgICBpbnN0YWxsTG9nKGlkLCAyLCBgQ3JlYXRpbmcgcHl0aG9uIGVudmApOwogICAgYXdhaXQgc2VsZi5weW9kaWRlLmxvYWRQYWNrYWdlKHB5b1BhY2thZ2VzKTsKICAgIGluc3RhbGxMb2coaWQsIDMsIGBJbnN0YWxsaW5nIHB5dGhvbiBwYWNrYWdlc2ApOwogICAgc2VsZi5wYXJyYXkgPSBwYWNrYWdlczsKICAgIGF3YWl0IHB5b2RpZGUucnVuUHl0aG9uQXN5bmMoYAogIGltcG9ydCBtaWNyb3BpcAogIGZyb20ganMgaW1wb3J0IHBhcnJheQogIGF3YWl0IG1pY3JvcGlwLmluc3RhbGwocGFycmF5LnRvX3B5KCkpCiAgYCk7CiAgICBpbnN0YWxsTG9nKGlkLCA0LCBgSW5pdGlhbGl6aW5nIGVudmlyb25tZW50YCk7CiAgICBzZWxmLnBhcnJheSA9IHVuZGVmaW5lZDsKICAgIGNvbnN0IHNyYyA9IGBmcm9tIHB5b2RpZGUuY29kZSBpbXBvcnQgZXZhbF9jb2RlX2FzeW5jLCBldmFsX2NvZGUKZnJvbSBweW9kaWRlLmZmaSBpbXBvcnQgdG9fanMKYXN5bmMgZGVmIGFzeW5jX3B5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBhd2FpdCBldmFsX2NvZGVfYXN5bmMoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XykKZGVmIHB5ZXZhbChjb2RlLCBucyk6CiAgX3Jlc3VsdF8gPSBldmFsX2NvZGUoY29kZSwgbnMpCiAgJHt0cmFuc2Zvcm1Db2RlfQogIHJldHVybiB0b19qcyhfcmVzdWx0XylgOwogICAgLy9jb25zb2xlLmxvZygiU1JDIEVYRUMiLCBzcmMpCiAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbkFzeW5jKHNyYyk7CiAgICBpZiAoaW5pdENvZGUubGVuZ3RoID4gMCkgewogICAgICBhd2FpdCBweW9kaWRlLnJ1blB5dGhvbihpbml0Q29kZSk7CiAgICB9CiAgICBpbnN0YWxsTG9nKGlkLCA1LCAiVGhlIHB5dGhvbiBlbnYgaXMgbG9hZGVkIik7CiAgICBpc1B5TG9hZGVkID0gdHJ1ZTsKICB9CgogIGFzeW5jIGZ1bmN0aW9uIHJ1blNjcmlwdChweXRob24sIGlkLCBnbG9icywgaXNBc3luYykgewogICAgdHJ5IHsKICAgICAgLy9jb25zb2xlLmxvZygiR0xPQlMiLCBnbG9icyk7CiAgICAgIC8vY29uc29sZS5sb2coIkxvYWQgaW1wb3J0cyIpCiAgICAgIGF3YWl0IHNlbGYucHlvZGlkZS5sb2FkUGFja2FnZXNGcm9tSW1wb3J0cyhweXRob24pOwogICAgICAvL2NvbnNvbGUubG9nKCJSdW4gcHkgYXN5bmMiKQogICAgICAvL2xldCByZXN1bHRzID0gYXdhaXQgc2VsZi5weW9kaWRlLnJ1blB5dGhvbkFzeW5jKHB5dGhvbik7CiAgICAgIGxldCByZXN1bHRzID0gYXdhaXQgcHlvZGlkZS5nbG9iYWxzLmdldChpc0FzeW5jID8gImFzeW5jX3B5ZXZhbCIgOiAicHlldmFsIikocHl0aG9uLCBnbG9icyk7CiAgICAgIC8vY29uc29sZS5sb2coIkVuZCIsIHJlc3VsdHMsIF9nbG9iYWxzKQogICAgICBlbmQoaWQsIHJlc3VsdHMpOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgLy9jb25zb2xlLmxvZygiUFkgUlVOIEVSUiIsIGVycm9yKQogICAgICBlcnIoaWQsIGVycm9yLm1lc3NhZ2UpOwogICAgfQogIH0KCiAgc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHsKICAgIGNvbnN0IHsgaWQsIG5hbWVzcGFjZSwgcHl0aG9uLCBpc0FzeW5jLCAuLi5jb250ZXh0IH0gPSBldmVudC5kYXRhOwogICAgaWYgKGlkID09ICJfZmx1c2hucyIpIHsKICAgICAgbmFtZXNwYWNlc1tuYW1lc3BhY2VdID0gcHlvZGlkZS5nbG9iYWxzLmdldCgiZGljdCIpKCk7CiAgICB9CiAgICAvLyBydW4KICAgIGVsc2UgaWYgKGlkICE9ICJfcHlpbnN0YWxsZXIiKSB7CiAgICAgIC8vIFRoZSB3b3JrZXIgY29waWVzIHRoZSBjb250ZXh0IGluIGl0cyBvd24gIm1lbW9yeSIgKGFuIG9iamVjdCBtYXBwaW5nIG5hbWUgdG8gdmFsdWVzKQogICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb250ZXh0KSkgewogICAgICAgIHNlbGZba2V5XSA9IGNvbnRleHRba2V5XTsKICAgICAgfQogICAgICBpZiAoIWlzUHlMb2FkZWQpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlB5dGhvbiBpcyBub3QgbG9hZGVkIikKICAgICAgfQogICAgICBsZXQgX2dsb2JzID0gcHlvZGlkZS5nbG9iYWxzOwogICAgICAvLyBjaGVjayBuYW1lc3BhY2UKICAgICAgaWYgKG5hbWVzcGFjZSkgewogICAgICAgIGlmIChuYW1lc3BhY2UgaW4gbmFtZXNwYWNlcykgewogICAgICAgICAgX2dsb2JzID0gbmFtZXNwYWNlc1tuYW1lc3BhY2VdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfZ2xvYnMgPSBweW9kaWRlLmdsb2JhbHMuZ2V0KCJkaWN0IikoKTsKICAgICAgICAgIG5hbWVzcGFjZXNbbmFtZXNwYWNlXSA9IF9nbG9iczsKICAgICAgICB9CiAgICAgICAgLy9jb25zb2xlLmxvZygiUnVubmluZyBzY3JpcHQgaW4gbnMiLCBuYW1lc3BhY2UsIF9nbG9icykKICAgICAgfSAvKmVsc2UgewogICAgICAgIGNvbnNvbGUubG9nKCJSdW5uaW5nIHNjcmlwdCBpbiBtYWluIG5zIiwgX2dsb2JzKQogICAgICB9Ki8KICAgICAgaWYgKGlzQXN5bmMpIHsKICAgICAgICBhd2FpdCBydW5TY3JpcHQocHl0aG9uLCBpZCwgX2dsb2JzLCB0cnVlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBhd2FpdCBydW5TY3JpcHQocHl0aG9uLCBpZCwgX2dsb2JzLCBmYWxzZSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGF3YWl0IGxvYWRQeW9kaWRlQW5kUGFja2FnZXMoaWQsIGNvbnRleHQucHlvUGFja2FnZXMsIGNvbnRleHQucGFja2FnZXMsIGNvbnRleHQuaW5pdENvZGUsIGNvbnRleHQudHJhbnNmb3JtQ29kZSk7CiAgICAgIGVuZChpZCk7CiAgICB9CiAgfTsKCn0pKCk7Cgo=",C=null,c=!1,i?I(o,C,c):function(e,n,g){var t;return function(I){return t=t||l(e,n,g),new Worker(t,I)}}(o,C,c));let r=Symbol("clean");let u=[],b=0,a=(e,n)=>{let g,t=[],I={lc:0,l:n||0,value:e,set(e){I.value=e,I.notify()},get:()=>(I.lc||I.listen((()=>{}))(),I.value),notify(e){g=t;let n=!u.length;for(let n=0;n<g.length;n+=2)u.push(g[n],I.value,e,g[n+1]);if(n){b++;for(let e=0;e<u.length;e+=4){let n=!1;for(let g=e+7;g<u.length;g+=4)if(u[g]<u[e+3]){n=!0;break}n?u.push(u[e],u[e+1],u[e+2],u[e+3]):u[e](u[e+1],u[e+2])}u.length=0}},listen:(e,n)=>(t===g&&(t=t.slice()),I.lc=t.push(e,n||I.l)/2,()=>{t===g&&(t=t.slice());let n=t.indexOf(e);~n&&(t.splice(n,2),I.lc--,I.lc||I.off())}),subscribe(e,n){let g=I.listen(e,n);return e(I.value),g},off(){}};return"production"!==process.env.NODE_ENV&&(I[r]=()=>{t=[],I.lc=0,I.off()}),I},d=(e={})=>{let n=a(e);return n.setKey=function(e,g){void 0===g?e in n.value&&(n.value={...n.value},delete n.value[e],n.notify(e)):n.value[e]!==g&&(n.value={...n.value,[e]:g},n.notify(e))},n},G=(e,n)=>{let g;Array.isArray(e)||(e=[e]);let t=[],I=()=>{let I=e.map((e=>e.get()));(g!==b||I.some(((e,n)=>e!==t[n])))&&(g=b,t=I,l.set(n(...I)))},l=a(void 0,Math.max(...e.map((e=>e.l)))+1);var i,o,C,c,s,u;return o=()=>{let n=e.map((e=>e.listen(I,l.l)));return I(),()=>{for(let e of n)e()}},c=e=>{let n=o(e);n&&i.events[6].push(n)},s=5,u=e=>{let n=i.listen;i.listen=(...g)=>(i.lc||i.active||(i.active=!0,e()),n(...g));let g=i.off;if(i.events[6]=[],i.off=()=>{g(),setTimeout((()=>{if(i.active&&!i.lc){i.active=!1;for(let e of i.events[6])e();i.events[6]=[]}}),1e3)},"production"!==process.env.NODE_ENV){let e=i[r];i[r]=()=>{for(let e of i.events[6])e();i.events[6]=[],i.active=!1,e()}}return()=>{i.listen=n,i.off=g}},(C=i=l).events=C.events||{},C.events[s+10]||(C.events[s+10]=u((e=>{C.events[s].reduceRight(((e,n)=>(n(e),e)),{shared:{},...e})}))),C.events[s]=C.events[s]||[],C.events[s].push(c),l};const A=d({id:"",stdOut:[],stdErr:[],exception:""}),B=d({stage:0,msg:""}),Z=a(0),W=a(0),v=G(Z,(e=>1===e)),p=G(W,(e=>1===e));return e.usePython=()=>{const e=new s;let g=e=>null;function t(e){e.startsWith("\n")&&e.replace("\n","");const n=e.split("\n"),g=new Array;return n.forEach((e=>{g.push(" "+e)})),g.join("\n")}function I(t,I,l,i,o={}){return n(this,void 0,void 0,(function*(){if(1===Z.get())throw new Error("Only one python script can run at the time");Z.set(1);const n=null!=i?i:(+new Date).toString();return A.set({id:n,stdOut:[],stdErr:[],exception:""}),new Promise((i=>{g=i,e.postMessage(Object.assign({id:n,namespace:l,python:t,isAsync:I},o))}))}))}function l(e,g,t,l={}){return n(this,void 0,void 0,(function*(){return yield I(e,!1,g,t,l)}))}return e.onmessage=e=>{const n=e.data,{id:t}=n;!function(e,n){switch(n.type){case"end":g({results:n.res,error:null}),g=e=>null,Z.set(0);break;case"err":g({results:null,error:n.msg}),g=e=>null,Z.set(0),A.setKey("exception",n.msg);break;case"installlog":B.setKey("stage",n.msg.stage),B.setKey("msg",n.msg.msg);break;case"stderr":A.get().stdErr.push(n.msg),A.notify();break;case"stdout":A.get().stdOut.push(n.msg),A.notify();break;default:throw Z.set(0),new Error(`Unknown event type ${n.type}`)}}(0,function(e,n){var g={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(g[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var I=0;for(t=Object.getOwnPropertySymbols(e);I<t.length;I++)n.indexOf(t[I])<0&&Object.prototype.propertyIsEnumerable.call(e,t[I])&&(g[t[I]]=e[t[I]])}return g}(n,["id"]))},{load:function(e=[],g=[],I="",i=""){return n(this,void 0,void 0,(function*(){let n;try{n=yield l("",void 0,"_pyinstaller",{pyoPackages:e,packages:g,initCode:I,transformCode:t(i)})}catch(e){throw new Error(`Error in pyodideWorker at ${e.filename}, Line: ${e.lineno}, ${e.message}`)}return W.set(1),n}))},run:l,runAsync:function(e,g,t,l={}){return n(this,void 0,void 0,(function*(){return yield I(e,!0,g,t,l)}))},clear:function(t){return n(this,void 0,void 0,(function*(){return new Promise((n=>{g=e=>{A.set({id:"_flushns",stdOut:[],stdErr:[],exception:""}),n(e)},e.postMessage({id:"_flushns",namespace:t})}))}))},installLog:B,log:A,isExecuting:v,isReady:p}},Object.defineProperty(e,"__esModule",{value:!0}),e}({});
{
"name": "usepython",
"version": "0.0.10",
"version": "0.0.11",
"description": "A Python scripts runner composable",

@@ -45,2 +45,2 @@ "repository": "https://github.com/synw/usepython",

"license": "MIT"
}
}

@@ -77,3 +77,3 @@ # Use Python

Run some Python code:
Run some sync Python code:

@@ -91,2 +91,26 @@ ```ts

To run async code use the `runAsync` function.
#### Namespaces
An optionnal namespace parameter can be used to isolate Python contexts:
```ts
const { result, error } = await py.run("a=1", "ns1");
```
The variable defined in the script will be accessible only in the
same namespace:
```ts
const { result, error } = await py.run("b=a+1", "ns1");
```
To flush the context of the namespace and reset all user defined
variables use the `clear` function:
```ts
await py.clear("ns1");
```
### Listen to stdout

@@ -93,0 +117,0 @@