REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 32.05 KB
Close
/proc/self/root/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/polynomial/__pycache__/polyutils.cpython-311.pyc
Text
Base64
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LWQgb3IgMi1kCiAgICBhcnJheS4KCiAgICBQYXJhbWV0ZXJzCiAgICAtLS0tLS0tLS0tCiAgICBhbGlzdCA6IGFycmF5X2xpa2UKICAgICAgICBBIDEtIG9yIDItZCBhcnJheV9saWtlCiAgICB0cmltIDogYm9vbGVhbiwgb3B0aW9uYWwKICAgICAgICBXaGVuIFRydWUsIHRyYWlsaW5nIHplcm9zIGFyZSByZW1vdmVkIGZyb20gdGhlIGlucHV0cy4KICAgICAgICBXaGVuIEZhbHNlLCB0aGUgaW5wdXRzIGFyZSBwYXNzZWQgdGhyb3VnaCBpbnRhY3QuCgogICAgUmV0dXJucwogICAgLS0tLS0tLQogICAgW2ExLCBhMiwuLi5dIDogbGlzdCBvZiAxLUQgYXJyYXlzCiAgICAgICAgQSBjb3B5IG9mIHRoZSBpbnB1dCBkYXRhIGFzIGEgbGlzdCBvZiAxLWQgYXJyYXlzLgoKICAgIFJhaXNlcwogICAgLS0tLS0tCiAgICBWYWx1ZUVycm9yCiAgICAgICAgUmFpc2VkIHdoZW4gYGFzX3Nlcmllc2AgY2Fubm90IGNvbnZlcnQgaXRzIGlucHV0IHRvIDEtZCBhcnJheXMsIG9yIGF0CiAgICAgICAgbGVhc3Qgb25lIG9mIHRoZSByZXN1bHRpbmcgYXJyYXlzIGlzIGVtcHR5LgoKICAgIEV4YW1wbGVzCiAgICAtLS0tLS0tLQogICAgPj4+IGZyb20gbnVtcHkucG9seW5vbWlhbCBpbXBvcnQgcG9seXV0aWxzIGFzIHB1CiAgICA+Pj4gYSA9IG5wLmFyYW5nZSg0KQogICAgPj4+IHB1LmFzX3NlcmllcyhhKQogICAgW2FycmF5KFswLl0pLCBhcnJheShbMS5dKSwgYXJyYXkoWzIuXSksIGFycmF5KFszLl0pXQogICAgPj4+IGIgPSBucC5hcmFuZ2UoNikucmVzaGFwZSgoMiwzKSkKICAgID4+PiBwdS5hc19zZXJpZXMoYikKICAgIFthcnJheShbMC4sIDEuLCAyLl0pLCBhcnJheShbMy4sIDQuLCA1Ll0pXQoKICAgID4+PiBwdS5hc19zZXJpZXMoKDEsIG5wLmFyYW5nZSgzKSwgbnAuYXJhbmdlKDIsIGR0eXBl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cm9sbGVkIGJ5IHRoZQogICAgcGFyYW1ldGVyIGB0b2xgOyAidHJhaWxpbmciIG1lYW5zIGhpZ2hlc3Qgb3JkZXIgY29lZmZpY2llbnQocyksIGUuZy4sIGluCiAgICBgYFswLCAxLCAxLCAwLCAwXWBgICh3aGljaCByZXByZXNlbnRzIGBgMCArIHggKyB4KioyICsgMCp4KiozICsgMCp4Kio0YGApCiAgICBib3RoIHRoZSAzLXJkIGFuZCA0LXRoIG9yZGVyIGNvZWZmaWNpZW50cyB3b3VsZCBiZSAidHJpbW1lZC4iCgogICAgUGFyYW1ldGVycwogICAgLS0tLS0tLS0tLQogICAgYyA6IGFycmF5X2xpa2UKICAgICAgICAxLWQgYXJyYXkgb2YgY29lZmZpY2llbnRzLCBvcmRlcmVkIGZyb20gbG93ZXN0IG9yZGVyIHRvIGhpZ2hlc3QuCiAgICB0b2wgOiBudW1iZXIsIG9wdGlvbmFsCiAgICAgICAgVHJhaWxpbmcgKGkuZS4sIGhpZ2hlc3Qgb3JkZXIpIGVsZW1lbnRzIHdpdGggYWJzb2x1dGUgdmFsdWUgbGVzcwogICAgICAgIHRoYW4gb3IgZXF1YWwgdG8gYHRvbGAgKGRlZmF1bHQgdmFsdWUgaXMgemVybykgYXJlIHJlbW92ZWQuCgogICAgUmV0dXJucwogICAgLS0tLS0tLQogICAgdHJpbW1lZCA6IG5kYXJyYXkKICAgICAgICAxLWQgYXJyYXkgd2l0aCB0cmFpbGluZyB6ZXJvcyByZW1vdmVkLiAgSWYgdGhlIHJlc3VsdGluZyBzZXJpZXMKICAgICAgICB3b3VsZCBiZSBlbXB0eSwgYSBzZXJpZXMgY29udGFpbmluZyBhIHNpbmdsZSB6ZXJvIGlzIHJldHVybmVkLgoKICAgIFJhaXNlcwogICAgLS0tLS0tCiAgICBWYWx1ZUVycm9yCiAgICAgICAgSWYgYHRvbGAgPCAwCgogICAgU2VlIEFsc28KICAgIC0tLS0tLS0tCiAgICB0cmltc2VxCgogICAgRXhhbXBsZXMKICAgIC0tLS0tLS0tCiAgICA+Pj4gZnJvbSBudW1weS5wb2x5bm9taWFsIGltcG9ydCBwb2x5dXRpbHMgYXMgcHUKICAgID4+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dCB0byAxLWQgYXJyYXlzIGNvbnRhaW5pbmcgcHJlY2lzZWx5IHR3byB2YWx1ZXMuCgogICAgUmV0dXJucwogICAgLS0tLS0tLQogICAgeF9vdXQgOiBuZGFycmF5CiAgICAgICAgQXJyYXkgb2YgcG9pbnRzIG9mIHRoZSBzYW1lIHNoYXBlIGFzIGB4YCwgYWZ0ZXIgYXBwbGljYXRpb24gb2YgdGhlCiAgICAgICAgbGluZWFyIG1hcCBiZXR3ZWVuIHRoZSB0d28gZG9tYWlucy4KCiAgICBTZWUgQWxzbwogICAgLS0tLS0tLS0KICAgIGdldGRvbWFpbiwgbWFwcGFybXMKCiAgICBOb3RlcwogICAgLS0tLS0KICAgIEVmZmVjdGl2ZWx5LCB0aGlzIGltcGxlbWVudHM6CgogICAgLi4gbWF0aDo6CiAgICAgICAgeFxfb3V0ID0gbmV3WzBdICsgbSh4IC0gb2xkWzBdKQoKICAgIHdoZXJlCgogICAgLi4gbWF0aDo6CiAgICAgICAgbSA9IFxmcmFje25ld1sxXS1uZXdbMF19e29sZFsxXS1vbGRbMF19CgogICAgRXhhbXBsZXMKICAgIC0tLS0tLS0tCiAgICA+Pj4gZnJvbSBudW1weS5wb2x5bm9taWFsIGltcG9ydCBwb2x5dXRpbHMgYXMgcHUKICAgID4+PiBvbGRfZG9tYWluID0gKC0xLDEpCiAgICA+Pj4gbmV3X2RvbWFpbiA9ICgwLDIqbnAucGkpCiAgICA+Pj4geCA9IG5wLmxpbnNwYWNlKC0xLDEsNik7IHgKICAgIGFycmF5KFstMS4gLCAtMC42LCAtMC4yLCAgMC4yLCAgMC42LCAgMS4gXSkKICAgID4+PiB4X291dCA9IHB1Lm1hcGRvbWFpbih4LCBvbGRfZG9tYWluLCBuZXdfZG9tYWluKTsgeF9vdXQKICAgIGFycmF5KFsgMC4gICAgICAgICwgIDEuMjU2NjM3MDYsICAyLjUxMzI3NDEyLCAgMy43Njk5MTExOCwgIDUuMDI2NTQ4MjUsICMgbWF5IHZhcnkKICAgICAgICAgICAgNi4yODMxODUzMV0pCiAgICA+Pj4geCAtIHB1Lm1hcGRvbWFpbih4X291dCwgbmV3X2RvbWFpbiwgb2xkX2RvbWFpbikKICAgIGFycmF5KFswLiwgMC4sIDAuLCAwLiwgMC4sIDAuXSkKCiAgICBBbHNvIHdvcmtzIGZvciBjb21wbGV4IG51bWJlcnMgKGFuZCB0aHVzIGNhbiBiZSB1c2VkIHRvIG1hcCBhbnkgbGluZSBpbgogICAgdGhlIGNvbXBsZXggcGxhbmUgdG8gYW55IG90aGVyIGxpbmUgdGhlcmVpbikuCgogICAgPj4+IGkgPSBjb21wbGV4KDAsMSkKICAgID4+PiBvbGQgPSAoLTEgLSBpLCAxICsgaSkKICAgID4+PiBuZXcgPSAoLTEgKyBpLCAxIC0gaSkKICAgID4+PiB6ID0gbnAubGluc3BhY2Uob2xkWzBdLCBvbGRbMV0sIDYpOyB6CiAgICBhcnJheShbLTEuIC0xLmogLCAtMC42LTAuNmosIC0wLjItMC4yaiwgIDAuMiswLjJqLCAgMC42KzAuNmosICAxLiArMS5qIF0pCiAgICA+Pj4gbmV3X3ogPSBwdS5tYXBkb21haW4oeiwgb2xkLCBuZXcpOyBuZXdfegogICAgYXJyYXkoWy0xLjArMS5qICwgLTAuNiswLjZqLCAtMC4yKzAuMmosICAwLjItMC4yaiwgIDAuNi0wLjZqLCAgMS4wLTEuaiBdKSAjIG1heSB2YXJ5CgogICAgKQNyIgAAANoKYXNhbnlhcnJheXIMAAAAKQVyUAAAAHJWAAAAclcAAAByWgAAAHJbAAAAcwUAAAAgICAgIHIVAAAAcgsAAAByCwAAADMBAABzNQAAAIAA9X4BAAkLjA2QYdEIGNQIGIBB3Q8XmAOYU9EPIdQPIYFIgEOIE9gLDpATkFGRFYk70AQWchQAAABjAgAAAAAAAAAAAAAAAwAAAAMAAADzZAAAAJcAdAAAAAAAAAAAAAAAagEAAAAAAAAAAGcBfAF6BQAAfQJ0BQAAAAAAAAAAAABkAKYBAACrAQAAAAAAAAAAfAJ8ADwAAAB0BwAAAAAAAAAAAAB8AqYBAACrAQAAAAAAAAAAUwByLwAAACkEciIAAADaB25ld2F4aXPaBXNsaWNl2gV0dXBsZSkDchwAAAByKwAAANoCc2xzAwAAACAgIHIVAAAA2gpfbnRoX3NsaWNlcmMAAAB3AQAAcysAAACAAN0KDIwqiByYBNEJHIBC3QwRkCSJS4xLgEKAcYFF3QsQkBKJOYw50AQUchQAAABjAwAAAAAAAAAAAAAACAAAAAMAAADzBgIAAIcAhwGHAocElwB0AQAAAAAAAAAAAACJAKYBAACrAQAAAAAAAAAAigSJBHQBAAAAAAAAAAAAAIkBpgEAAKsBAAAAAAAAAABrAwAAAAByInQDAAAAAAAAAAAAAGQBiQSbAGQCdAEAAAAAAAAAAAAAiQGmAQAAqwEAAAAAAAAAAJsAnQSmAQAAqwEAAAAAAAAAAIIBiQR0AQAAAAAAAAAAAACJAqYBAACrAQAAAAAAAAAAawMAAAAAciJ0AwAAAAAAAAAAAABkAYkEmwBkA3QBAAAAAAAAAAAAAIkCpgEAAKsBAAAAAAAAAACbAJ0EpgEAAKsBAAAAAAAAAACCAYkEZARrAgAAAAByD3QDAAAAAAAAAAAAAGQFpgEAAKsBAAAAAAAAAACCAXQFAAAAAAAAAAAAAHQHAAAAAAAAAAAAAGoEAAAAAAAAAAB0BQAAAAAAAAAAAACJAaYBAACrAQAAAAAAAAAAZAasB6YCAACrAgAAAAAAAAAAZAh6AAAApgEAAKsBAAAAAAAAAACKAYgCiASIAYgAZgRkCYQIdAsAAAAAAAAAAAAAiQSmAQAAqwEAAAAAAAAAAEQApgAAAKsAAAAAAAAAAAB9A3QNAAAAAAAAAAAAAGoHAAAAAAAAAAB0EAAAAAAAAAAAAABqCQAAAAAAAAAAfAOmAgAAqwIAAAAAAAAAAFMAKQphbQYAAAogICAgQSBnZW5lcmFsaXphdGlvbiBvZiB0aGUgVmFuZGVybW9uZGUgbWF0cml4IGZvciBOIGRpbWVuc2lvbnMKCiAgICBUaGUgcmVzdWx0IGlzIGJ1aWx0IGJ5IGNvbWJpbmluZyB0aGUgcmVzdWx0cyBvZiAxZCBWYW5kZXJtb25kZSBtYXRyaWNlcywKCiAgICAuLiBtYXRoOjoKICAgICAgICBXW2lfMCwgXGxkb3RzLCBpX00sIGpfMCwgXGxkb3RzLCBqX05dID0gXHByb2Rfe2s9MH1eTntWX2soeF9rKVtpXzAsIFxsZG90cywgaV9NLCBqX2tdfQoKICAgIHdoZXJlCgogICAgLi4gbWF0aDo6CiAgICAgICAgTiAmPSBcdGV4dHR0e2xlbihwb2ludHMpfSA9IFx0ZXh0dHR7bGVuKGRlZ3JlZXMpfSA9IFx0ZXh0dHR7bGVuKHZhbmRlclxfZnMpfSBcXAogICAgICAgIE0gJj0gXHRleHR0dHtwb2ludHNba10ubmRpbX0gXFwKICAgICAgICBWX2sgJj0gXHRleHR0dHt2YW5kZXJcX2ZzW2tdfSBcXAogICAgICAgIHhfayAmPSBcdGV4dHR0e3BvaW50c1trXX0gXFwKICAgICAgICAwIFxsZSBqX2sgJlxsZSBcdGV4dHR0e2RlZ3JlZXNba119CgogICAgRXhwYW5kaW5nIHRoZSBvbmUtZGltZW5zaW9uYWwgOm1hdGg6YFZfa2AgZnVuY3Rpb25zIGdpdmVzOgoKICAgIC4uIG1hdGg6OgogICAgICAgIFdbaV8wLCBcbGRvdHMsIGlfTSwgal8wLCBcbGRvdHMsIGpfTl0gPSBccHJvZF97az0wfV5Oe0Jfe2ssIGpfa30oeF9rW2lfMCwgXGxkb3RzLCBpX01dKX0KCiAgICB3aGVyZSA6bWF0aDpgQl97ayxtfWAgaXMgdGhlIG0ndGggYmFzaXMgb2YgdGhlIHBvbHlub21pYWwgY29uc3RydWN0aW9uIHVzZWQgYWxvbmcKICAgIGRpbWVuc2lvbiA6bWF0aDpga2AuIEZvciBhIHJlZ3VsYXIgcG9seW5vbWlhbCwgOm1hdGg6YEJfe2ssIG19KHgpID0gUF9tKHgpID0geF5tYC4KCiAgICBQYXJhbWV0ZXJzCiAgICAtLS0tLS0tLS0tCiAgICB2YW5kZXJfZnMgOiBTZXF1ZW5jZVtmdW5jdGlvbihhcnJheV9saWtlLCBpbnQpIC0+IG5kYXJyYXldCiAgICAgICAgVGhlIDFkIHZhbmRlciBmdW5jdGlvbiB0byB1c2UgZm9yIGVhY2ggYXhpcywgc3VjaCBhcyBgYHBvbHl2YW5kZXJgYAogICAgcG9pbnRzIDogU2VxdWVuY2VbYXJyYXlfbGlrZV0KICAgICAgICBBcnJheXMgb2YgcG9pbnQgY29vcmRpbmF0ZXMsIGFsbCBvZiB0aGUgc2FtZSBzaGFwZS4gVGhlIGR0eXBlcwogICAgICAgIHdpbGwgYmUgY29udmVydGVkIHRvIGVpdGhlciBmbG9hdDY0IG9yIGNvbXBsZXgxMjggZGVwZW5kaW5nIG9u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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
chebyshev.cpython-311.pyc
72.84 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
hermite.cpython-311.pyc
60.65 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
hermite_e.cpython-311.pyc
60.42 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
laguerre.cpython-311.pyc
58.41 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
legendre.cpython-311.pyc
59.03 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
polynomial.cpython-311.pyc
55.05 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
polyutils.cpython-311.pyc
32.05 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setup.cpython-311.pyc
873 B
lrw-r--r--
2026-01-20 13:01:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_polybase.cpython-311.pyc
48.85 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-311.pyc
7.02 KB
lrw-r--r--
2026-02-06 08:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).