-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathinstall_mpy_robot_tools.py
More file actions
81 lines (68 loc) · 48.9 KB
/
install_mpy_robot_tools.py
File metadata and controls
81 lines (68 loc) · 48.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#### HOW TO Use this script ####
# 1. REBOOT your hub first!
# 2. Paste this script in an empty Python project
# 3. Optional: Select the packages you need by editing INSTALL dictionary
# 4. Open the console: [>_] button at the bottom of the screen.
# 5. Click the 'run/play' button.
# 6. WAIT FOR THE TEXT TO START SCROLLING IN THE CONSOLE!! The play button will stop spinning, but the script is running!
# 7. When there is no more text scrolling in the console, the installation is done.
# Only Works with the LEGO SPIKE 2.0 LEGACY app and the LEGO MINDSTORMS app
# Compiled on 2025-12-26 20:36:47.320116
VERBOSE = False
from ubinascii import hexlify, a2b_base64
from uhashlib import sha256
from os import mkdir
import gc
encoded = (('pybricks.mpy', ('TQUCHyCIcCRSAAcWcHlicmlja3MucHkggAclJScmJkYwUCNUdI4QhQmLC4sHiwiLDIsdix2LbItwiz8AIwAWFF9fYXV0aG9yX18jARYaX19jb3B5cmlnaHRfXyMCKwEWFl9fY3JlZGl0c19fEAZNSVQWFl9fbGljZW5zZV9fEAoxLjAuMBYWX192ZXJzaW9uX18QFFByb2R1Y3Rpb24WFF9fc3RhdHVzX1+AEApUaW1lcioBGw5tYWNoaW5lHAMWAVmAEApzbGVlcCoBGwh0aW1lHAMWAVlIEwCAEAhwb3J0KgEbBmh1YhwDFgFZShUAWYEQASoBGxBodWJfc3R1Yg==\n', 'HAMWAVlKAQBdIv8cIoBkKgJTMwMWFl9fY2xhbXBfaW50MgQWCHdhaXRUMgUQCFBvcnQ0AhYBVDIGEBJEaXJlY3Rpb240AhYBVDIHEAhTdG9wNAIWAVQyCBAWRm9yY2VTZW5zb3I0AhYBVDIJECBVbHRyYXNvbmljU2Vuc29yNAIWAVQyChAQVVNMaWdodHM0AhYBVDILEApNb3RvcjQCFgFUMgwQHF9fTVNIdWJDb250cm9sNAIWAVQyDRAWX19Nb3RvclN0dWI0AhYBVDIOEBJEcml2ZUJhc2U0AhYBUWMDDHMPQW50b24gVmFuaG91Y2tlcyFDb3B5cmlnaHQgMg==\n', 'MDIzLCBBbnRvbnMgTWluZHN0b3Jtc3MMUHlicmlja3MuY29tgQCzgAESFzmAGYAMABIGbWF4EgZtaW4SAIawNAGyNAKxNAJjAAACbgpmbG9vcg5jZWlsaW5nYBkSIw2AKWBAABIrsCKHaPc0AVlRYwAAFmR1cmF0aW9uX21zggQAGicHjDJAJiYmJiYAEQAXFgAWEAMWABoQAkEWARACQhYBEAJDFgEQAkQWARACRRYBEAJGFgFRYwAAgQQAEjMRjD1AJAARABcWABYQAxYAGoEWEkNMT0NLV0lTRX8WIENPVU5URVJDTE9DS1dJU0VRYwAAgRgAFDcJjERAJCQAEQ==\n', 'ABcWABYQAxYAGoAWCkJSQUtFgRYKQ09BU1SCFghIT0xEUWMAAIEkABQ9C4xMZSBlABEAFxYAFhADFgAaMgAWABEyARYKZm9yY2UyAhYOcHJlc3NlZFFjAAOBFCoQABEHgE0yABIAUBAKcG9ydC6x8hAOLmRldmljZfI0AbAYDHNlbnNvcrAUCzYAwlFjAAAAiRZzZW5zb3JfcG9ydFQRDgMLgFEAsBMHFABWNgCAVWMAAACJSBEODQWAVACwFAc2AIDcYwAAAImBEAAUIFVsdHJhc29uaWNTZW5zb3IFjFhAhQsAEQAXFgAWEAMWABoyABYAETIBFhBkaXN0YW5jZQ==\n', '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\n'), 'db7362bb3aa27a0e5ba6a35cf6a42bb18e1cca9187d58bfa2aa57f1dc8cadf84'), ('rc.mpy', ('TQUCHyCEdGgaAAcKcmMucHlgIB8fH3+ADQCBEBxVQVJUUGVyaXBoZXJhbBAWVUFSVENlbnRyYWwQFFJDUmVjZWl2ZXIQGlJDVHJhbnNtaXR0ZXIQFkxfU1RJQ0tfSE9SEBZMX1NUSUNLX1ZFUhAWUl9TVElDS19IT1IQFlJfU1RJQ0tfVkVSEBJMX1RSSUdHRVIQElJfVFJJR0dFUhAQU0VUVElORzEQEFNFVFRJTkcyEA5CVVRUT05TKg0bEGJ0YnJpY2tzHBsWARwbFgEcGxYBHBsWARwbFgEcGxYBHBsWARwbFgEcGxYBHBsWARwbFgEcGxYBHBsWAVmBEBxDTw==\n', 'Tk5FQ1RfSU1BR0VTKgEbCmxpZ2h0HAMWAVlRYwAA\n'), '9b036f3f1d506be9ec4aa2dba2c534bbdcec611bad066d88fd9ef6f668cf12cd'), ('light.mpy', ('TQUCHyCuEHzIBAAHEGxpZ2h0LnB5KDBZI11dICcnJycnJycnJycnJycnbCAkJCREIiAoKCgoTCAoKCgoTCAoKCgoTCAoKCgoTCAoKCgoTCAoKCgoTCAoKCgoTCAoKCgoTCAoKCgoTCAoKCgobyAiICsrKytPICsrKytPICsrKytPICsrKytPICsrKytPICsrKytPICsrKytPICsrKytPICsrKytPICsrKytyQGUgZWCFHoUyAIBRGwp1dGltZRYBgBAScmFuZHJhbmdlKgEbDHJhbmRvbRwDFgFZgBAGc2luEARwaSoCGwhtYXRoHAUWARwFFgFZSBwAgBAOZGlzcA==\n', 'bGF5EApJbWFnZSoCGwZodWIcBRYBHAUWAVlKHgBZgRADEAMqAhsQaHViX3N0dWIcBRYBHAUWAVlKAQBdEQEjADQBEQEjATQBEQEjAjQBEQEjAzQBEQEjBDQBEQEjBTQBEQEjBjQBEQEjBzQBEQEjCDQBEQEjCTQBEQEjCjQBEQEjCzQBEQEjDDQBEQEjDTQBEQEjDjQBKw8WHENPTk5FQ1RfSU1BR0VTgBYACIgWAk+GFgJ4iRYCQiwKEQAIEQAIKwIRAAgRAAgrAhEACBEACCsCEQAIEQAIKwIRAAgRAAgrAisFgGIRAAgRBSsCEQERASsCEQAIEQErAhEACBEBKw==\n', 'AhEACBEBKwIrBYFiEQERASsCEQAIEQErAhEBEQErAhEBEQAIKwIRAREBKwIrBYJiEQERASsCEQAIEQErAhEBEQErAhEACBEBKwIRAREBKwIrBYNiEQERAAgrAhEBEQAIKwIRAREBKwIRAAgRASsCEQAIEQErAisFhGIRAREBKwIRAREACCsCEQERASsCEQAIEQErAhEBEQErAisFhWIRAREACCsCEQERAAgrAhEBEQErAhEBEQErAhEBEQErAisFhmIRAREBKwIRAAgRASsCEQERAAgrAhEBEQAIKwIRAREACCsCKwWHYhEBEQErAhEBEQErAhEFEQErAhEDEQErAg==\n', 'EQERASsCKwWIYhEBEQErAhEBEQErAhEBEQErAhEACBEBKwIRAREBKwIrBYliFg50ZW5zX3B4LAoRBxEBEQErAxEBEQAIEQErAxEBEQAIEQErAxEBEQAIEQErAxEBEQERASsDKwWAYhEACBEBEQAIKwMRAREBEQAIKwMRAAgRAREACCsDEQAIEQERAAgrAxEBEQERASsDKwWBYhEBEQERASsDEQAIEQAIEQErAxEBEQERASsDEQERAAgRAAgrAxEBEQERASsDKwWCYhEBEQERASsDEQAIEQAIEQErAxEBEQERASsDEQAIEQAIEQErAxEBEQERASsDKwWDYhEBEQAIEQ==\n', 'ASsDEQERAAgRASsDEQERAREBKwMRAAgRAAgRASsDEQAIEQAIEQErAysFhGIRAREBEQErAxEBEQAIEQAIKwMRAREBEQErAxEACBEACBEBKwMRAREBEQErAysFhWIRAREBEQErAxEBEQAIEQAIKwMRAREBEQErAxEBEQAIEQErAxEBEQERASsDKwWGYhEBEQERASsDEQAIEQAIEQErAxEACBEBEQAIKwMRAAgRAREACCsDEQAIEQERAAgrAysFh2IRAREBEQErAxEBEQAIEQErAxEBEQERASsDEQERAAgRASsDEQERAREBKwMrBYhiEQERAREBKwMRAREACBEBKwMRAQ==\n', 'EQERASsDEQAIEQAIEQErAxEBEQERASsDKwWJYhYQdW5pdHNfcHgyDxYcbWF0cml4XzJfaW1hZ2UyEBYcaW1hZ2VfMl9tYXRyaXgyERYQaW1hZ2VfOTkyEhYSY29kZWxpbmVzVDITEBZMTUFuaW1hdGlvbjQCFgFRYw8Fcx0wMzU3OTowMDAwMDowMDAwMDowMDAwMDowMDAwMHMdMDAzNTc6MDAwMDA6MDAwMDA6MDAwMDA6MDAwMDBzHTAwMDM1OjAwMDAwOjAwMDAwOjAwMDAwOjAwMDAwcx0wMDAwMzowMDAwMDowMDAwMDowMDAwMDowMDAwMHMdMDAwMDA6MA==\n', 'MDAwMDowMDAwMDowMDAwMDowMDAwOXMdMDAwMDA6MDAwMDA6MDAwMDA6MDAwMDA6MDAwOTdzHTAwMDAwOjAwMDAwOjAwMDAwOjAwMDAwOjAwOTc1cx0wMDAwMDowMDAwMDowMDAwMDowMDAwMDowOTc1M3MdMDAwMDA6MDAwMDA6MDAwMDA6MDAwMDA6OTc1MzBzHTAwMDAwOjAwMDAwOjAwMDAwOjAwMDAwOjc1MzAwcx0wMDAwMDowMDAwMDowMDAwMDowMDAwMDo1MzAwMHMdOTAwMDA6MDAwMDA6MDAwMDA6MDAwMDA6MzAwMDBzHTc5MDAwOjAwMDAwOjAwMA==\n', 'MDA6MDAwMDA6MDAwMDBzHTU3OTAwOjAwMDAwOjAwMDAwOjAwMDAwOjAwMDAwcx0zNTc5MDowMDAwMDowMDAwMDowMDAwMDowMDAwMHApDgkrgLUAEhkQAjoUAGgyAbA0ATYBNAFjAAEMbWF0cml4gRBRDhQ8bGlzdGNvbXA+CYC1ACsAsF9LEwDBEAABFABoMgGxNAE2AS8UQup/YwABAAV0QQ4DA4C1ACsAsF9LDADBEgCXsTQBLxRC8X9jAAAABYFIIRITA4C5LSwAEgCesDQBEgvZRAyAEgCCsDQBh30uAlXAMgGwFACREAs2ATQBYwABCmlucHV0cEEOCwmAuw==\n', 'ACsAsF9LCwDBMgGxNAEvFELyf2MAAQAFdEEOAwOAuwArALBfSwwAwRIAXrE0AS8UQvF/YwAAAAWEMF0qFQOAv4AHKCNUZkYnJEQjJn0uABILIwE0AcFIGQCAsFdb2kYHgCKAY9pCAoBaWUMCgLFjSgcAWbFjSgEAXRIAXrA0AcCwivjCsIr2wysAxIBCGIBXxbQSG7NVtVUSGbJVtVXyKwHlxIHlV4XXQ+J/WRAPFABoMgK0NAE2AcYSB7Y0AWMBAQxudW1iZXJzHTAwMDAwOjA5MDkwOjAwOTAwOjA5MDkwOjAwMDAwgRBRDg8NgNgAKwCwX0sTAMEQAAEUAGgyAQ==\n', 'sTQBNgEvFELqf2MAAQAFdEEOAwOA2AArALBfSwwAwRIAl7E0AS8UQvF/YwAAAAWHJPBAThsDgN2AByAnJycnSkMiIEMnJyZDJm0mJiZDJkxKIiMoLCYkIwCAgICAgCsFgICAgIArBYCAgICAKwWAgICAgCsFgICAgIArBSsFwLBnWYDBQlWAEjGGNAHCsoBCFoBXw4awsVWzVrBnWYmwsVWzVrBnWYHlWFrXQ+R/WVmyhddEIYCAQhaAV8SJsLFVslawZ1mAsLFVslawZ1mB5VeG10Pkf1mxgeXBsYXXQ6V/gcVCKICwFAB4gDYBWbCAgICAgCsFKwHlwLGA2EQEgA==\n', 'sYHmwbBnWRIBgjQBxbVD1H9Cbn9RYwAAgTQIFh0FnA+AHIkHABEAFxYAFhADFgAajCoBUzMAFgARUSoBUzMBFhx1cGRhdGVfZGlzcGxheVFjAAKBZKsBFgARBZAsJS4sJQCxsBgMZnJhbWVzEgBeIodosvc0AbAYEGludGVydmFsEjsUEHRpY2tzX21zNgCwGBRzdGFydF90aW1lgLAYHm5leHRfZnJhbWVfdGltZYCwGBpjdXJyZW50X2ZyYW1lUWMAAACJDQZmcHOIRNoBOhMTkDNgYCQ1KSAnJycnajAqUTAqUSw1KzFFALFDFYASERQUdGlja3NfZGlmZhIDFA==\n', 'EzYAsBMTNgLBsbATE9tEzYCAgICAgCsFgICAgIArBYCAgICAKwWAgICAgCsFgICAgIArBSsFwhAAGRIATLATETQB3UQbgBIAdLATATQBwrBXEwOwExXlWhgDQm2AEgBrsBMFgFU0AYLYRBuAsBMBsBMVVcKwVxMFsBMH5VoYA0IhgLATB7ATB1WBVcKwVxMFsBMFsBMFVYBV5VoYBbBXEwOB5VoYAbATARIAa7ATBTQB20QFgICwGAMSOxQIc2hvdxI1sjQBNgFZUWMAAACJCHRpbWU=\n'), '5a63cd90be0b36cf468238637668cd372edac98e4d5a01fd85410f72e099ebc1'), ('btbricks', 'dir', ''), ('btbricks/bthub.mpy', ('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\n'), '0696787c5c96bac6555aeaf6607b068e7b6da8dd2c2b789f1b85feae70ca3955'), ('btbricks/__init__.mpy', ('TQUCHyCLXIAQMAAHKGJ0YnJpY2tzL19faW5pdF9fLnB5gAkmJUYfHx8fcoAOHx8fdoAMUAAQCjAuMi4yFhZfX3ZlcnNpb25fXyMAFhRfX2F1dGhvcl9fEAZNSVQWFl9fbGljZW5zZV9fgRAUQkxFSGFuZGxlchAWVUFSVENlbnRyYWwQHFVBUlRQZXJpcGhlcmFsEBRSQ1JlY2VpdmVyEBpSQ1RyYW5zbWl0dGVyEBxNaWRpQ29udHJvbGxlchAWUl9TVElDS19IT1IQFlJfU1RJQ0tfVkVSEBZMX1NUSUNLX0hPUhAWTF9TVElDS19WRVIQDkJVVFRPTlMQEkxfVA==\n', 'UklHR0VSEBJSX1RSSUdHRVIQEFNFVFRJTkcxEBBTRVRUSU5HMioPGwRidBwfFgEcHxYBHB8WARwfFgEcHxYBHB8WARwfFgEcHxYBHB8WARwfFgEcHxYBHB8WARwfFgEcHxYBHB8WAVmBEApCdEh1YhAGT0ZGEAhQSU5LEAxQVVJQTEUQEkRBUktfQkxVRRAIQkxVRRAIVEVBTBAKR1JFRU4QDFlFTExPVxAMT1JBTkdFEAZSRUQQCldISVRFKgwbCmJ0aHViHBkWARwZFgEcGRYBHBkWARwZFgEcGRYBHBkWARwZFgEcGRYBHBkWARwZFgEcGRYBWYEQFyoBGxkcAw==\n', 'FhBTbWFydEh1YlkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQIRAhKxEWDl9fYWxsX19RYwEAcw9BbnRvbiBWYW5ob3Vja2U=\n'), 'f34568669d06bf80ad27249a5cec0f9631ea710379c667683409cd5d3af11b05'), ('btbricks/bt.mpy', ('TQUCHyCWeDS+AgAHHGJ0YnJpY2tzL2J0LnB5gBtIIx8jHyNIKU4obGVlZWsgbCZmJCQkJCQkJCRkICQkJCSEJS0tLUNMQ0xDbSAtbS0tQ1BDamBsQioqKioqKioqbSCFF40yhROFC4UTm5SLhotBjj+OaY46AIBRGwxzdHJ1Y3QWAUh2AIAQEHNsZWVwX21zEBR0aWNrc19kaWZmEBB0aWNrc19tcyoDGwp1dGltZRwHFgEcBxYBHAcWAVmAEABIEBBzY2hlZHVsZRA6YWxsb2NfZW1lcmdlbmN5X2V4Y2VwdGlvbl9idWYqAxsAcxwASBYASBwDFgEcAxYBWYBRGw==\n', 'FHVibHVldG9vdGgWAREDIoBkNAFZIwARAEwRAzQB3UMQgBEAeyMBNAFZEQAkIwI0AWVKJwBZMgsWAEgyDBYFMg0WBVQyDhAFNAIWAREAeyMDNAFZSgEAXSKBOBYUVEFSR0VUX01UVSKAZBYUTUFYX05PVElGWYAWFkxfU1RJQ0tfSE9SgRYWTF9TVElDS19WRVKCFhZSX1NUSUNLX0hPUoMWFlJfU1RJQ0tfVkVShBYSTF9UUklHR0VShRYSUl9UUklHR0VShhYQU0VUVElORzGHFhBTRVRUSU5HMogWDkJVVFRPTlOCFhRfRkxBR19SRUFEhBYuX0ZMQUdfV1JJVA==\n', 'RV9OT19SRVNQT05TRYgWFl9GTEFHX1dSSVRFkBYYX0ZMQUdfTk9USUZZoBYcX0ZMQUdfSU5ESUNBVEURIRQIVVVJRCMENgEWFF9VQVJUX1VVSUQRBRQFIwU2ARYaX1VBUlRfVFhfVVVJRBEFFAUjBjYBFhpfVUFSVF9SWF9VVUlEEQcRDRET7SoCFhBfVUFSVF9UWBEJERMRFe0qAhYQX1VBUlRfUlgRFRELEQUqAioCFhpfVUFSVF9TRVJWSUNFERcUFyMHNgEWJF9MRUdPX1NFUlZJQ0VfVVVJRBEFFAUjCDYBFiRfTEVHT19TRVJWSUNFX0NIQVIRBRQFIwk2AQ==\n', 'FiJNSURJX1NFUlZJQ0VfVVVJRBEFFAUjCjYBFhxNSURJX0NIQVJfVVVJRBEBER0RHe0RGe0qAhYSTUlESV9DSEFSEQ8RAyoBKgIWGE1JRElfU0VSVklDRZWXjI6QkZMrBxYWTk9URV9PRkZTRVQsCYCEh4wqBBACTWKAg4eMKgQQAm1igISHiioEEAI3YoCDh4oqBBAEbTdigISHiyoEEARNN2KAhYeMKgQQCHN1czRigIKHjCoEEAhzdXMyYoCDhooqBBAIZGltN2KAh4yTKgQQAlBiFhhDSE9SRF9TVFlMRVMyDxYWbm90ZV9wYXJzZXJQUFFRgCoFUzMQFiZhZA==\n', 'dmVydGlzaW5nX3BheWxvYWQyERYaX2RlY29kZV9maWVsZDISFhhfZGVjb2RlX25hbWUyExYgX2RlY29kZV9zZXJ2aWNlc1QyFBAUQkxFSGFuZGxlcjQCFgFUMhUQHE1pZGlDb250cm9sbGVyNAIWAVQyFhAWQmxlVUFSVEJhc2U0AhYBVDIXEBxVQVJUUGVyaXBoZXJhbBEDNAMWA1QyGBAWVUFSVENlbnRyYWwRBTQDFgNUMhkQFFJDUmVjZWl2ZXIRBzQDFgNUMhoQGlJDVHJhbnNtaXR0ZXIRBzQDFgNRYwsQcw1GTEFHX0lORElDQVRFc0NXQVJOSU5HIFNQSQ==\n', 'S0UgUHJpbWUgbm90IHN1cHBvcnRlZCBmb3IgQmxlLiBVc2UgTUlORFNUT1JNUyBGaXJtd2FyZS5zFkZpcm13YXJlIG5vdCBzdXBwb3J0ZWRzIkltcG9ydCBmYWlsZWQuIE5vdCBvbiBtaWNyb3B5dGhvbj9zJDZFNDAwMDAxLUI1QTMtRjM5My1FMEE5LUU1MEUyNERDQ0E5RXMkNkU0MDAwMDMtQjVBMy1GMzkzLUUwQTktRTUwRTI0RENDQTlFcyQ2RTQwMDAwMi1CNUEzLUYzOTMtRTBBOS1FNTBFMjREQ0NBOUVzJDAwMDAxNjIzLTEyMTItRUZERS0xNjIzLQ==\n', 'Nzg1RkVBQkNEMTIzcyQwMDAwMTYyNC0xMjEyLUVGREUtMTYyMy03ODVGRUFCQ0QxMjNzJDAzQjgwRTVBLUVERTgtNEIzMy1BNzUxLTZDRTM0RUM0QzcwMHMkNzc3MkU1REItMzg2OC00MTEyLUExQTktRjI2NjlEMTA2QkYzLAkOAEgcYnRicmlja3MvYnQucHmAKgCwYwAAAngsCQ4Qc2NoZWR1bGUFgC0AUWMAAARmbiwJDjphbGxvY19lbWVyZ2VuY3lfZXhjZXB0aW9uX2J1ZgWAMABRYwAAAm5wAA4UdWJsdWV0b290aAWMMwARABcWABYQAxYAGjIAFghVVQ==\n', 'SURRYwABLAkOAQWANABRYwAAAAiFFEEsJwOAqGBAIiwrKDIyKSIqJSolPQCwwRIAYbASAJc0AkR9gBIAa7A0AYLXRAiAEgA3IwE0AWUSAHewgFUUAKA2ADQBIoBB88KAsldb2kYFgIbaQgKAWllDCYASADcQEEJhZCBub3RlNAFlgMOwgVUQAiPZRAWAgcNCD4CwgVUQAmLZRAWAf8NCAIASAF6wgRIAObM0AfJRLgJVNAGM9BIWTk9URV9PRkZTRVSyVfKz8sGxYwEACG5vdGVzD0JhZCBub3RlIGZvcm1hdIYM+YWAATkxDYC+gBFHZUBCH2IkRiQmJyspKykrbA==\n', 'JFEACBIAQDQAJwi4IAUBxbWBEgxzdHJ1Y3QUCHBhY2sQAkKwRASAgUIBgIKxRASAmEIBgITyNgI0AlmyRAaAtYmyNAJZs0RMgLNfS0cAxhIAQrY0AccSAGu3NAGC2UQJgLWDtzQCWUIogBIAa7c0AYTZRAmAtYW3NAJZQhSAEgBrtzQBkNlECYC1h7c0AllCAIBCtn+0RBGAtZkSBRQFEAQ8aLQ2AjQCWSUIYwABGGxpbWl0ZWRfZGlzYwxicl9lZHIIbmFtZRBzZXJ2aWNlcxRhcHBlYXJhbmNlgSBDEg5fYXBwZW5kFYDSICAAJQASExQTEARCQhIAa7I0AYHysQ==\n', 'NgOy8uUnAFFjAAAABRBhZHZfdHlwZQCigjxSHhpfZGVjb2RlX2ZpZWxkC4DwgAkiIyMqNTUAgMIrAMNCJ4CwsoHyVbHZRBWAsxQAPLCygvKysLJV8oHyLgJVNgFZsoGwslXy5cKygfISAGuwNAHXQ8x/s2MAAA5wYXlsb2FkB4EgIRQYX2RlY29kZV9uYW1lB5ADYGAoABIJsIk0AsGxRAyAEgCXsYBVEAChNAJjEAABYwAACYRAcSQgX2RlY29kZV9zZXJ2aWNlcweQDoAIIywfISwfISwzACsAwRIHsIM0Al9LIQDCsRQAPBIzFDMSFRQMdW5wYWNrECWyNgKAVQ==\n', 'NgE2AVlC3H8SC7CFNAJfSyEAwrEUADwSCxQLEgsUCxAEPGSyNgKAVTYBNgFZQtx/EguwhzQCX0sUAMKxFAA8EgsUC7I2ATYBWULpf7FjAAAThUggThRCTEVIYW5kbGVyE5whgAqJDYUZhR2FCYWdjAiFDIUMiRNlYGVgjziJGGogigcAEQAXFgAWEAMWABpQKgFTMwAWABEyARYMX3Jlc2V0MgIWCGluZm8yAxYScHJpbnRfbG9nMgQWCF9pcnEiho0gKgFTMwUWEmFkdmVydGlzZTIGFhBvbl93cml0ZTIHFhpvbl93cml0ZV9kb25lUSoBUzMIFgxub3RpZnkyCQ==\n', 'FghzY2FuMgoWEnN0b3Bfc2NhbhAKcm9ib3RRUVGKKgVTMwsWGGNvbm5lY3RfdWFydIoqAVMzDBYYY29ubmVjdF9sZWdvjFAqAlMzDRYUdWFydF93cml0ZVFQKgJTMw4WFGxlZ29fd3JpdGVRKgFTMw8WGmVuYWJsZV9ub3RpZnlRYwAQg1iuASAAESOQLCwxKyNRJC4lJwASKRQGQkxFNgCwGAhfYmxlsBMBFAxjb25maWcQCnJ4YnVmIoE4NoIAWbATBRQMYWN0aXZlUjYBWUgQALATAxQcZ2FwX2Rpc2Nvbm5lY3QiiAE2AVlKBQBZSgEAXbATAxQGaXJxsBMrNg==\n', 'AVmxsBgKZGVidWcigUiwGBBsb2dfc2l6ZbAUNTYAWVFjAAAAiQWEbBE2AxmQOSUlJSYmJSUlJiYlJSUmJSUlRy1IAH+wGCRfY29ubmVjdGVkX2NlbnRyYWxRsBgqX3NjYW5fcmVzdWx0X2NhbGxiYWNrUbAYJl9zY2FuX2RvbmVfY2FsbGJhY2ssALAYKl93cml0ZV9kb25lX2NhbGxiYWNrcywAsBgkX2Rpc2Nvbm5fY2FsbGJhY2tzUbAYLF9jZW50cmFsX2Nvbm5fY2FsbGJhY2tRsBgyX2NlbnRyYWxfZGlzY29ubl9jYWxsYmFja1GwGCpfY2hhcl9yZXN1bA==\n', 'dF9jYWxsYmFjaywAsBggX3dyaXRlX2NhbGxiYWNrcywAsBgiX25vdGlmeV9jYWxsYmFja3NRsBgYX3NlYXJjaF9uYW1lULAYHmNvbm5lY3RpbmdfdWFydFCwGB5jb25uZWN0aW5nX2xlZ28sALAYFF9yZWFkX2RhdGFRsBgaX3N0YXJ0X2hhbmRsZVGwGBZfZW5kX2hhbmRsZZSwGAZtdHWwEydEFYASAECwEyk0AbAYEGxvZ19kYXRhgLAYDmxvZ19pZHhCBoAjAbAYA1FjAQAAiWIAhGjpgIBAKAhpbmZvLZBSgA4nJi8nLiUyLiwqTgCwEwtEeICxX0tKAMISAA==\n', 'QhIAl7I0ARAIdXRmODQCwxIAa7M0AcSwEwu08rATDdhEBYCAsBgDs7ATDbATA7ATAbTyLgJWsFcTAbTlWhgBQrN/sBMBsBMF10QYgIqwEwWwEwVWsFcTAYHlWhgBQgWAgLAYAVFjAAAAiYNsOR4ScHJpbnRfbG9nDZBvIB8iKh8iKi0AsBMHsBMHUS4CVRQMZGVjb2RlEA02ARQAkRAAAzYBX0sLAMESAHuxNAFZQvJ/sBMHUbATBy4CVRQHEAc2ARQAkRAAAzYBX0sLAMESAHuxNAFZQvJ/EgBAsBMNNAGwGAmAsBgJUWMAAACJpVzjEPQCNw2QeCYoLUcuJ1Elag==\n', 'ICcnKCUqJSoqJydOJicqLClVJTUnKiwpVSUsJ0tGJi4lTkYmKSlsRidQJUhGLidyTGZAJSVORisnKCkoKTYoJygmKCdOZkAoLylQJigpLykpUUYoKS9QJiYqJSdMJiYqJSdLZiYtLCoqbwCxhdlEq4CyMAXDxMXGxxIYX2RlY29kZV9uYW1ltzQBRQOAEAI/yBIgX2RlY29kZV9zZXJ2aWNlc7c0AcmwFBkQDkZvdW5kOiC4IwO5NgRZsBMnRCeAuLATKdlEHoASFF9VQVJUX1VVSUS53UQWgLOwGBRfYWRkcl90eXBlEgBCtDQBsBgKX2FkZHKwFBJzdG9wX3NjYQ==\n', 'bjYAWbATMUQ3gBIkX0xFR09fU0VSVklDRV9VVUlEud1EL4CzsBgJEgBCtDQBsBgJtbAYEl9hZHZfdHlwZRIbtzQBsBgKX25hbWUSG7c0AbAYEl9zZXJ2aWNlc7AUEzYAWbATKl9zY2FuX3Jlc3VsdF9jYWxsYmFja0QLgLAUAbO0uLk2BFlChoOxhtlEs4CwExtEToCwExNR3tNEKoASAHsjBLATGzQCWRIQc2xlZXBfbXMig3Q0AVmwEwhfYmxlFBZnYXBfY29ubmVjdLATCbATGzYCWUIXgFCwGA2wFCUjBRQAVLATDzYBNgFZQkyAsBMhREWAsBMLUd7TRCqAEg==\n', 'AHsjBrATGzQCWRITIoN0NAFZsBMTFBOwEwmwExM2AllCDoBQsBgNsBQRIwc2AVlCAICwEyZfc2Nhbl9kb25lX2NhbGxiYWNrRAiAsBQBsjYBWULNgrGH2UQngLIwA8rDxLATFUMHgLATB0QFgLqwGBhfY29ubl9oYW5kbGWwExEULmdhdHRjX2Rpc2NvdmVyX3NlcnZpY2VzujYBWUKggrGI2UQkgLIwA8rLy7qwEyRfZGlzY29ubl9jYWxsYmFja3PdRBKAsBMBulVECYCwEwG6VTQAWUJ2grGJ2UQkgLIwBMrMzc6+EivZQwiAvhIr2UQKgLywGBpfc3RhcnRfaA==\n', 'YW5kbGW9sBgWX2VuZF9oYW5kbGVCTIKxitlEM4CwEwNEIICwEwNEGYCwEw0UPGdhdHRjX2Rpc2NvdmVyX2NoYXJhY3RlcmlzdGljc7ATEbATCbATCTYDWUIJgLAUGSMINgFZQhOCsZXZRBiAsjACys+/sBgGbXR1sBQDEAhNdHU6vzYCWUL1gbGL2USEgLIwBcomECYRJhLOsBMbRECAvhIaX1VBUlRfUlhfVVVJRNlECYAkEbAYFF9yeF9oYW5kbGVCEYC+EhpfVUFSVF9UWF9VVUlE2UQJgCQRsBgUX3R4X2hhbmRsZUIAgBIAOrATFbATB7ATBSoDNAFEBYBQsA==\n', 'GAtCHYCwEyNEFoC+EiRfTEVHT19TRVJWSUNFX0NIQVLZRAuAJBGwGCRfbGVnb192YWx1ZV9oYW5kbGVQsBgFQgCAsBMqX2NoYXJfcmVzdWx0X2NhbGxiYWNrRAuAsBQBuiQRvjYDWUJrgbGR2UQwgLIwA8omESYTsBQXIwm6EBBpbiB2YWx1ZSQRNgRZurATKl93cml0ZV9kb25lX2NhbGxiYWNrc91EDYCwEwG6VSQRJBM0AllCNYGxktlEQ4CyMAPKJhEmFBIAQiQUNAEmFLAUBRAOTm90aWZ5OrokESQUNgRZurATIl9ub3RpZnlfY2FsbGJhY2tz3UQXgLATAQ==\n', 'ulVEDoASEHNjaGVkdWxlsBMDulUkFDQCWULsgLGP2UQwgLIwA8omESYVEgBCJBU0ASYVsBQHEApSZWFkOrokESQVNgRZJBWwExRfcmVhZF9kYXRhJBGM8LryVkK2gLGB2UQogLIwA8rDxLAUBSMKujYCWbqwGCRfY29ubmVjdGVkX2NlbnRyYWywEyxfY2VudHJhbF9jb25uX2NhbGxiYWNrRAmAsBQBslM3AFlCiICxgtlEJ4CyMAPKw8SwFAUjC7o2All/sBgFsBMyX2NlbnRyYWxfZGlzY29ubl9jYWxsYmFja0QIgLAUAbo2AVlCW4Cxg9lEQoCyMALKJhGwEw==\n', 'NRQUZ2F0dHNfcmVhZCQRNgEmFrAUCSMMuiQWNgNZJBGwEyBfd3JpdGVfY2FsbGJhY2tz3UQWgLATASQRVUQMgLATASQRVSQWNAFZQhOAsBQDIw0SBmhleLE0ARAKZGF0YTqyNgRZUWMLAACJCmV2ZW50CGRhdGFzECB3aXRoIHNlcnZpY2VzOiBzEUZvdW5kIHBlcmlwaGVyYWw6cx5ObyB1YXJ0IHBlcmlwaGVyYWwgJ3t9JyBmb3VuZC5zEEZvdW5kIFNNQVJUIEh1YjpzFUxFR08gU21hcnQgaHViIGZvdW5kLnMmRmFpbGVkIHRvIGZpbmQgcmVxdWVzdGVkIA==\n', 'Z2F0dCBzZXJ2aWNlLnMNV3JpdGUgZG9uZSBvbnMPTmV3IGNvbm5lY3Rpb24gcw1EaXNjb25uZWN0ZWQgcxVDbGllbnQvY2VudHJhbCB3cm90ZTpzEVVuaGFuZGxlZCBldmVudDoggRy7ARQSYWR2ZXJ0aXNlHGJ0YnJpY2tzL2J0LnB5oBVgICgAEgB7IwM0AVmwExMUGmdhcF9hZHZlcnRpc2WyEBBhZHZfZGF0YbE2ggFZUWMBAACJDnBheWxvYWQWaW50ZXJ2YWxfdXNzE1N0YXJ0ZWQgYWR2ZXJ0aXNpbmdQKxIQb25fd3JpdGUNoB2ACQCysBMbsVZRYwAAAA==\n', 'iRh2YWx1ZV9oYW5kbGUQY2FsbGJhY2tQKxIab25fd3JpdGVfZG9uZQmgKYAJALKwEzWxVlFjAAAAiRZjb25uX2hhbmRsZQmCPLgFGgxub3RpZnkJoDWAC0wnLykAsBMbFBZnYXR0c193cml0ZbKxNgJZs1He00QPgLATAxQYZ2F0dHNfbm90aWZ5s7I2AllCG4CwEzGA20QSgLATBRQFsBMFsjYCWUIAgFFjAAAAiSUUdmFsX2hhbmRsZROBCCkQCHNjYW4RoEhgALATDxQQZ2FwX3NjYW4igZwgIoHqMCKB6jA2A1lRYwAAAIlcGRASc3RvcF9zY2FuB6BOYACwEw==\n', 'BxQHUTYBWVFjAAAAiYgw2oWAAUYYY29ubmVjdF91YXJ0B6BWgBIlJSUlJSUlJUUnRydKKSknLScqKmoxLkhSJQCxsBgYX3NlYXJjaF9uYW1lUrAYHmNvbm5lY3RpbmdfdWFydFGwGBhfY29ubl9oYW5kbGVRsBgaX3N0YXJ0X2hhbmRsZVGwGBZfZW5kX2hhbmRsZVGwGBRfcnhfaGFuZGxlUbAYFF90eF9oYW5kbGVRsBgUX2FkZHJfdHlwZVGwGApfYWRkcrAUHTYAWbWAQjGAV8awEwpkZWJ1Z0QKgLAUEnByaW50X2xvZzYAWUIJgBIAeyMGsTQCWRIQc2xlZQ==\n', 'cF9tcyKHaDQBWbATF0MDgEIIgIHlWFrXQ8l/WVmwExFEV4CzsBMiX25vdGlmeV9jYWxsYmFja3OwExlWsrATJF9kaXNjb25uX2NhbGxiYWNrc7ATA1a0sBM5sBMDVrATJxQMY29uZmlnEAZtdHUigTg2ggBZsBMFFCRnYXR0Y19leGNoYW5nZV9tdHWwEwk2AVkSFSI8NAFZsBMHFAsQCzYBhPOwGAFQsBgVsBMLsBMVsBMhKgNjAQAAiQhuYW1lGm9uX2Rpc2Nvbm5lY3QSb25fbm90aWZ5Gm9uX3dyaXRlX2RvbmUQdGltZV9vdXRzHkNvbm5lY3RpbmcgdG8gVQ==\n', 'QVJUIFBlcmlwaGVyYWw6hDSyATIYY29ubmVjdF9sZWdvNaCMYCAlJSUlJSUlJycnSigpJy0lAFKwGB5jb25uZWN0aW5nX2xlZ29RsBgVUbAYNVGwGDVRsBgkX2xlZ29fdmFsdWVfaGFuZGxlUbAYN1GwGDewFDc2AFmxgEIwgFfCsBM3RAqAsBQ3NgBZQgiAEgB7IwI0AVkSLyKHaDQBWbATFUMDgEIIgIHlWFrXQ8p/WVlQsBgBsBMVYwEAAIkbcyFDb25uZWN0aW5nIHRvIGEgTEVHTyBTbWFydCBIdWIuLi6BONGEARAUdWFydF93cml0ZRugpDYAsBMxFBZnYQ==\n', 'dHRjX3dyaXRlsrOxtEQEgIFCAYCANgRZsBQIaW5mbyMFsTYCWVFjAQAAiQCiFmNvbm5faGFuZGxlEnJ4X2hhbmRsZRByZXNwb25zZXMOR0FUVEMgV3JpdHRlbiCCLMiEARYUbGVnb193cml0ZQ+gqCQlLjkAskMFgLATFcKwEyVEKoCyUd7TRCOAsBMTFBOysBMFsbNEBICBQgGAgDYEWbAUEyMEsTYCWVFjAQAAiQCiExFzDkdBVFRDIFdyaXR0ZW4ggUjYBRIaZW5hYmxlX25vdGlmeRGgrzkkALATDxQPsbISDHN0cnVjdBQIcGFjaxAEPGiBNgKANgRZs0QHgA==\n', 's7ATIl9ub3RpZnlfY2FsbGJhY2tzsVZRYwAAAIkTFmRlc2NfaGFuZGxlEGNhbGxiYWNrg3QQMhxNaWRpQ29udHJvbGxlchWstYAJjAiFFYsXhQuJC4ULiw6MCAARABcWABYQAxYAGhAQYW1oLW1pZGlRKgJTMwAWABEyARYcd3JpdGVfbWlkaV9tc2eAUoAqA1MzAhYgd3JpdGVfbWlkaV9ub3RlczIDFg5ub3RlX29ugCoBUzMEFhBub3RlX29mZjIFFhxjb250cm9sX2NoYW5nZRACTSoBUzMGFhBjaG9yZF9vboAQAyoCUzMHFhJjaG9yZF9vZmYQAyKHaCoCUw==\n', 'MwgWFHBsYXlfY2hvcmRRYwAJgwjLgAEWABEXoL8mTCU5ALJR3kQMgBIUQkxFSGFuZGxlcjQAsBgWYmxlX2hhbmRsZXJCBYCysBgBsBMBEy0ULmdhdHRzX3JlZ2lzdGVyX3NlcnZpY2VzEhhNSURJX1NFUlZJQ0UqATYBMAEwAbAYFmhhbmRsZV9taWRpsBMJFBJhZHZlcnRpc2USJmFkdmVydGlzaW5nX3BheWxvYWQQCG5hbWWxUYguAlUQEHNlcnZpY2VzEiJNSURJX1NFUlZJQ0VfVVVJRCsBNIQANgFZUWMAAACJBQuCWMgEICkZoMeACycmLSwkJCQAEgBAhQ==\n', 'NAHEEhB0aWNrc19tczQAxbWH8SI/7yKBAO20gFYigQC1IoB/7+20gVaxtIJWsrSDVrO0hFawEwcUDG5vdGlmebSwExU2AllRYwAAAIkGY21kCmRhdGEwCmRhdGExhETxhQEiMxGg3IAMMCYtLDQsKjIAEgBAg4ISAGuxNAH08jQBxRIRNADGtofxIj/vIoEA7bWAViKBALYigH/v7bWBVrNECIAigRC08kIFgCKBALTytYJWEgBrsTQBgEIWgFfHsbdVtYO3gvTyVrK1hLeC9PJWgeVYWtdD5H9ZWbATERQRtbATETYCWVFjAAAAiQpub3RlcxB2ZWxvY2l0eQRvbg==\n', 'DmNoYW5uZWx4OxI7E6DzgAgAsBQdIoEQEhZub3RlX3BhcnNlcrE0AbI2A1lRYwAAAIkIbm90ZQ98uwESPwug/oAIALAUCyKBABILsTQBsjYDWVFjAAAAiQsLZDsSPwuwCYAIALAUCyKBMLGyNgNZUWMAAACJDmNvbnRyb2wAooE8wAUXEGNob3JkX29uB7AUgAkpLAABEg8lATQBJwGxIAQBEhhDSE9SRF9TVFlMRVOzVTQBxLAUJbSyNgJZUWMAAQCJCGJhc2UTCnN0eWxlbEoOFDxsaXN0Y29tcD4PsB4AKwCxX0sKAMIlALLyLxRC839jAAAABQAFgVDQhAEVEg==\n', 'Y2hvcmRfb2ZmA7AiYCksAAESESUBNAEnAbEgBAESEbNVNAHEsBQRtLIQI1A2ggJZUWMAAQCJExMTbEoOExGwJgArALFfSwoAwiUAsvIvFELzf2MAAAAFAAWCAMCEARgUcGxheV9jaG9yZAOwKoAKLCssALAUF7EigGSyNgNZEhBzbGVlcF9tc7OH9Ir2NAFZsBQZsSKAZLI2A1kSA7OD9Ir2NAFZUWMAAACJEQ8QZHVyYXRpb26COAgoFkJsZVVBUlRCYXNlD7w7YCBEaSCFB2VgiQ6FFAARABcWABYQAxYAGooWGFJFQURTX1BFUl9NU1IqAVMzABYAETIBFgxfbw==\n', 'bl9yeDICFgA7fyoBUzMDFgB9MgQWAH8yBRYSd3JpdGVsaW5lUWMABmCaARAAEQmwQiUAsbAYHmFkZGl0aXZlX2J1ZmZlciMCsBgWcmVhZF9idWZmZXJRYwEAAIkDYgCBMCIUCQewRiQnTgCxRBqAsBMFRA6AsFcTB7HlWhgBQgWAsbAYAVFjAAAAiQhkYXRhUBEQADsHsE1gABIAa7ATBTQBYwAAAImCCLIBHAB9A7BTYGAqLCIqLQASAGuwEwM0AcKxgNdDBoCxsthEAoCywbATAVGxLgJVw7ATAbFRLgJVsBgBs2MAAACJAm6DMDEqAH8FsGFgIyIjKCcmJykjJA==\n', 'SiIrACMBwYDCQjyAsBQAfYE2AcOzIwLZRAaAQjGAQieAsyMD2UQagLAUGGlzX2Nvbm5lY3RlZDYAQwOAQhuAsoHlwhIbmTQBWUIGgIDCsbPlwbIiMtdDvX+xFAxkZWNvZGUQBlVURjYBYwMAAIliAGIBCmIAYCoQFQuwdWAAsBQApLEQAAPyNgFZUWMAAACJEYF0GB0cVUFSVFBlcmlwaGVyYWwFvHyADI8eZWUgAAARABcWABYQAxYAGhAKcm9ib3RRUioDU7AhAAEWABEyARYRMgIWHF9vbl9kaXNjb25uZWN0MgMWAKSwYwAEhkThhQEoABEJsIktJSYmRSpzMg==\n', 'iAl0eTEAEgCaJQCxFQARtDYBWbKxGAhuYW1ls1HeRAaAEhRCTEVIYW5kbGVyNADDs7EYFmJsZV9oYW5kbGVysRMBEwhfYmxlFC5nYXR0c19yZWdpc3Rlcl9zZXJ2aWNlcxIaX1VBUlRfU0VSVklDRSoBNgEwATACsRgUX2hhbmRsZV90eLEYFF9oYW5kbGVfcnixEwsUEG9uX3dyaXRlsRMFsRMtNgJZsRMXsRhIYmxlX2hhbmRsZXJfY2VudHJhbF9kaXNjb25uX2NhbGxiYWNrsRMLExMUIGdhdHRzX3NldF9idWZmZXKxEw0igTg2AlmxEwcTBxQWZ2F0dHNfdw==\n', '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\n'), 'b54278ed8e281db5a95705091deb315cbb506c8f00410ad92035cdc76dd18773'), ('btbricks/ctrl_plus.mpy', ('TQUCHyCBIBgMAAcqYnRicmlja3MvY3RybF9wbHVzLnB5cACBEApCdEh1YioBGwpidGh1YhwDFgFZVDIAEBBTbWFydEh1YhEDNAMWA1FjAAFgABABB2wgYAARABcWABYQAxYAGlFjAAA=\n',), 'd817d6ba545173556666448432993add82b7f57add1186c7ef7efb8b31091468'), ('__init__.mpy', ('TQUCHyAkAAoABxZfX2luaXRfXy5weQBRYwAA\n',), '502afc685e8e783f569497b07304234d4d9e043a75c611b9a5b040247b3616ca'), ('bt.mpy', ('TQUCHyCFPHgaAAcKYnQucHlAHx8fH3KADgCBEBRCTEVIYW5kbGVyEBZVQVJUQ2VudHJhbBAcVUFSVFBlcmlwaGVyYWwQFFJDUmVjZWl2ZXIQGlJDVHJhbnNtaXR0ZXIQHE1pZGlDb250cm9sbGVyEBZSX1NUSUNLX0hPUhAWUl9TVElDS19WRVIQFkxfU1RJQ0tfSE9SEBZMX1NUSUNLX1ZFUhAOQlVUVE9OUxASTF9UUklHR0VSEBJSX1RSSUdHRVIQEFNFVFRJTkcxEBBTRVRUSU5HMioPGxBidGJyaWNrcxwfFgEcHxYBHB8WARwfFgEcHxYBHB8WARwfFgEcHw==\n', 'FgEcHxYBHB8WARwfFgEcHxYBHB8WARwfFgEcHxYBWYEQGENIT1JEX1NUWUxFUyoBGxZidGJyaWNrcy5idBwDFgFZUWMAAA==\n'), '54fdefb7944bf31fee3611b692c5b1268880d14f2cd33bd3336e8a67dfac9159'), ('uartremote.mpy', ('TQUCHyCCOCwSAAcadWFydHJlbW90ZS5weSAjXFQASBMAgRAUU2VyaWFsVGFsayoBGx5zZXJpYWx0YWxrLmF1dG8cAxYBWUodAFcRACbfRBSAWYAQASoBGwMcAxYBWUoBAF1UMgAQFFVhcnRSZW1vdGURAzQDFgNRYwABfAgPAQeMBwAAEQAXFgAWEAMWABqwIAABFgARsGMAAXC6gMBADgARA4AIABIAmiUAsRUAEbKzNwBZUWMAAAAFAIk=\n',), '4769ee4a635bfdef703965bd1d50505b7206b9243c73dc24d63fcaa1557e4a31'), ('ctrl_plus.mpy', ('TQUCHyBoCAwABxhjdHJsX3BsdXMucHlAAIEQEFNtYXJ0SHViKgEbEGJ0YnJpY2tzHAMWAVlRYwAA\n',), '0af8cd48e7c0eac5ed3baf174ce60fd82b3a9c0221ad1970b9eb82dc4fb19617'), ('helpers.mpy', ('TQUCHyCDGBAaAAcUaGVscGVycy5weUA5MFCOEIUPAIEQCHdhaXQQCFBvcnQqAhsQcHlicmlja3McBRYBHAUWAVmBECBVbHRyYXNvbmljU2Vuc29yKgEbBxwDFiRQQlVsdHJhc29uaWNTZW5zb3JZgRAKTW90b3IqARsHHAMWDlBCTW90b3JZIv8cIoBkKgJTMwAWEmNsYW1wX2ludDIBFgpzY2FsZVIqAVMzAhYUd2FpdF91bnRpbFFjAAOBALOAARIFFYAHgAwAEgZtYXgSBm1pbhIAhrA0AbI0ArE0AmMAAAJuCmZsb29yDmNlaWxpbmeBKDMSEQ2AF4ALABIKZg==\n', 'bG9hdLCxgFXzNAGxgVWxgFXz97KBVbKAVfP0soBV8mMAAAZ2YWwGc3JjBmRzdIEEmgEUGQuAJoAHIwBCB4ASJ4o0AVmwNACx2UTxf1FjAAAIZnVuYxJjb25kaXRpb24=\n'), 'c349f931cc2baf94e9b9a0c6ff9ec586c969af75bc08d3e845954bdf690d1e9c'), ('serialtalk', 'dir', ''), ('serialtalk/__init__.mpy', ('TQUCHyCCTAgiAAcsc2VyaWFsdGFsay9fX2luaXRfXy5weSCACyYlJSYmJYUHUAAQCjEuMC4wFhZfX3ZlcnNpb25fXyMAFhRfX2F1dGhvcl9fIwEWGl9fY29weXJpZ2h0X18QBk1JVBYWX19saWNlbnNlX18QFFByb2R1Y3Rpb24WFF9fc3RhdHVzX18jAhYSX19lbWFpbF9fIwMWDl9fdXJsX1+BEBRTZXJpYWxUYWxrKgEbFHNlcmlhbHRhbGscAxYBWRABKwEWDl9fYWxsX19RYwQAcxdBbnRvbiBWYW5ob3Vja2UsIFN0ZTdhbnMpQ29weXJpZ2h0IDIwMjMtMg==\n', 'MDI1LCBBbnRvbnNNaW5kc3Rvcm1zLmNvbXMaYW50b25AYW50b25zbWluZHN0b3Jtcy5jb21zJWh0dHBzOi8vZ2l0aHViLmNvbS9hbnRvbnZoL1NlcmlhbFRhbGs=\n'), 'f9266709e3644f06dacc3fd233c37500c23268c92ffea41b48afbf8449eb912c'), ('serialtalk/mshub.mpy', ('TQUCHyCBWBAOAAcmc2VyaWFsdGFsay9tc2h1Yi5weTBQAIAQEHNsZWVwX21zKgEbCnV0aW1lHAMWAVmAEAhwb3J0KgEbBmh1YhwDFgFZVDIAEBZNU0h1YlNlcmlhbDQCFgFRYwABghgQHgELbCBEcIAKhQeJCwARABcWABYQAxYAGooWGFJFQURTX1BFUl9NUxACRiKHhACAKgNTMwAWABEyARYAO4EqAVMzAhYAfTIDFgCkUWMABINAuIVBHgARB4AIJSktUSUrKSsAsrAYEGJhdWRyYXRlEgBANACwGAhidWZmEgCesTQBEgCX2UQRgBIAUBAKcG9ydC6x8jQBsA==\n', 'GAh1YXJ0QgWAsbAYAbATARQIbW9kZYE2AVkSFyKCLDQBWbATBRQIYmF1ZLI2AVmwEwMUBnB3bbM2AVlRYwAAAIkZEQpwb3dlcoFoIRYAOxWAFCArKi4AsBMLFAB9gTYBwbEjAdlEA4BCDoCwVxMVseVaGAFC3X8SAGuwEwE0AWMBAACJYgCDTLoBHAB9BYAbJy4uKlA6KQCwEwNDDoCwEwUUAH2xNgHCQkuAEgBrsBMDNAGx2EQagLATAVGxLgJVwrATAbFRLgJVsBgBQiOAsBMDFAB9sRIAa7ATAzQB8zYBsBMB8sISAEA0ALAYAbJjAAAAiQJugiQ6GACkB4AmIg==\n', 'IzAnMgCgwkIegLATBxQApLFRsi4CVTYBWRIThTQBWbGyUS4CVcESAGuxNAGy2EPXf7ATAxQApLE2AVlRYwAAAIkIZGF0YQ==\n'), 'e2cd012a22b8700b2d5a40c93f9b66032f0931203db95dbcb446c9fa0218d59c'), ('serialtalk/serialtalk.mpy', ('TQUCHyCEECQmAAcwc2VyaWFsdGFsay9zZXJpYWx0YWxrLnB5QCUlJiZGSCNUUGkgbkAAIwAWFF9fYXV0aG9yX18jARYaX19jb3B5cmlnaHRfXxAGR1BMFhZfX2xpY2Vuc2VfXxAUMjAyMzA4MzEwMBYWX192ZXJzaW9uX18QFFByb2R1Y3Rpb24WFF9fc3RhdHVzX1+AURsMc3RydWN0FgFIEwCAEBBzbGVlcF9tcyoBGwp1dGltZRwDFgFZShoAWYAQCnNsZWVwKgEbCHRpbWUcAxYBWTICFgVKAQBdVDIDEB5TZXJpYWxUYWxrRXJyb3IRACQ0AxYBVDIEEBRTZQ==\n', 'cmlhbFRhbGs0AhYBUWMCA3MXQW50b24gVmFuaG91Y2tlLCBTdGU3YW5zJENvcHlyaWdodCAyMDIzLCBBbnRvbnNNaW5kc3Rvcm1zLmNvbVgZDgUfgBAAEgmwIodo9zQBWVFjAAAEbXOBEBgPCweMFAAAEQAXFgAWEAMWABojACoBU7AhAQEWABGwYwEBcyFBbiBlcnJvciBvY2N1cmVkIHdpdGggcmVtb3RlIHVhcnRkqwEOABEDgBUAEgCaJQCxFQARsjYBWVFjAAAABQCJDm1lc3NhZ2WJVBiCAg0FjBmADYwYhQdlQGUgZUBlQGVlIIULZSCME4omiiFlhQhlIA==\n', 'iR+JHo0SjQ6FG3FgcSBlIIUKhQmFEIpEhQ0AEQAXFgAWEAMWABoii1xQKgJTMwAWABEyARYIaW5mbzICFghlY2hvMgMWEHJhd19lY2hvMgQWJmVuYWJsZV9yZXBsX2xvY2FsbHkyBRYoZGlzYWJsZV9yZXBsX2xvY2FsbHkyBhYgZ2V0X251bV9jb21tYW5kczIHFh5nZXRfbnRoX2NvbW1hbmQyCBYmZ2V0X3JlbW90ZV9jb21tYW5kczIJFhZnZXRfdmVyc2lvbhAAAVEqAlMzChYWYWRkX2NvbW1hbmQRAJQyCzQBFgxlbmNvZGURAJQyDDQBFgxkZWNvZGUyDQ==\n', 'FgA7Mg4WEHJlYWRfYWxsMg8WCmZsdXNogSoBUzMQFhRmb3JjZV9yZWFkUCoBUzMRFh5yZWNlaXZlX2NvbW1hbmRTLABSEAViMxIWGHNlbmRfY29tbWFuZFMsAFAQCHdhaXRiMxMWCGNhbGwyFBYacmVwbHlfY29tbWFuZBAAARAEb2sQAIIqA1MzFRYMYWNrX29rEAABEAxub3Qgb2sQAIIqA1MzFhYOYWNrX2VycjIXFhhwcm9jZXNzX3VhcnQyGBYOcHJvY2VzczIZFghsb29wMhoWGnJlcGxfYWN0aXZhdGVSUioCUzMbFhByZXBsX3J1bjIcFgxtb2R1bGUyHQ==\n', 'FhRhZGRfbW9kdWxlUWMAHocs0IRBLgARMHNlcmlhbHRhbGsvc2VyaWFsdGFsay5weYAoJSUlJSYmJmcxMTUyMjU1dQCysBgOdGltZW91dLOwGApkZWJ1Z1CwGCRsb2NhbF9yZXBsX2VuYWJsZWSxsBgMc2VyaWFsLACwGBBjb21tYW5kcywAsBgeY29tbWFuZF9mb3JtYXRzKwCwGBpjb21tYW5kX2FycmF5EhZfX3ZlcnNpb25fX7AYDnZlcnNpb26wFD+wEyZlbmFibGVfcmVwbF9sb2NhbGx5EAhuYW1lIwQ2ggFZsBQFsBMoZGlzYWJsZV9yZXBsX2xvY2FsbA==\n', 'eRAFIwU2ggFZsBQFsBMIZWNobxAAghAFEAM2ggJZsBQFsBMQcmF3X2VjaG8QBxAQcmF3IGVjaG82ggFZsBQHsBMlEAcQAzaCAVmwFAWwEyBnZXRfbnVtX2NvbW1hbmRzEACCEAcQAzaCAlmwFAWwEx5nZXRfbnRoX2NvbW1hbmQQAIIQBxADNoICWbAUBbATFmdldF92ZXJzaW9uEACCEAcQAzaCAlmwFApmbHVzaDYAWVFjAgAAiRpzZXJpYWxfZGV2aWNlKytzC2VuYWJsZSByZXBscwxkaXNhYmxlIHJlcGyBWKGAgEAUCGluZm8vgD8nLEsAsBMFRB6AEgBhsQ==\n', 'EgCdNAJEC4ASAHuxUzUAWUIHgBIAe7E0AVlRYwAAAIloqYCAQBAdBYBHKwCwFAcQCmVjaG86sTYCWbFjAAAAiVwqEB8HgEsrALAUBxAScmF3IGVjaG86sTYCWbFjAAAAiQJzgSwZEicJgE8lLwBSsBg1IwESAEywEzU0Ad1ECoCwEwEUFmVuYWJsZV9yZXBsNgBZUWMBAACJcwtlbmFibGVfcmVwbIEsGRItCYBUJS8AULAYCSMBEgBMsBMJNAHdRAqAsBMBFBhkaXNhYmxlX3JlcGw2AFlRYwEAAIlzDGRpc2FibGVfcmVwbEwRDisJgFkAEgBrsBM1NAFjAAAAiQ==\n', 'gQQiEC0FgFwuALESAGuwEwU0AddEB4CwEwGxVWNRYwAAAIkCboMAZRwmZ2V0X3JlbW90ZV9jb21tYW5kcweAYCMtIycxVi0AKwDBsBQIY2FsbBANNgEwAsLDSC0As4BCHYBXxLAUAxANEAJCtDYDMALCxbEUADy1NgFZgeVYWtdD3X9ZWUoOAFmwFCEjATYBWUoBAF2xYwEAAIlzF3JlbG9hZCBvciBubyBjb25uZWN0aW9uaBkQMQ2AaysAsBQFsBM7NgFZsBMBYwAAAImCMLCEARw3B4BvgAskMScnKgCzQxGAEgCCsTQBFACREAAENgGBVcOxsBMQY29tbWFuZA==\n', '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\n'), 'd161d7ee44fcdbba095a3f1d0d60a5c0e57bb860fc2553e6c9b5d7943fd2094c'), ('serialtalk/auto.mpy', ('TQUCHyCBRBgOAAckc2VyaWFsdGFsay9hdXRvLnB5MEgAgRAUU2VyaWFsVGFsayoBGxRzZXJpYWx0YWxrHAMWAVmAURsGc3lzFgFUMgAQAxEBNAMWAVFjAAGBBAgTAQdsIGAgAAARABcWABYQAxYAGrAgAAEWABGwYwABi1SCkMBAOgARA4AJRyguNiguNi8uNicuNiguNiguNjAuVgASBRMQcGxhdGZvcm3EtBAOZXNwODI2NtlEJICBEBZFc3A4MjY2VUFSVCoBGwMcA8VZEgCaJQCxFQARtVOzNQBTszcBWUIegbQQCmVzcDMy2UQkgIEQEkVzcDMyVUFSVCoBGw==\n', 'AxwDxlkSAJolALEVABG2U7M1AFOzNwFZQvKAEgsTHGltcGxlbWVudGF0aW9uEwhuYW1lIwLZRCSAgRAQUEJTZXJpYWwqARsQcHlicmlja3McA8dZEgCaJQCxFQARt7KzNQBTszcBWUK/gLQjA9lEJICBEBZNU0h1YlNlcmlhbCoBGwptc2h1YhwDyFkSAJolALEVABG4srM1AFOzNwFZQpSAEAxPcGVuTVa03UQkgIEQGE9wZW5NdlNlcmlhbCoBGwxvcGVubXYcA8lZEgCaJQCxFQARuVOzNQBTszcBWUJogLQQDE1haXhQedlEJICBEBRLMjEwU2VyaWFsKgEbCA==\n', 'azIxMBwDylkSAJolALEVABG6U7M1AFOzNwFZQjyAEhkTGRMZEA5jcHl0aG9u2UQkgIEQElB5M1NlcmlhbCoBGwZweTMcA8tZEgCaJQCxFQARu1OzNQBTszcBWUIIgBIAMiMENAFlUWMDAAAFAIlzFHB5YnJpY2tzLW1pY3JvcHl0aG9ucxhMRUdPIExlYXJuaW5nIFN5c3RlbSBIdWJzFlBsYXRmb3JtIG5vdCBzdXBwb3J0ZWQ=\n'), 'f4a270eba1c25f4eb75e4ca43ac15e1f4d75785bf06a92a83cdedde17e1c9551'), ('motor_sync.mpy', ('TQUCHyCEeCAoAAcabW90b3Jfc3luYy5weSAoHyNwjmCKCm9AjwuLXACAURsIbWF0aBYBgBAQc2xlZXBfbXMQEHRpY2tzX21zEBR0aWNrc19kaWZmKgMbCnV0aW1lHAcWARwHFgEcBxYBWYEQCk1vdG9yKgEbEHB5YnJpY2tzHAMWDlBCTW90b3JZUoFSgCMAKgVTMwEWKGxpbmVhcl9pbnRlcnBvbGF0aW9ugIAqAlMzAhYMbGluZWFyIoBkIodogCoDUzMDFhJzaW5lX3dhdmUigGQih2iAKgNTMwQWFGJsb2NrX3dhdmVUMgUQEEFNSFRpbWVyNAIWAVQyBhASTQ==\n', 'ZWNoYW5pc200AhYBUWMBBmYDMC4whFySlYABsICAAQsdgAeAFY4HKCdGJ0NiayMkb3KLLAAAAQIEBQkKCyUAFACPEABpMgg2ggBZJQCAVYBVJwklAH9VgFXGtiUJ8ycKJQqA2UQFgDIJx7djsrkgCgIlADQBJwCAJwuzRA+AJQB/VYFVJQCAVYFV8ycLEgZtaW4SBm1heCMGJQU0AiMHNAInBbCxtLW5ursgCwfIuGMCBAxwb2ludHMQd3JhcHBpbmcKc2NhbGUYYWNjdW11bGF0aW9uFnRpbWVfb2Zmc2V0EnNtb290aGluZ2YDMC4wZgMxLjA0EQ4QPGxhbWJkYQ==\n', 'PhOAHACwgFVjAAAKcG9pbnQsCQ4aemVyb19mdW5jdGlvbgWAKQCAYwAAAniBEGMOFDxsaXN0Y29tcD4FgC0AKwCyX0sTADACw8SzJQHzJQC09CoCLxRC6n9jAAAABQAFAAWIQOCQREIQZnVuY3Rpb24DgDkoSSIoSGNHRSsnK2clZUAtayoqJioleiM3VAAQFbjdRAmAuBABVclCAoCByRATuN1ECIC4JQJVykIDgCUCyrclBLry5sclAUMkgLclAIBVgFXaRAeAJQCAVYFVY7clAH9VgFXbRAeAJQB/VYFVY7clBfjLtyUF9swSAGslADQBgEJ2gFfNuyUAvVWAVQ==\n', '10RngCUAvYHzVTACzs8lAL1VMAImECYRJBG/8yYSu77zJBC+8/cmEyUDRBqAgRI5FAZjb3MSAxMEcGkkE/Q2AfOC9yYUQgOAgCYUvyUDJBT0JBL08oElA/MkE/QkEvTyJhW8JQb0JBW59PJjgeVYWtdDhH9ZWYBjAAAABQAFAAUABQAFAAUABRGBCLOAAZQBLw+AZ2BJRgAABLHRJQD0svInBLC0IAMCw7NjAAEMZmFjdG9yFHRpbWVfZGVsYXkMb2Zmc2V0TKuAQA4XCYBtALIlAPQlAfJjAAAABQAFDWSzgQGRATUFgHFHAAABArCxsiADA8OzYwABEmFtcGxpdA==\n', 'dWRlDHBlcmlvZA2BHMCEQA4NCYByABIXFAZzaW6zJQLzJQH3gvQSAxMZ9DYBJQD0YwAAAAUABQAFE2izgQGTATsLgHZnYAAAAQKwsbIgAwPDs2MAARMTE4FUyIRAFBMJgHclOUMAsyUB+MUlArVXW9dGC4AlAiUBgvby10ICgFpZRAOAJQBjJQDRY1FjAAAABQAFAAUKdGlja3OEcAg6PQWMgYAQjAiKDG1AZUBlZUBlZWVqQI0IaiAAEQAXFgAWEAMWABoih2iAKgJTMwAWABEREHByb3BlcnR5MgE0ARYIdGltZREBEwxzZXR0ZXIyAjQBFgMyAxYKcGF1c2UyBA==\n', 'FgCWMgUWAJIyBhYMcmVzdW1lMgcWCnJlc2V0MggWAIMRCzIJNAEWCHJhdGURARMNMgo0ARYDEQUyCzQBFhhhY2NlbGVyYXRpb24RARMHMgw0ARYDUWMADYF0o4ABGAARE4CSJSUlKSoAUrAYDnJ1bm5pbmeAsBgUcGF1c2VfdGltZVCwGCZyZXNldF9hdF9uZXh0X3N0YXJ0sSKHaPewGBxfX3NwZWVkX2ZhY3RvcrIivYRA97AYHF9fYWNjZWxfZmFjdG9yEhB0aWNrc19tczQAsBgUc3RhcnRfdGltZVFjAAAAiRcTghgpGh8VgJsnLyMoJ2gAsBMVRCmAEhR0aQ==\n', 'Y2tzX2RpZmYSDzQAsBMPNALBEgBesBMRsYL59LATE7H08rATF/I0AWOwEwFjUWMAAACJaBoQERGApyUAsbAYBRINNACwGA1RYwAAAIkOc2V0dGluZ4EEERIjC4CrJygAsBMVRA2AsBMPsBgPULAYBVFjAAAAiUgRDgCWB4CwALAUCTYAWVFjAAAAiYEIERIAkgOAsycpALATBUMOgBIPNACwGA9SsBgFUWMAAACJSBEOIwmAuACwFACSNgBZUWMAAACJQBEOIwOAuwCAsBgRUWMAAACJWBkOAIMDgL4AsFcTHX/nWhgBUWMAAACJgSQhEAEDgMIvABIbEhE0ALATEQ==\n', 'NALBsBMbsfSwExvyIodo9GMAAACJgWgiFg0NgMctJycpALATBbEih2j33EQegLATFUQHgLAUFzYAWbEih2j3sBgFsBQAkjYAWVFjAAAAiRtMEQ4dC4DPALATDyK9hED0YwAAAImCJCIYBQWA0y4nJywqALATBbEivYRA99xEK4CwEw1EB4CwFA02AFmwEw8ih2j3sBgPsSK9hED3sBgJsBQAkjYAWVFjAAAAiQ+CMBAiEk1lY2hhbmlzbQ+M3YAXiwmKCGVgjB8AEQAXFgAWEAMWABpSIwAqAlMzARYAESsAKgFTMwIWLnJlbGF0aXZlX3Bvc2l0aW9uX3Jlc2V0Mg==\n', 'AxYidXBkYXRlX21vdG9yX3B3bXOAlCsAKgNTMwQWJnNob3J0ZXN0X3BhdGhfcmVzZXQyBRYAllFjAQVmAzEuMoE8sYQBFgARCYD3KSUlJAAyBbE0AbAYDG1vdG9yc7KwGB5tb3Rvcl9mdW5jdGlvbnO0sBgES3CzRAeAsBQNNgBZUWMAAQCJBwcUcmVzZXRfemVybwmBOEEOFDxsaXN0Y29tcD4NgPcAKwCwX0sdAMESAJ6xNAESDlBCTW90b3LZRASAsUIGgBIBsTQBLxRC4H9jAAAABYIIygEWDwWA/iROMiQAsUMOgIErARIAa7ATDzQB9MESAKWwEwGxNAJfSw==\n', 'EgAwAsLDs0QHgLIUFnJlc2V0X2FuZ2xlNgBZQut/UWMAAACJHm1vdG9yc190b19yZXNldIF48oBAEhcJkAc1JwASAKWwEwmwExU0Al9LHgAwAsPEtLFTsjUBxbMUGHRyYWNrX3RhcmdldLUQCGdhaW6wExc2ggFZQt9/UWMAAACJCnRpY2tzhiyIlQEyHQ+QDSRuaDckJWcgKiwqLGtIICMpMQCzQw6AgSsBEgBrsBMPNAH0w7AUF7M2AVkSAKWwEwOwExGzNANfS0wAMAPExca2RECAtbE0Ace0FAphbmdsZTYAyLe48yKBOdhEDIC0FBm4IoJo8jYBWbe48yL+Rw==\n', '10QMgLQUAbgigmjzNgFZtBQVtzYBWUKxfxIQc2xlZXBfbXMiMjQBWSsAybATC19LEgDEubQTDmNvbnRyb2wUCGRvbmU2ACsB5clC638SADu5NAFDA4BCA4BC1H9RYwAAAIkXCnNwZWVkIXw5EACWGZArKQCwEw1fSwsAwbEUAJY2AFlC8n9RYwAAAIk=\n'), '31e8382fd558accabeb2e873d8631f7e3927eb7ab1b1ca3303a39341c3d5b8be'))
error = False
try:
mkdir('/projects/mpy_robot_tools')
except:
pass
for file_name, code, hash_gen in encoded:
package_name = file_name.split(".")[0].split("/")[0]
target_loc = '/projects/mpy_robot_tools/' + file_name
if code == "dir":
try:
mkdir(target_loc)
except:
pass
# Directory probably exists
else:
try:
with open(target_loc, 'wb') as f:
for chunk in code:
f.write(a2b_base64(chunk))
del code
gc.collect()
print(target_loc + ' written ok.')
except Exception as e:
print(e, "While writing", file_name)
error = True
try:
if VERBOSE:
print('Finished writing ' + file_name + ', Checking hash.')
result = open(target_loc, 'rb')
m = sha256()
while 1:
chunk = result.read(256)
if not chunk: break
m.update(chunk)
hash = m.digest()
hash_check = hexlify(hash).decode()
del(result)
gc.collect()
except Exception as e:
print(e, "While opening file for hash check.")
if hash_check != hash_gen:
print('Failed hash of ' + file_name + ': ' + hash_check)
error = True
else:
if VERBOSE:
print('Matching hash: ', hash_gen)
del(encoded)
gc.collect()
if not error:
print('Library written successfully. Enjoy!')
else:
print('Failure in writing library!')