Coder Social home page Coder Social logo

anof-cyber / pycript Goto Github PK

View Code? Open in Web Editor NEW
179.0 6.0 25.0 1.22 MB

Burp Suite extension for bypassing client-side encryption for pentesting and bug bounty

Home Page: https://pycript.souravkalal.tech/

License: MIT License

Python 98.98% HTML 1.02%
application-security burp-extensions burp-plugin burpsuite burpsuite-extender cybersecurity encryption infosec penetration-testing pentesting

pycript's Introduction

PyCript

Pycript is a Burp Suite extension that enables users to encrypt and decrypt requests and response for manual and automated application penetration testing. It also allows users to create custom encryption and decryption logic using JavaScript, Python and Java, allowing for a tailored encryption/decryption process for specific needs.

Deploy GitHub GitHub closed issues GitHub Release Date GitHub release (latest by date including pre-releases) GitHub last commit

Support

Sponsor Anof-cyber

Documentation

70686099-3855f780-1c79-11ea-8141-899e39459da2

Reference

Requirements

  • Node JS / Python / Java
  • Burp Suite with Jython

Features

  • Encrypt & Decrypt the Selected Strings from Request Response
  • View and Modify the encrypted request in plain text
  • Decrypt Multiple Requests
  • Perform Burp Scanner, SQL Map, Intruder Bruteforce or any Automation in Plain Text
  • Auto Encrpyt the request on the fly
  • Complete freedom for encryption and decryption logic
  • Ability to handle encryption and decryption even with Key and IV in Request Header or Body

Roadmap

  • Response Encryption & Decryption
  • Support for GET Paramters
  • Allowing Edit Headers for Request Type Custom Request
  • Supporting multiple languages for encryption and decryption

Demo Code

Screenshots

PyCript

PyCript

PyCript

PyCript

PyCript

PyCript

pycript's People

Contributors

anof-cyber avatar portswiggersupport avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pycript's Issues

not work for burpsuite pro 2023.10.3.1

java.lang.NullPointerException: Cannot invoke "burp.Zugg.Zlk()" because "" is null
at burp.Zkt9.getUrl(Unknown Source)
at burp.Zcva.getUrl(Unknown Source)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.python.core.PyReflectedFunction.call(PyReflectedFunction.java:190)
at org.python.core.PyReflectedFunction.call(PyReflectedFunction.java:208)
at org.python.core.PyObject.call(PyObject.java:461)
at org.python.core.PyObject.call(PyObject.java:465)
at org.python.core.PyMethod.call(PyMethod.java:126)
at pycript.Requesttab$py.isEnabled$5(C:\Users\Administrator\AppData\Roaming\BurpSuite\bapps\4826bfa0c67d41a8b518139186693131\pycript\Requesttab.py:44)
at pycript.Requesttab$py.call_function(C:\Users\Administrator\AppData\Roaming\BurpSuite\bapps\4826bfa0c67d41a8b518139186693131\pycript\Requesttab.py)
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyBaseCode.call(PyBaseCode.java:306)
at org.python.core.PyBaseCode.call(PyBaseCode.java:197)
at org.python.core.PyFunction.call(PyFunction.java:485)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237)
at org.python.core.PyMethod.call(PyMethod.java:228)
at org.python.core.PyMethod.call(PyMethod.java:218)
at org.python.core.PyMethod.call(PyMethod.java:213)
at org.python.core.PyObject._jcallexc(PyObject.java:3565)
at org.python.core.PyObject._jcall(PyObject.java:3598)
at org.python.proxies.pycript.Requesttab$CriptInputTab$2.isEnabled(Unknown Source)
at burp.Zkpt.isEnabledFor(Unknown Source)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at burp.Zjl4.invoke(Unknown Source)
at jdk.proxy2/jdk.proxy2.$Proxy26.isEnabledFor(Unknown Source)
at burp.Zcto.Zh(Unknown Source)
at burp.Zm9h.ZQ(Unknown Source)
at burp.Zv95.lambda$updateVisiblePanes$1(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at burp.Zj3m.ZX(Unknown Source)
at burp.Zj3m.Zp(Unknown Source)
at burp.Zv95.Zf(Unknown Source)
at burp.Zv95.Zv(Unknown Source)
at burp.Zwj.ZU(Unknown Source)
at burp.Zwj.lambda$setMessage$3(Unknown Source)
at burp.Zjd4.ZK(Unknown Source)
at burp.Zwj.Ze(Unknown Source)
at burp.Zwj.Zh(Unknown Source)
at burp.Zwj.Ze(Unknown Source)
at burp.Zt47.setMessage(Unknown Source)
at burp.Ztwf.setMessage(Unknown Source)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.python.core.PyReflectedFunction.call(PyReflectedFunction.java:190)
at org.python.core.PyReflectedFunction.call(PyReflectedFunction.java:208)
at org.python.core.PyObject.call(PyObject.java:494)
at org.python.core.PyObject.call(PyObject.java:498)
at org.python.core.PyMethod.call(PyMethod.java:156)
at org.python.pycode.pyx5.changeSelection$34(C:\Users\Administrator\AppData\Roaming\BurpSuite\bapps\4826bfa0c67d41a8b518139186693131\pycript.py:1179)
at org.python.pycode.pyx5.call_function(C:\Users\Administrator\AppData\Roaming\BurpSuite\bapps\4826bfa0c67d41a8b518139186693131\pycript.py)
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyBaseCode.call(PyBaseCode.java:306)
at org.python.core.PyBaseCode.call(PyBaseCode.java:197)
at org.python.core.PyFunction.call(PyFunction.java:485)
at org.python.core.PyMethod.instancemethod___call
(PyMethod.java:237)
at org.python.core.PyMethod.call(PyMethod.java:228)
at org.python.core.PyMethod.call(PyMethod.java:218)
at org.python.core.PyMethod.call(PyMethod.java:213)
at org.python.core.PyObject._jcallexc(PyObject.java:3565)
at org.python.core.PyObject._jcall(PyObject.java:3598)
at org.python.proxies.main$Table$5.changeSelection(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(BasicTableUI.java:1142)
at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1065)
at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:288)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6617)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at org.python.proxies.main$Table$5.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Component.java:6385)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at org.python.proxies.main$Table$5.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

commandline execution fail: Filename or extension is too long

when try to encrypt/decrypt a super long data like:

// too long to put all data here
python "H:\Work\python\response_decrypt.py" -d MTA2NEMxMjIwMTJGODA4ODg5QzdFNTY1NzFGQkU1QTUzNUMxQjcyNjU1RkFGNjdCODU4M0UwNENDMzEwREJCQkMxMzIyRkYzNTBFRkFBNUU3NTM5QkUyQzlBM0Y1Nzk2NDI3NUI1NUU5NkQ0MTNGRTAwREUyODI5ODNFMzA1MTVDNkM2MzlDNzM0NTU0REVDRTlENjczOTBDQTMwNUE2OEQ3MDczQjY0MkYyNTNBREE1Q0I0MTM5QjEwOTFDNzAzNjBFRjgyRDA2MkZDRUYwQzU5ODM4MTM3RTk5MTc2MTI2RkU3NzQzMzFFMEQzNTg2MkFFQ0VEMDQwMTQ2QUI5QTVEMjc1Mzk5RDcxNTNEM0JENTMxNDJENDQxMTRGRjMxQkYzN0VENzFBNTgzRUU2MUREMTk0RTM2QjQ0NkE5QzBEMTg4NEM0RDlCMDQ0MTMwMjYwMTY5QTlEREVCNjBFMDYxOTg0QjAwMUYxMkNCMzlDNTU4MkE5QTQwQTdCNDFERTg4RjdFMzJFNDY0NkNBQkZDQkIxMDIyMTJGOTE3OERDMEFCMjk3REYzQTM5RjM2NTdEMjIxRUJDODVERjJEMEYyRDk3OTM5MzFGQzkyRDY1MzAwNjBGOTRFMTg5ODE3MDEwQjI0QkYyMkUxREM0MTM1QzNCOUIwN0Q4MEEyMDlDNjFDNjNDMDdEMjM5OTBDQzdGNTk4NTBFNUYyNTIwQjExMDhEOTU1MzdDQzQzODJCQTg4MTgwRTc2NEMxNDJFN0M3MDE0OThDQzVFRkRFQTQ5RUIzMDg0NzAwNkNDQUMzQjVFRjk3N0VFNzM4ODEyODUyODNCMjJENjU5NjcxQkVDMzAwMDY5N0YwRkIyQTg2OTc5MUU5NUQ0MjFFMjdDOUY5MUJGMEMxN0EzNTM4REU2Nzk3RDkyNUI0MThFRkE0QTczMTYwRkU1OUE1MDg4NUE2NEQ0QkVDNDVGRTE5RjI3MjU3N0U5OUQ1MTBGNjM3QUFFQ0M1NjVBN0I5RDg0NDJGMzUxNDIxQ0UwRjMzRTg5MEY4Q0UyRTQ3NTdBNjMxM0QzRjI5MTEyNTk4ODcwQkNGMzVBMzMyNzdDQjZFRjc3NjdBNEMyMDcwMDYyNEVEODM5NEZDODcyRjI1ODRGMUQ4MzE3NDQzOTVDMTk0NDlGMTJBMUZBODFDMkNBNUFEN0RBMDhDMDFCM0ZGQ0YzMEQ0NzUyMDUxOEQ5MTRCREM4NjdGOTA3MkI5NDA3RTlGQkExRjAxRDJEODM5QjY3RENEOTg4REYyNzg4ODM0NTRBMzg3RjE1OTMxMzZCNDE5ODU1QUVCMjFDMjg0NTE0MTEzRjAzNEU3QUU4Q0EwMThGRkJENkNFNDE4RThBM0ZBMkY2MTEzMDVEOEZEMzcyNTkxOEIwODVDRjIyQURGNzIwNUNEQTJCNzIyMTAzMEEwOTAxNDU4RjhEODVDMjYzMDZGN0QwMTI3MjU0NDcwQjkxQUNEMTIxMURGMDE4MjgzRDcwODk2QkZCNjZGODlBNkJFNDcyNzQzMkU0OUEzRDY0OEMzODA4MTI1RUI4NTU3QTc0QUI4MkY4RDAzQzAxOTU0OEI5Njc2Rjc4M0FFM0U3NDVDREQ3RkI3NUI2OTc1NDY1RjUzRDAzNTc4M0ExNDBERUM3MkM1RDA3OTA1OThFMjM0QTdDQkNFODY1ODRDRTI0OEMxQjA2QjZFQkQzRUUzMDczMjFGQURCOEZFQ0U4MTg2QTFGNDU3NURDNjhGMEVCQUE4MjNEOUI3Q0FBQ0FFQ0JFQzhFMTE5MzdBQUU0MzhGMjE5NTZDMDEzNDk5QTBFNjY4QTM4RTMxNDI2QjJDNkJBQTJERTRCNTcwMUNFRDlDQjEzMkMzQjAzOTFFODlFNkZCQjk2RjE4Q0I1NTQzRkE2ODU4MjUyNTA0MTlENUU2OUZDQ0Q4NjZCQ0I5MUUwQ0Y4MDIzQTBFNzBBOERENEI4OEFCMjBENDUxNUNBMUJDNzkzMzgwNDRGNDkwQTNDOTVEQ0YzN0ZCQUEwQzdDRThCOTNGMTA5NDhEQTVDQjQxMzlCMTA5MUM3MDM2MEVGODJEMDYyRkNFRjZGQzZCOTkyNkE3MDEwNTE5ODUzMkQ0MkVFNDIwOENFRDVBNkY2NEMxQUM3ODE0Qzg1RENBQkQyM0M1Qjg1QjEzMjU5REJDRTY1Nzk3NjRENzg4RjBGMjVFQkZGODFBMjhGNzlGMDc0QkM5NUY5MkM5REI5MDk0NThGOUVGMzIzRTU4MjgzQjRBODNFMTRBNDQ0MTU4NDk1NThCQTE5QzA1QjM1N0NBQTYxNDU0Q0VBNEVFNzE2Q0Q1REY4OUI4MkVEQTg0QTYxODM4NDMyRDQwNUM4NTA2Q0QwMTMwRkI4MDUzOTY3OTVENzk5RjAxREU5QkQyMjE3NDc1ODA1RENFREVEMjZEMTJBRDAzQ0M1OEE2MjdCQjQxOEEyOTY1ODM4NTkxQkFBNDZFRUQ1RUIxQ0JDNjJCRDJEMEE2RjU2RTM3QkMyNDkyRjREMzdFN0JFQTY4Mzc2MkY4MTAzMUI3MTI0MTU2MEQ3QzM5NjgyQjk5NUNGRUVGQ0NENzREQTQ0NTU3RjRCNkUyNTM1QjQwRTFFMDFEMEQ3NjY1Q0JFQTk5NTI4MEY1NDMyMUMwRDQ5OURDOUFFNjhCQTI0RDk0NzlFNDY3QUJGMDNBMzBCMTRFNzUwQTg5M0M0QUM1NjMzQThCNDdGNkJBNzEzMUQ4QzgxQjc1ODM1NzJFMEI2ODE1RjBGRDlCMTFCOUIwOEM0MTU1MTYyRUNDMzA4N0UwMzE2NjExNkQyRDlFMEI1MTg2NDg2NTNBQUY5ODc1QjY0RURBMTY5M0Q0NEY0QTRGM0Y1NjUxQzJBODhFODI3QjQxMzg2MjE4NTc1NDA2NTNDNkFBQTI3NkY0Nzg3MDU4QTE5OTU2NDFBRDFEODc2Rjk1MThBRTI3QzIxQzAzQjJGNzU5MTYxQzAzMDcyOTU1RTNCQ0Y1QkRFNUY1NjgxN0MxMzE3RjJDQTU1OThFNzM3N0Y2MjJGNEY2MzQ2Nzc2NTk2M0Q2Njc4MjFBQkJCRkY3Mjc2MThBODJDQjFBODExNzJBQUEwMEU2NUM3OERFMjI5M0Y1MkYwODFEQzgxRDk2NUY0NEFDMjZCQzFBOTQ5NzZCQ0QxQTc0ODQ0MUNBNEE5Qjg3QjZGMjRDODk3NjRBQTJBOTlENzhFNTcxMjhFREYyNEVEMjQwMTIzRjMyNEJENkVENTJGMUI3RTc1MTA0NTkzRTQyRDQxRkRGMkE5MDY0RjVGNzA0NUZFOUY5NDJGRjM0MUI5QThBMEEyMTY3ODc0MzY4MUZFMEFBRDJEMDJENjYxMTVCNzdCNDRBM0E1NjIxRjJGNzRCRTAzQzIxRjMwODU4RjM3MjBDRTAxRURDRTdGOTlGQTMyMUU1NUE2QjkwRkNGMEE5RjAyMkU5OUM4NkRFMDU0MUY1QzZFM0Y1MDk5RjkwQzZBREIxMDQxNzJDMENGMjJCQzJGMEU4RTY3RTI5MEQxOThDNEQ1NjMzMjQ2NDM2MzY2MEZFQzQ4QzlDOERBNjU2ODM0MjExM0UyMUIxNjJFRUEwMzA2QjM0MkRDOTg1OUEyODI2MzUzNUE3NUQzOTAzODY5RDY1MzAwNjBGOTRFMTg5ODE3MDEwQjI0QkYyMkUxREM0MTM1QzNCOUIwN0Q4MEEyMDlDNjFDNjNDMDdEMjM5OTY5ODQ1NjFFOEI1MUE0NEQ0RDQ5MDRGRjk1M0IxQkREQkRBMzE3MDI0NjYyNDlDNzlCOEE3MjQyNzg3ODdDQ0FEQjIyRUREQ0ZFNEUzQjVCMkJFQ0Q2MENEMzhCNjQzNjEyODUyODNCMjJENjU5NjcxQkVDMzAwMDY5N0YwRkIyMTgxODM3MjI0QzI3N0FGNjZFQ0VERjU4ODg0NTQ5N0ExRDQyRTlFMjI1REExRkU2MjBFMkE3M0E0RjZEODA3OEU5NTM4MjBGNkU5QjgyMjdBRUUyNUM1MTQ4QjQwMDU3NjM3QUFFQ0M1NjVBN0I5RDg0NDJGMzUxNDIxQ0UwRjMwMEM4MUI0Rjk2NDE2ODU3QjE5RUUxNUU2MjBERjM3NTcwQkNGMzVBMzMyNzdDQjZFRjc3NjdBNEMyMDcwMDYyNEVEODM5NEZDODcyRjI1ODRGMUQ4MzE3NDQzOTVDMTk1MERFNzAyQjRGNDdGQTg5OTM3RkExNjE1M0ZFQTJFODg3MjkyRTk0N0NFNTlFMjA3MkQzQkY5Qzg2QUEzQjk3RkEyODdENUYwNkYxQTgwQzI2RUY4ODEwNDYxQzkxMjY5OUFGQUZDMTQzRjk0RDhDMzhDNTQxNzdBQkY5NzE4MUZBRjQ4QUUzODA0MDQ1ODk1QUM0NTBFRjNGMTY2MDgxQjg0NjIwNzMxM0YyQzkzRkY5MTMyNzVGQzJEMzlGMEEwQTQ1RDMzM0RBRjIxNDQwOTczNTIzMzRBRUExNDBFRTQwMzc2QkU0RTg1N0QzMTYwMzVFMTQ1RTRFMTgyMUFEQjg4ODVFMUYzRjg4NUZEMDAwRjdBRkREREVGRTNFNkZENEM0QTZCMzgxRjMyQjdDRkRBMEVDQkFCOThEMkNFRjdGNDUyNDQzNzM1Rjk0MzdEMzI4N0E0RUUyNjdCMzNFMTFDN0RBMEY5MzEyNjFFQ0Q4MEY5NkVDMDEyRDVGMDE2OEVBMDQ1Mjk2NzcxQ0Q0MjIyMTUxQUY4NTE2QTNDRDlCNUE0QjQzRUUyMjEzRDJCNTA4MTNFRUVBQjM5RTgzMzFFOEI5QjUxMEU5MTYzMEM1MjZGRTY1NzdFQTdGQzg2NjVBNEU0QUJGMTY1NThCQTQ2ODVGNjA0N0E1MDA2MDI4MDAwQjA3NDg5QTg4MzAxNzRFREI2RjQ5MjBCMDc4MUE1QTkyNjZDODFFM0QwRUUyMDg5QkUwODY2RkRCODk4QjQzMTYzOTVEMDQ2NkNDNUVCQTM4NjE0QkE4ODk5MkExM0QxODhCOEZGQjVGREJDQTZCQzc4MzE2REU1M0ZFMzc5OTBEMzlDREE0Q0Q1REFCNzNGQjJBMzhDNjE1RkYzNTU1RkI4QUEyMjU1NzMwNjMzQkZBNUQ3MzEyNTM5REU5NDQ5Mjc1RDY2OTQ0MjVFMUZCQjUyQzNCMEQzMjM1Q0JCOEVCMkFGNjI4QjZEOEM4QzQxREMxOEI3M0Y4NzNDRkZEQ0E3OTE0MDU0NjhDQ0ZDQjBFMzEzNjQ2QzczMUVCNzMzQTAxN0Q4REMzN0M3NUU2NEYzMzEzMDJFMjgwRjRDODNDNzk5OEI1Nzg4NUZGNDkwMTJBRENFNjU1MjBFQ0QxNEU5QjgwN0QwREI3NUM0NjUxMEU5OTQ5RDk2ODREQzYyMTRCMTQwNzc0N0M5OUQ4MTg5NUNFRUQyQjFEQTc4MTlCOTY5ODU5NDA2MjZFMENGODA4QjBBRjU1OTU2QkFDREJCRUVDRkU0OTBBRTg0RDQ2ODEwM0ZCRkVBOTc1MEREMzY2RURBQzYzMUIzNTgxQzcxOTNEMTVDMEYwMkUxQTY5MjAzQzc3MTRBMzgzRThGNjc2RUExQkVFQTM4NkQ0N0NGQzA4MjVGQkY1RTc4NjBGRTQzMTQwN0FGRDE1NDZBNDZBREM1NjExQkI0NjE0OTIyN0RBMDlGMURCNzUzNEEyM0ZEOTJBMjQ0Njk0MzEzRDA1RUYzNDMxQzJCQ0E0ODVENzI1RUZFQjBDQkY4MTYwNTBGQUNDMjgyMTEyQTU5NDkxRThCNUM3QzU3RDM0NDc5N0NCQjg5RDQxREFCRUZGMkQ4MUI5MUQyMDMyQjc2MjMxM0VCOEVENjRGQ0JGRDI1MzlCNkJCRUEwMjkyOTNBQ0QxOTA4RjYzMDgyNjQxNjVBQkI5QjFGQkFCNUQxMzZCMkQ0NDhFMzYyRTIxQ0I1OTk0QTIyNTNCOURDOTNGRUMwQkQ3RjI1NUI4NTg1M0EwQjgwQUQ3NUFBQUQxOTg0NkE4RTE3OEY3QkVFRDFEOTE2NEUzQTlCOTdFRDhFMTQwRTI4QzU0RTIwMjZCMkM2QkFBMkRFNEI1NzAxQ0VEOUNCMTMyQzNCMDM5MUU4OUU2RkJCOTZGMThDQjU1NDNGQTY4NTgyNTI1MEUyQzZGRTZBMTEzQjdBQzQyODVDQzc2NzI5RUFBQzcwQTZBNEUyNzc0QzIxRjZBODA0MUY0OEFDRERBRkM4QTMzMDhCOTcwMUMyREMxNzBFQjc2MUQwRjY3NUIyQkE3NURBNUNCNDEzOUIxMDkxQzcwMzYwRUY4MkQwNjJGQ0VGQTlFQUU2M0I0OUQyQTA5RTdCNUU1OUVDMjU5MDIwMjVBMkZCNjQ4MDk2RjdCNzFFQUY3OTM0RTA0MTkyQjFERDMyNTlEQkNFNjU3OTc2NEQ3ODhGMEYyNUVCRkY4MUEyREJCOTYxRUU4Mjk2MzY3REREQkZEQzdDNEQ3RUM3REY5QUUzN0I0NzAwNkUxNUJGNjAxMEQ5QUMzQkUxRjFEQzVCMzU3Q0FBNjE0NTRDRUE0RUU3MTZDRDVERjg5QjgyRURBODRBNjE4Mzg0MzJENDA1Qzg1MDZDRDAxMzBGQjg5OEI1N0MyMUZGRDBEM0U1Q0RCRDRGMjRERjhFODI3NEFDRkNGRDhGRTY4OEVBMDNCMzg5QTE3NzVDMUI0QTA4QzQ1QTc0MEE5M0FDRDJBNEJBQjdEQzA0OEYwQzNBODZBQzFGNkFFODc3MkU1MTg2RUIyMEIwRTUwMzVGMzY2ODY2NTgzODg5MDRCODZGNDZGMEYyRjg4RENDNDFEREUxNzcyNTY2MDI3NzQ0OTdBMkJCQzdDRUI0MkNEQkVERjU5RjUxNjJFQjYwMEMyMzMwNDZERTBCMDI4RDk4QjdFODYzMDZGN0QwMTI3MjU0NDcwQjkxQUNEMTIxMURGMDE4NkE4RjI2OUJDOTFGOEVGRkVDRTYwMDk1QTVBQjU3QzczQjRCMzNEMjU0Q0FBMTYxOTU3NTM4QjZFQzE4MTFDMURDQzc5MTQwMUVBQjJCMzY4MEI4RTJFQUU1MDdBM0M0RTYxQ0JDMTY5M0E2NENGMDZCRTBCMjJBRkE5RUE0NjYwMEI3NDIxQzdBMDFBQkY0RTRFMEYzMzIxMDNFRTIyNzE4NkE4QzRCNkZGMzY5MjAzMEZDMUNBMUUwOUFCODY4RDEyMzRCMEY1MzlGRUM4NDRFNERDNjRFMUY3ODcyQTgxOEI5Mzk4OTFGODVBRkM5QTg2NzNDMEEwQTE5MUZBQTg0RkIwRDBFMkZDMzhCQTZGRkY0MzA4QzdCMTMwRjc5ODVBRjJBMzcwMDgzMkRFQzA1NjEyRDRGNUU0MUQ1NTZGRTU2RjgzQzU0RTUxRjQzM0Y2RDI0QTA1NkRDQzRFNDdCNzkyMTNFQURDRjg4MkEzQjY1REU0MzJGQkFGOEVDMTkwNTBDRkQzNTBDRUU1MTJDRUMwRDI1OTBGRTA1MjcwQUI5MTk3OEFBMzA3OEQyMEREMzc2Q0I5NTY0NTZFRUE3MUMwNTFENDFERUZCQkM4MkE2RTBCMzc1RTc2QTczMEMwQUFBOEEyMDU2MUM0RUM4QUI5QjMzQjgxQ0Q4NzBBRTg3MDc0NTUxNzdEQTE0MEFFMzFEQjcyNjBCOEQxQzI3OTU2NEU5REFGOTVFRTQxNUQ3NjY0RkYxRUVFNTRCRDBBQUVCMTA3RjQ5OTVFMTY3MDBGQjEyQ0U0MDc2RUE2OEVBMDQ1Mjk2NzcxQ0Q0MjIyMTUxQUY4NTE2QTNDRDlCNUE0QjQzRUUyMjEzRDJCNTA4MTNFRUVBQjM5RTgzRTBCQ0QxOUY2RjgxODAzRTU2NUM5RDdENjY3OTU0RkJBNzgxOUI5Njk4NTk0MDYyNkUwQ0Y4MDhCMEFGNTU5NTZCQUNEQkJFRUNGRTQ5MEFFODRENDY4MTAzRkJGRUE5NzUwREQzNjZFREFDNjMxQjM1ODFDNzE5M0QxNUMwRjA4OTMyNjU5NzlGRkRBRUJFNUEwNEU5MkVEOUY5NDZBQjUyNzRDMDQ3NUMxQTJDRjYwQzBCODQ3MDc2ODE1MUZENzYwNzlFOEY1RUZDNDhGNUQ1NUQxNDUyRUM1MkY0ODE3NTM0QTIzRkQ5MkEyNDQ2OTQzMTNEMDVFRjM0MzFDMkE5QTI1RTUwODEzOTk4NDBGQkMwRUMzN0M5NDc0NTdGQTBDOEJGQjYxQzZDREEzNkQxMzU0QjQzREJCM0E2NTEwNjI2MkVEMUU4REY4NkFFOUE1QUQ3RTFDNDhCMkJCRENFMTNFQjM0MkI5RkZCMzExQTU0NTU5QTE2MjkwMDI5NkUzRjUwOTlGOTBDNkFEQjEwNDE3MkMwQ0YyMkJDMkYwRThFNjdFMjkwRDE5OEM0RDU2MzMyNDY0MzYzNjYwRkVDNDhDOUM4REE2NTY4MzQyMTEzRTIxQjE2MkVFQTAzMDdBODVGNjhFREQyODk5MzZGRTAwOThGNzZDNDM0MTQ5QTBDMTMxOTRCOEVFM0RGQ0Y0RUQxODIwQUI1QUE4QjQ1MzFDQ0FFMTVGODUyMjFCMDM5NjcwRUMxQUU5OUJFMENDQTc0MjI4NEU3RTYxOEUwNzgzNjc3RTA1NDY4QzZDQzhGQkNBMTlBNTJFOTY2NkNFNUQ1Q0NENjM4MkI5QTk3Mjk1NUVCNDNBQzEyMEZCOTg5MjQxRjgwN0MxQkNGMTZENkM0M0Q3NzE4MEUzQkJDMDUxNTA1MjIwNTY4RkI1MUVBMzk0MEI3OTk0MkRERjdDQTZDMzQ4QjA0N0QxMEUxRjE0NjNEODYyQTc2MjU3RDk3QUU2MzFDOUY2N0M5MTU4NkFCMkIyRkQ1MzM4OURBMEUwOURDRUExNjY4OUQxNzYwMTI1MDU4QjVCMDAzQjUyREI0NUYyMTU4ODYxQ0Y5MUE1NTYxOUQ4ODFCNjJCNUUwRkRCQTg0ODZGMjhFNjE3RUUzOUMyQzlDNDkwMjBEQUY3QTJBNzI0MkNBN0E0QjQwQTcyOEE3QjRFMDc0QzRBNjRCOTk0RjEzRTZDQkE0MTFDODY3MUY0QjlBQ0UyRDFDQUVDRkQ1QjFDNjJDMjZCMkM2QkFBMkRFNEI1NzAxQ0VEOUNCMTMyQzNCMDM5MUU4OUU2RkJCOTZGMThDQjU1NDNGQTY4NTgyNTI1MDlGNjkyREUyRDczOUE3MERFMzUzMzgwODc0RTMxRjg2OTc4MjlBQ0YzQzM3QjlGQUVGODZDMDE3NkI1RDQ1RDA0MUJBRERDQUJGNjE1NkU4QzJEMUQ2QUY5N0IxMzgxMURBNUNCNDEzOUIxMDkxQzcwMzYwRUY4MkQwNjJGQ0VGMTZGQTAwRTQzNzhDRkJCQzVCNjMzMEE2MkFDODVDMEY3MUZGNkQwRDdBRDcyNThBRERCODQyODkyRkQwODhEMDlCM0VERTA0MzUzNzk5QzY5OEJFQjk5QjNBMEZFMTZGMTEyNEU2OUE0QjMzMzFCNEEyMjZDQzhGRDk0QkFFNkFCREREOTZDNkE1NTI2MTBGMkFDRUZERDE5MUIxOEQ3QzVCMzU3Q0FBNjE0NTRDRUE0RUU3MTZDRDVERjg5QjgyRURBODRBNjE4Mzg0MzJENDA1Qzg1MDZDRDAxMzBGQjg0ODhFNzg3RkEwMDgxOThBNjYwNjVDMkFCRDI3OThENDIzMTNFNDc1MTZEMjI0RThBMDkwRDlCRkQ3RDhGN0JEMzg1OTFCQUE0NkVFRDVFQjFDQkM2MkJEMkQwQTZGNTZFMzdCQzI0OTJGNEQzN0U3QkVBNjgzNzYyRjgxMDMxQjI4QjlBMEZEMEVGQ0ZENUJCODFDRjEyRjY3MEFDMUQ5REI5QTVBRThFQUU3MzQ2QjQxODhDRDY4Q0YwRkE4MTFGNEQyQkU2OEY3MkQzODlBQjdCRUMyNjdBMzIwOTQ0MjQ3OUU0NjdBQkYwM0EzMEIxNEU3NTBBODkzQzRBQzU2QzVDMjExMkE3QzQ1RjVCQ0QyOEQ1NzQzODA4RjdFMTNEQTgxNzI5QTYyN0FGNEU5MjdBMTFFNjlDQzEzMTlEMEE3QkJERUIzQ0IxOEQ1NUMwNDcwRDRENkY3QjE0QzIxRjY3MzE0NjBGREU3RjYwRjRDQjQxRTQwMzg1QkM5QTlCNDEzODYyMTg1NzU0MDY1M0M2QUFBMjc2RjQ3ODcwNThBMTk5NTY0MUFEMUQ4NzZGOTUxOEFFMjdDMjFDMDNCOEI3QkQ5NjU5RkE2Q0ZFMTNBNzc1NUQ5OEUwOUYyNUE2Q0Q0Q0VDQ0E1QjM1NEUyMkMwMTM2RDhBNUQ0MEVBMTY1OTYzRDY2NzgyMUFCQkJGRjcyNzYxOEE4MkNCMUE4MTE3MkFBQTAwRTY1Qzc4REUyMjkzRjUyRjA4MURDODFEMUJBRUIyNTQxNzRCMDQ1RThEQkRENkYyNjk3MDUyQ0UzRUY1RDA2QTdCQTcwMDk3RTNFM0VCMUU0OTk5REM5NTVDMUIyNTEyNTZFNTU3ODMxOUYyMEZCRTk5MDA4OTMxMDQ1OTNFNDJENDFGREYyQTkwNjRGNUY3MDQ1RkU5RjQzQjlBMEU2RDFGRDlBOTY3NjZFMjkxRDhDOUY1NjdBOUY0M0UwMjBCMjhBQkNERjk1NzEzMTE3NEYzNkIyNTZFQzBFNDg4NjgxQTA0NEJFNjA5QjE4RkZEQ0VFNzIyRTEwRUNCQTBENDAxNkQ1OTM2MjUxQTMxRDVBOTkwOENGMDBCNzQyMUM3QTAxQUJGNEU0RTBGMzMyMTAzRUUyMjcxODZBOEM0QjZGRjM2OTIwMzBGQzFDQTFFMDlBQjg2OEQxMjM0QjBGNTM5RkVDODQ0RTREQzY0RTFGNzg3MkE4MDc3OEI0ODJCQjhBQzhBMEQ5MjE2RDFDNTQyMjYwNTU4RDhERDFGRTRBRDExRUU3MEMyODEzMjczMzJBNTgzRDI5NzJEQzdENjZDOTFFMTc0RjI5Qjk2MTM4N0E3QkIxOURGMDJEQUM0RUY1RDVDQUQxQ0MxNTBBNDYyRjFGNDI3NzgzNDEzMzBGRUUzOTExNDVBNEEzMzRGRTI1Qzc2QUYxRjQ1RjY4OTFCRUU1OEFBMkU2RTczRTBFODZFNDYxNzNGQjU2RDA5NTY1RkM2RjI0NDBCMEEzRTRDNDQzRDZBODQ2QkI2QjE3MEMzQjY0MzEzMDQ2M0M0NDYzN0MzRjgwQThDQUQ0QzBDNUE4QzA4MTMxRUE2QjkwOTdCMUExREI4NzBERDhDNTIxNUE3OEMyNUMxQThGQjUyN0VFMkI2N0M4Q0NBMjg2MzcyNzIxM0RDNkM5NDM4QzgxM0ZCNDU5QUQ1ODgwMTE3MDZCMjc1NDEzNjFCRjdFQjg1MkExREM4MEJGOTAwMzk3OThEMTQzMUNGQUU1NzYzQkIxNkYxMzQyQTZCMEU2MTVDMjcyNDVDMTZEOTM1RTc1MEFBRTcwNTk3QTczM0FDNTEzOUJDMDNGREM1NTg5OTk4MzlDQzQ2RkRGRjYwNDczN0ZGMTk2ODNBNUY5RUU1NjcyMDU2QkFDREJCRUVDRkU0OTBBRTg0RDQ2ODEwM0ZCRkVBOTc1MEREMzY2RURBQzYzMUIzNTgxQzcxOTNEMTVDMEYwNjlDRUIxNkQ3Mjk3QTM5RjBGNjVFRkM3MzZGQkFFMzRGODdBRUFEQ0UyODQ2NTlCQzBFMjYzMkZDQ0VBRDYzODZFQzYyOEI5RThENzIyQ0UyQjI2RjZERTEzNjNDQTFGNzUzNEEyM0ZEOTJBMjQ0Njk0MzEzRDA1RUYzNDMxQzJEMDE4Q0MzNEZFNjNDQjEyQUUzRUU4NDAwMUJCRDk3QzFCQTFEMjFBODUxNTZCQjcxQTFCQzkxNjRDNkMxRDE4M0FDQTZBOTZBNUM0MTgxQTcwMzI5RDhFOTJFNUNCRDBBREYyMUE4NDE4MkM3OTM0QTczRENBRUE1NEI2RUMyOTZFM0Y1MDk5RjkwQzZBREIxMDQxNzJDMENGMjJCQzJGMEU4RTY3RTI5MEQxOThDNEQ1NjMzMjQ2NDM2MzY2MEZFQzQ4QzlDOERBNjU2ODM0MjExM0UyMUIxNjJFRUEwMzA1M0E3MkRCQkU4RTIxOTRGQTA5MjQ4RTE5ODdBOEZCRDY1MzAwNjBGOTRFMTg5ODE3MDEwQjI0QkYyMkUxREM0MTM1QzNCOUIwN0Q4MEEyMDlDNjFDNjNDMDdEMjM5OTlGRkFCMkNBNzYzQUQ4MTUzM0NDMTA4QjUzMjI5RDk4NEU4RDE3MUM4NzNFQjEyQ0QyMjE0MDkyNEI5QjlDMEMxRDAyMzlBQUNGOTJFMDEyMjA0NUFFRjlFOTNDNjVGQzEyODUyODNCMjJENjU5NjcxQkVDMzAwMDY5N0YwRkIyODNGQkJEMjlFRkRBNDA2NjkyNkFGNDRFRUJBMjQ2Rjk3RjRCRjdDOUMwRDU3Mjg3QjgyRUQ5RkMwMjBENzBGNEFENjVFNDY1OENEQUU1OTRDNUNDNzU3RTc0NkE5NDc5NjM3QUFFQ0M1NjVBN0I5RDg0NDJGMzUxNDIxQ0UwRjM1RUI0RURBNkVFQzkwN0ZDNkZDQ0FGODc4NDQ1QkQ0NzcwQkNGMzVBMzMyNzdDQjZFRjc3NjdBNEMyMDcwMDYyNEVEODM5NEZDODcyRjI1ODRGMUQ4MzE3NDQzOTVDMTk5REQwQzY4NzYwNDQzMkU4N0ZDNjhGQjc0NTU2RDg0NDlGRkNGNkY3MUEyQURDMUYxNEE1QUQ5MkNDN0RGNjgwRUVENTMxRkQ5OEJEMThGQTQ5RkQzOEQ3MjU4QTU1RUI4NTA2ODkyNzU1MUU3QTgwMUEyMkU0RTYxNDZDOEVDMTIzNTgwMTVDRUI0QzUzQzhDNDVDNzE1OEQ1NTM0ODZGMUIzNUU0MTBCNjcyNEU4NjM4QkE5NUVFQ0E5NEFFNjRGN0U5N0MzRUZEMTc2QkM1NzMwQzU0RjYwRjExMzJBMzgzNUYxQUNGMzAwNDRFM0RBN0ZEMDc3NTE3NDc2MjU2Mzk4MzIzQkM2RTFCRkUzQjJEMzQ1OTRCMDAxMjM1NzM5MTMxODJEMEZBNTQ0NjZBQ0Q5NDBEMEU3QTlCQjQ1RjczRTA3NjNGQjY4RUYzNTc3ODIxMUQyNTM2RDg3MTg1MUZEM0I4RTg4NDU4Qjc0NTcyNDdGOUFGMzFBRThDQjJGNEM4M0M3OTk4QjU3ODg1RkY0OTAxMkFEQ0U2NTUyMEVDRDE0RTlCODA3RDBEQjc1QzQ2NTEwRTk5NDlEOTY4NzNGMkFGNTNEMzcxNzMwMzI4RDRDQjBDMzJCODBFRkQxMDFDNjM3QjU3MDkxMDQ2M0Y2ODExQjM1QzdGODMwMjZCQUNEQkJFRUNGRTQ5MEFFODRENDY4MTAzRkJGRUE5NzUwREQzNjZFREFDNjMxQjM1ODFDNzE5M0QxNUMwRjAwNkQwMUUwREMxRkRDMkNENTNGRDYwOEY3MTI3QUE0RkZERkUyQjNDREEzMEU0M0NEMDhBNTNCNkM3NjdCRDY2NEMwQ0U4MURCRjc3NTU3NjUwNEU0RkEzNjdCQ0JGQzM3NTM0QTIzRkQ5MkEyNDQ2OTQzMTNEMDVFRjM0MzFDMjZGNEEyNDE3Q0FCNzNDNzg5NTZGNDczMzJDOEZEQUFGRkRDOTRDNjA3REE4RkVEQUM2ODJGN0REMTYwRUMyN0VGNzQ4NTA5MDMzRjkzQjU4M0Q0RTMzREM1ODhBNjJBODNBMTUzMTAxQzY1QkQxMjNGRjVCODlFNTRGMjQwNkEwNzlBMEVFNDAyNEREM0MxRDhFRDlEMUJCNzdENDJEMzRFMjFDQjU5OTRBMjI1M0I5REM5M0ZFQzBCRDdGMjU1Qjg1ODUzQTBCODBBRDc1QUFBRDE5ODQ2QThFMTc4RjdCNzY1RkVDRjQxMEUyOUUwNjM3RTk2QjVEM0FDQ0YzMDEyNkIyQzZCQUEyREU0QjU3MDFDRUQ5Q0IxMzJDM0IwMzkxRTg5RTZGQkI5NkYxOENCNTU0M0ZBNjg1ODI1MjUwRUIwMkE2MUE4MTcyRkUwODlCNzg2NEFDRTQ2ODU5MEE5QUZCMjZDNEVGNzJFRDY0MzI2MzMxRUFENDNCRjIxNDZGQjE5ODU4RjZFOTNERjgwMzkwRUZEMDNDN0Q4RkQ0REE1Q0I0MTM5QjEwOTFDNzAzNjBFRjgyRDA2MkZDRUZDMkRFOEE5MjBDNUU3NzhCNjUwRDEyMzY3NzQ5QTlDN0YyNzkzNzRBM0M1RDRFRkQ2NTlBQThEQzM1RjQ2MzZFRDBBQjJDRDlCOUM5QTI0RTU5ODE2MjRCQjBERDNCOTA2MUREMTk0RTM2QjQ0NkE5QzBEMTg4NEM0RDlCMDQ0MTE4QTAzRDg2RTJEQTk4RDUwNDk3RURGQkQ4MTI5OTlBMzlDNTU4MkE5QTQwQTdCNDFERTg4RjdFMzJFNDY0NkNBQkZDQkIxMDIyMTJGOTE3OERDMEFCMjk3REYzQTM5RkQ5Q0REMzQzMTQ4NzMyQkU1MEZFRjA2NjJGRjUzNzhGNURGRTMxMURDMjU4ODdENjUzN0YzMTQ0Mzg3NzRDQjQyODAwMEIwNzQ4OUE4ODMwMTc0RURCNkY0OTIwQjA3ODFBNUE5MjY2QzgxRTNEMEVFMjA4OUJFMDg2NkZEQjg5OUU1M0UyOTlCMDhCQjBFNTRGODVFODhDREU2NDI1NzVFOTQxOUREM0JFNTlDMUQyQjM4OUFFQTI5RDAyOENEOEJBREJGNEQ4RERCQTQ0MTNEQUU5RjJEOTAwRUIxMTUyMzU1NUZCOEFBMjI1NTczMDYzM0JGQTVENzMxMjUzOURDMzkwNDQ2NDI1NkEzM0I4RkY5MTg3MzJFNTlEMDI1NDk0MDBBMjg2QkI1QUJCQUQ0MzIzMDc0RjkwMTMzMjdFOTVERDkzQzlBQ0U4NDZBOTZEM0I4NkEzNENBMUIxMEU1REFBMkQ3RjUyRDRGQTQ2Qjc2NTk5MDFDRUQ0MkFENEE3MzM1ODBCMkZBMTI1RDJDNzEzODM4QUMzQURDMzBERjFCRjhERTg4NUQ2OEVERDk2RThCQzAwMjIyQzQ5RTVDODAxMzIyODlERkE1N0UwQ0VFNjk2OUREQzhDREU5OTMwQzUxMTAwMTI3MEIwODBGMzdGRDM0RUUxMjAwRTdGQzJEQzYxRjFDOTk0OTgzRjAzMEM5NURCNjA5QjVEQUMwNjVFNTFCOTJGRUNFNUYyM0QyRUYwMkNEOEIwQUFCNEMzMEE5NUVFNkRFRDJERjlCNEM2QkY0MjVBQkM4NzkzMDU4MTZEMjY3QUFBMDY0ODEzRkVENDVCM0ExNjQ2QjY0QjZGQ0ZFQ0UxQ0I2NzZGRkU4NzdCMTk0Mjc0MzNENDNCMjdDNzkzRjdFMDk3NUE5RUUzMTkwN0E5OUQwOEY1RDkzQkI0ODVEOTJFREY3NDg5RkQ2NkVCNUYxRERCNTMxMjc1NDk2NUVCMzY4ODQyRDU1OUYxQjEyMTZERUJDNjM2QTdCQkU5N0YyMkUxQ0M3RTMzQzdBMTNENDQ1RThDNDFBMUY1OEYxNDg2MkU4MjZBMTE3MERDNEY0RTE3MzhGOTkzOUMzNDQxM0NFMDZDM0ZBQkFGMTg1RTY0RkIzMDkyNzA5MzJDQ0Q3RkE5NDI4QUUyNkYzN0RGRUIyMzM4NDBDRkRGRjdFREQzMDMxQjQwRTkzOEM1NjNBNzlCMUU1NjQyNUYxQkFBQzA2OTc0NUJEQjA1QjNDQTEwNzEzRDUzQ0QzNUE1RjNGN0MzNThCQ0RFOEY4NTdDNjU1NUEzODVBRjJBMzcwMDgzMkRFQzA1NjEyRDRGNUU0MUQ1NTY1NDdGQzFEQzNEMTk5MDY0MjI5QjI1QkNFOEM2OTE0MjYxNDY5NjIxQTcwMjM5MEE0RjdEOERFNTRDRDZENUVENTZCOEVEMzA0MEUxQzhBREI4RDI2MEUyQzk2OUU5MUUwQUI5MTk3OEFBMzA3OEQyMEREMzc2Q0I5NTY0NTZFRTdFODVGMTg0OTkzNjg0Q0RDRDk0QkRGODNCMDdBRjQ4MTVFMEIzNkEzNDZEQTU2Q0NDOTlEMEFFNTIzOTA3QjNCMUIyMUQyQjE1QUYwNERGREUwNDIwNEVCRjYyRjgyOTIxMDk2MzAxRTQ2MzUwRjk0RkQyQ0M2REIwRUQ3MDM1M0YxMTgzRDZEODIzNjY5RDQ3Mzk4MDQ2MjYzNTQ5REY1QjM1N0NBQTYxNDU0Q0VBNEVFNzE2Q0Q1REY4OUI4MkVEQTg0QTYxODM4NDMyRDQwNUM4NTA2Q0QwMTMwRkI4RDIzOUJCNzBBODlDRjU3MDFFMTI0QzQ0NjlGOTM2NzlFNUI3NTVGOTVCMjZCQzFEOENCNTZCQzM4RTk2OTZFODM4NTkxQkFBNDZFRUQ1RUIxQ0JDNjJCRDJEMEE2RjU2RTM3QkMyNDkyRjREMzdFN0JFQTY4Mzc2MkY4MTAzMUJDMzM3MkI2OEVFOTFGNTBCNTJBMzJENUEyMTQ5RkQ1RDczQjFCMDUwMEVDQTAyMUEwNEMzOTZERjY4MkNBNDE5QTkzRUY0NTVFNDE3Mzk1QjZENTJBQzEwM0EwQ0U5ODc0NzlFNDY3QUJGMDNBMzBCMTRFNzUwQTg5M0M0QUM1NjVCRDQ2QkFDM0FBRjE5MDc2M0ZBODY1Nzc2RjBCMjdEMDVDNTBBODI4NDEyNzA5Qjk0REQ4OUMzQTk5MzNFRTM5NzlDQkVBRTdFMTFBMThBQUVGQTJGRDREQkM5QUJFOEZBQkZBMjI2NThENUFDMDZGOTA2QzlFQjRFODA4OUFBQjQxMzg2MjE4NTc1NDA2NTNDNkFBQTI3NkY0Nzg3MDU4QTE5OTU2NDFBRDFEODc2Rjk1MThBRTI3QzIxQzAzQjQ3NTQ3RTlGQTk3MzM3MDREMzMxREZBMDI2QTVFOEU2MzAwQTI1NEE0NjhFNjhFRjI4QzczNEVBRTFGNUJCOUQyNkIyQzZCQUEyREU0QjU3MDFDRUQ5Q0IxMzJDM0IwMzkxRTg5RTZGQkI5NkYxOENCNTU0M0ZBNjg1ODI1MjUwMjkzQkE0NkIyQUY3NUUxRkM3QTdCQjQ2MTJFMzY3RUEyQUI4NTFCNjNFNDU2RUNGMUY2QjZCNkM4Mzk5MzAxQzE3OTNEQUIwRkRDQjdFOEFBNjJGN0FFQkNGM0VBMTY0REE1Q0I0MTM5QjEwOTFDNzAzNjBFRjgyRDA2MkZDRUY5NUMzMjMzNURERjA2RUNFMEI3RjkxRUUzNjI4MjY5NzE0MEZEQjBDNDdGOEExQTk1M0Q1RTNFMTFEN0VDQUYxNDNCMDQ2NzlGNkY4RjQ1ODc4QjNCNzJGQUU1OTc5RjQ2MUREMTk0RTM2QjQ0NkE5QzBEMTg4NEM0RDlCMDQ0MUY5MzgzOUU4N0UyMTVCRTg3NDI3OEVBQ0E1RDMxOTBEMzlDNTU4MkE5QTQwQTdCNDFERTg4RjdFMzJFNDY0NkNBQkZDQkIxMDIyMTJGOTE3OERDMEFCMjk3REYzQTM5RkMyNUJDRTIzQUIwNjczM0I4QjdBM0ZEM0RGNzVDNDc2RkEyMTk1OUE5N0YxODQ3MDc5OTExNkEyRDBGRUVCNkUxOEZFREJCNzFEQTBFRTc5MzRGMkIzQTg2OUI5MTc3RjkxQjNEQzg1NTY4Qjg2M0QxNTU5QzcwRTgzOTlFNjY2RDMxOUJGMkE3MTNFNUY1NjM5RTFFMzMzQzU0QTE2RTMzMDRFNkY5NDkxNzhFRjY2OUZDMDNFOUY5OEFDQTU3MzlENDM2MjY3MTUxMkM3OERDRTNFRjVCOUQzQkU1NjMyQzJENDVBODM4NEQ0RkYwQzMzOTM0RTJEQjg4OUI3Q0ZEQTQzN0I0NzVGMzk0MDc5QUJFOUU2OEY4QjIxODhEN0IyNjJDN0I3NDdFQ0U0RTMzMDI1MUEyNzQ2NTE0NjU0OTRBMTZFQTI1MzQ1MjVGMTI5RjNBQjBDODg4NzExNTMxMTNGMDkzOTFEMUI0QkQ0OTczQUI5RjI0OEVDQ0ZBRERGNjk0MjU4MDFGM0I2QTE0QzY3NzZEQUIyN0RCMDU3NDc0Njk2NjVBNjcwRkJERUQ4MTBGMjAzOTQzQjAxMTlENTg2OTJDODcxNDI2MzBCMTM4M0QyNDI0NDQ0MTY5NzQzQkE1RTBBMEFEQTBBNDI5Rjk4NzdGNTZCNDlCQjU0QzQ1QTc0MEE5M0FDRDJBNEJBQjdEQzA0OEYwQzNBODZBQzFGNkFFODc3MkU1MTg2RUIyMEIwRTUwMzVGMzY2OEQxNTgzODA0QzI0RTRCRTAwRkY4Q0ZCRUEzRDQ1ODI1MkEyOURGRDcwNjkzRDNDNjFDNEIxQTNFQzY3QjJFRTg3Q0U3M0Q1ODQ3NUIyRDc1OEI1Q0ZBM0Q5MzYwQTVDMjYzMDZGN0QwMTI3MjU0NDcwQjkxQUNEMTIxMURGMDE4MjFFRkVBNURCQzQ3QTREMjJFNUM5Nzk4NDFBM0REOThBN0MyNEY0MzU3OThGMThEQzU4NEI1MDYwN0Y1OTQyQ0IxOEE3ODhEQzI4RDAxNTcxNTU0ODAyMkJBODQwMzMxOEZFQ0FENzhFRDhDNjZFNzc1RkU2NUE3OTJCMUNCRDRBNzMzNTgwQjJGQTEyNUQyQzcxMzgzOEFDM0FEQzMwREYxQkY4REU4ODVENjhFREQ5NkU4QkMwMDIyMkM0OUU1QzgwMTMyMjg5REZBNTdFMENFRTY5NjlEREM4Q0RFOTkyOEFFNEI2RkZCMUEwQkMyNkY3RkUwMjE5QkZEOTAzMkMyREM2MUYxQzk5NDk4M0YwMzBDOTVEQjYwOUI1REFDMDY1RTUxQjkyRkVDRTVGMjNEMkVGMDJDRDhCMEFBQjRENDU0RDc0OUU1OTc1RkNCMUYyMzNDOUY3RTRGQzY1NDIwQ0ZCMDlDOTMyNDE3NDRDRTkzNEM0ODZGNjY2NkFCQTIxNkQzMTREMTZGQjZBNUNGRkQzRjlDNDg3QjhCMEIzQjI3Qzc5M0Y3RTA5NzVBOUVFMzE5MDdBOTlEMDhGNTI5MjVENTQwODdEODU1Njc0Mjg0MUFENTU2Mjg1QzEyMDc5QzAxMjIyQ0ZCMENBRDkxMzk0MjY2N0IzMDMwQjY2QzE5NjU5NENBOEVENEY0MzlDNDJENjUxQ0NBMkY2NzY3OTQ2NjdGQzY5OTU0RkM0NzQ2RUFERTMyNUFDNzczRjFBRkEzMjUxMEI5RjUwQjE4Q0Y4MUE0QUMyMzcyODc5MjcwOTMyQ0NEN0ZBOTQyOEFFMjZGMzdERkVCMjMzODQwQ0ZERkY3RUREMzAzMUI0MEU5MzhDNTYzQTc5QjFFMkUzNENEODcwQ0FFMEIyNzc4NDExOTQ2RUI0Rjk1Qjk2QkFDREJCRUVDRkU0OTBBRTg0RDQ2ODEwM0ZCRkVBOTI2RjM5RUFBMEQ4QTQ5QTQ0QzVEQTMxN0U5RDc4QUYwQzI4QjVCMDMxQzRGRkY4OUUxMzhDOUEwMTI1N0U5MjUzNkZDRDI0MkRBOTUyMDQwQUNCOUY2RDA1OTI2RjY5N0YzRTUzNTdDOUZEOTJGNUFFMzhDRjE0MjAxNzVFN0QyMTA0NTkzRTQyRDQxRkRGMkE5MDY0RjVGNzA0NUZFOUZDRDkzRUQyQ0FGRkE3REJERkMxMDc4MTEwMzlBRjQwRDAzMTMzMjMxQzBBQjdBNjE0MTQ0MjEzMjI2RTRBQjMwQjdBN0E1QkQxMjc2MjA2OTMyODBFOTg0MTkxNTUzRTg0NzNBQzU3OTFFQTUxNERCMDk5MDAyRUFEMjU1QzM4QzZFM0Y1MDk5RjkwQzZBREIxMDQxNzJDMENGMjJCQzJGMEU4RTY3RTI5MEQxOThDNEQ1NjMzMjQ2NDM2MzY2MEZEQUQ0MUUyNEMyREVBOEIwQzE0NDhDNjJBNkYyQTI0MEU2MzU4RjEyOTMyNEU3M0Q1RDFGRUU5ODZDNTJDMjkzRDM3MzhCNjlCQzQ5Qzk5RkJERTkyNDJGREI1Qzk2NUQzODU5MUJBQTQ2RUVENUVCMUNCQzYyQkQyRDBBNkY1NkUzN0JDMjQ5MkY0RDM3RTdCRUE2ODM3NjJGODEwMzFCOUEzMjI2MTlENDFFNEZEQ0U0RUY2OUYzQjFGMDVBOTYxMDFDRDMzQ0Y1ODY1Q0UyODVDN0E5RDI2MEIwMDExRTEyMUM4RDVFRjRGMDQwRkNCOTk0MDRDMjc5NTQyNjBFNDc5RTQ2N0FCRjAzQTMwQjE0RTc1MEE4OTNDNEFDNTZBMkZDMTEzOUVFREU5ODE2RDJDQ0Y5QUE2RDQwOUEzODVFRUM4M0I4QUUwMTE5RDcwNzVGQjFDNzVCNEZGMDJEQUQyMkE2NTVCN0FEMkIwOEExRkZBQkEzODhDMTExOUM5MTcyNUU1RUE4MzMyODk0QzM0NzZEMUQ2MTA1MDNGMDBFNzc5QUE4QjZDRTdEM0Q4RDc3QjE0NTBGNjk3MEVCRjAxMkJBRTZCNjU4MEYyRDlDMTU2MjdFMEM1NzgzRTBFNjg0RDczMjgwODc0RUYzRURGQzA2QjgxN0NDNTYxOTE5NDFFRTkzNDhDNUM0MjRCOTRBQ0NCNDFGN0VFMTA1RTlGQkExRjAxRDJEODM5QjY3RENEOTg4REYyNzg4ODNDNzdBNTFFMjk2NzIyQ0MwRkE3Rjc0OUFFQUQ5NTFGQzBGMjI2MEJCQjVFMkNDRjYyNkUwNzg2MjI0NzRFRDZBQkJBMzA3MjREN0QzMUVEOEFBNjE0NUM4MTYzMDlCMzM1NTA2QTEwODBEN0I2MUJENUY5MUZENzE0Mjg3Q0IwMDlEMzhDNDRBRkQwRDg2RjBERUIwNDMwQTdGODNBMzQ5MDYzNTZDODJBOUUyMDUyMTIxQ0U1RTc1Q0IxRjc5NjZERTFFNTQ2OEIzNDExNkVFRUNFQUI3QTI0Q0E3MzUwNzg0NDdEODhDOEQzOEU4NTkyN0M3QUVBNjdEODVBMEE3RTE5NkZDN0Q3NkEyNzgzMkQ4NTBBOTI2ODMxNkZGRDkwMEI3NDIxQzdBMDFBQkY0RTRFMEYzMzIxMDNFRTIyNzE4NkE4QzRCNkZGMzY5MjAzMEZDMUNBMUUwOUFCODY4RDEyMzRCMEY1MzlGRUM4NDRFNERDNjRFMUY3ODcyQTg2RDkxN0UxQkJBQ0Q0OUJBN0E2NTE4QkEzNDk0RUQzQjhEOEREMUZFNEFEMTFFRTcwQzI4MTMyNzMzMkE1ODNEMjk3MkRDN0Q2NkM5MUUxNzRGMjlCOTYxMzg3QTdCQjE2QUZDNDA1NzM5Q0JEMzJBMEY3MDQ3MDNDRkU5QzM0MDE2MzhGNDE0RkY3OTg5N0RBOTcyMjA4RDRCMTI3QkQ1RTk3MjBCMjY2MDkxNTgyMjA4Nzg5RjdDNUMxODM4RDQ3M0ZCNTZEMDk1NjVGQzZGMjQ0MEIwQTNFNEM0NDNENkM2NzY1OTA4NzZEREMxREZGN0FBQ0Y4MjA1NEMwMTgzOTQ0Q0VBMjJDRTYzN0Y0RTg4NzEyN0YxQjBFMzAwRDI2M0Y3RDhDQTIwNjhEQ0Q2RTQxRDJGOEVGNDU0NkE2OTYzN0FBRUNDNTY1QTdCOUQ4NDQyRjM1MTQyMUNFMEYzQTgzOTk2NTBBRkM1Q0FEREZCMkRCMzE5OEMwNkE3QjM3MEJDRjM1QTMzMjc3Q0I2RUY3NzY3QTRDMjA3MDA2MjRFRDgzOTRGQzg3MkYyNTg0RjFEODMxNzQ0Mzk1QzE5NkNCMTVGQzUzNDAyNTBEQkEwNjgxMUJDNjE4NjEwMTlEQTlERTg3MUZDOENGREJFQzA3RUJCQUZDMjBEMTJENkZBMjg3RDVGMDZGMUE4MEMyNkVGODgxMDQ2MUM5MTI2OTlBRkFGQzE0M0Y5NEQ4QzM4QzU0MTc3QUJGOTcxODFCNjJCQzg0NDZBRTdCRDBGOUU4RDE5OUZBNTc0QzE1OTQ4M0FBMzA5Njc4REM3QkNFQzcyMEM1MTE0MzNFNTA1NjQyMDBCNjhENUE3QjA4RTNDMjI4MzkwNzUyNzIyOTU0MDM3NkJFNEU4NTdEMzE2MDM1RTE0NUU0RTE4MjFBRDAzNEVBNzE2QzFCRkUzRjUzNzUzMDJDQkY4NzlFRDlBODc4RDZDRDgzNkRDMjA3NjQ1MTNEQ0RCNEQ3QTEzNzRBQkM2RjQ5NkIxN0EzNjNFRTkzNjIxRDNGOEY2MUQyQkU1REYxQUQwNDVGOUNERjExRjRGNzRCRDZBRkNDRDkzNjhFQTA0NTI5Njc3MUNENDIyMjE1MUFGODUxNkEzQ0Q5QjVBNEI0M0VFMjIxM0QyQjUwODEzRUVFQUIzOUU4M0QzNTJCMUI4MEFDRDQzQjlBRUUxNjcyOTA5MUFGMTlFOEE2RDUwOUEwNUYzNjNBRjNDRTY3NUM0QzhFMjVFMTAyODAwMEIwNzQ4OUE4ODMwMTc0RURCNkY0OTIwQjA3ODFBNUE5MjY2QzgxRTNEMEVFMjA4OUJFMDg2NkZEQjg5M0QwNjA4MkVERkU0Mzg1MjQ4Q0JDNzU2N0RBRDJDOTg2NjQ0MkY0MDRGRDdFMzgxNEQwQzdEMzY1OUM3QTRFRjlBQTM2NjVFNDk5REQwMUUwMjIxMzVFQUIwQkRDMjlEMzU1NUZCOEFBMjI1NTczMDYzM0JGQTVENzMxMjUzOURCN0NDOEQxQUM4QUE0MjYyNkU2M0IwN0RDNzQ2NkVBQTk1OURGMjY1RkVGQTMzMDM4NjZBNUJCMzc0QjAyRTFDOEUyQzU1MjlERDYwNTgxNzg4RkE2RTA3RTFGRjBFRjVFOTRCQ0VERDQ0NDA5MzcwNDJDN0I0NjUzOEREMzZGQ0Y0QzgzQzc5OThCNTc4ODVGRjQ5MDEyQURDRTY1NTIwRUNEMTRFOUI4MDdEMERCNzVDNDY1MTBFOTk0OUQ5NjhFQzcxMDFDOUJBQjIxRDNDNkYyNjQxMjk4NTQ5NjFBNjY3NzI3RDY3MTMzREQ5MjlGMjgzQ0M0QTcxQkE3OTNDQjJERjJCQURDRjhBQzc5MUY4ODcxRjU1MjFDNTgyNDM4NUFGMkEzNzAwODMyREVDMDU2MTJENEY1RTQxRDU1NjU0N0ZDMURDM0QxOTkwNjQyMjlCMjVCQ0U4QzY5MTQyNDk1MUEwM0JEREVGOUY3RjQ3NTIxOTk4N0Q5QkRDRDIwNDc3QkQ3RDkzQkFBODVFRkE1NUEyQjNCNjQwNkJFOTBBQjkxOTc4QUEzMDc4RDIwREQzNzZDQjk1NjQ1NkVFQTcxQzA1MUQ0MURFRkJCQzgyQTZFMEIzNzVFNzZBNzM5QkU2MEVCOTY0NEJFNEEyOEJBQkJGMUFEMDQwNTdERTY1RTA2QUVBODY1NTgzNjI5MkY3MkFFOTFBOTJEN0IwNjkyNzVDMUU3NkYwM0NDNzkxQzNGQzdFOUE4QUI1NjkyNjVFMEE2NTM4NzIwMjM3NUYyQTFEMEVEMUI2NzQ3QTVCMzU3Q0FBNjE0NTRDRUE0RUU3MTZDRDVERjg5QjgyRURBODRBNjE4Mzg0MzJENDA1Qzg1MDZDRDAxMzBGQjg0N0VBOENENzhGNUMyMUZGODEzQkQwMjlBRTgxOURFMjVCMzc2RTMzNDhCNjJGRTQwN0Y0NDM0NEM3MkQ4MzdBMzg1OTFCQUE0NkVFRDVFQjFDQkM2MkJEMkQwQTZGNTZFMzdCQzI0OTJGNEQzN0U3QkVBNjgzNzYyRjgxMDMxQkVFMjkxRDkwRTJCMUREMDI0QzgwMjRGOENDNUMxNjA5NEYxNzlEMjA2RDBENTgwQjRBNjA3QzNFMTQwRkYyMzlBNDA0RUE3MTZCMEM3QjZBMzVBMjE0M0VFQ0VDNDFCNjQ3OUU0NjdBQkYwM0EzMEIxNEU3NTBBODkzQzRBQzU2RTFFQTIwOTI4MDMyNjg1N0JERDIzNDBCMUIxMzBGRjJDODQ4NjkwQkU3OTQ5REREREM0M0IwODBGMjlGQ0FCODY2N0EyODg3QkYwQjUyOEJEMDExMjgzOTk3ODU1MjBDM0I2OTNCN0NERjY3ODZGOERFRkFFOTlGRDBDNTUzRUMwRTc3OUFBOEI2Q0U3RDNEOEQ3N0IxNDUwRjY5NzBFQkYwMTJCQUU2QjY1ODBGMkQ5QzE1NjI3RTBDNTc4M0UwMTBGOUVCODkzRkVFMkZERTk3QjQ4OEIxRDY3QTI2M0I3MEZBMjgzOUU1REM5MkIwMDlGMzQ5NEUzNTJCNEQwQUU5RkJBMUYwMUQyRDgzOUI2N0RDRDk4OERGMjc4ODgzQzc3QTUxRTI5NjcyMkNDMEZBN0Y3NDlBRUFEOTUxRkM2NTExRkM4MEI3MThFNEM5QUUzMjE5NTU4ODY3RUE2Qzc4MjlCQ0M5NUI5RTM4NzEzMjQwOUY4ODJDQzQ1QzA4QzJFMjhGN0NENTNDOEMyNjhEQTM4NzEwRjA1QTZCREQ5RDM4QzQ0QUZEMEQ4NkYwREVCMDQzMEE3RjgzQTM0OTNBMEVCNjcyNzMyN0UzNTQ2RjQ2MDQxMkVBNEEzODYzMzhBQzI3OTE3MDE4RkRFRjU2QjM5MUI0MkM3RkQ5OUJDRkI2ODQyODAwQkExRURDRUU2RTI1ODMyQUNCNDE3ODE1ODFENTNDNTczOTIxRUI5OUEyMzE2NzY4NzZFNzMwMDBCNzQyMUM3QTAxQUJGNEU0RTBGMzMyMTAzRUUyMjcxODZBOEM0QjZGRjM2OTIwMzBGQzFDQTFFMDlBQjg2OEQxMjM0QjBGNTM5RkVDODQ0RTREQzY0RTFGNzg3MkE4NDVDMTRDMkRCMkY2ODJEOUUyNjZEMzI1M0NBQzg0MjFFMkFEOERBMEI5N0RDOUY0NkEzMTRGOUI1RjQ2M0RBRDI4MDAwQjA3NDg5QTg4MzAxNzRFREI2RjQ5MjBCMDc4MUE1QTkyNjZDODFFM0QwRUUyMDg5QkUwODY2RkRCODkzRUEyQzkxRDAyRUY5ODA5Mzc3ODQ2MkVGQTY3NEQyRTYyQjFENDM1M0IwNDQyMzQ2QTQ1Qjc4QjRCOTY0OEY3Qjk2MjQwRDlFNENENkZGOUUxN0M4QkJBNjU5QjY4MzkzNTU1RkI4QUEyMjU1NzMwNjMzQkZBNUQ3MzEyNTM5RERCRkZBMEQ3Mzg4QjAxM0FBMThBOTM1RENGQ0QyQTRGMDgyMTg0MDkyRkZGNjIxRjYwMEE3QTczNDk4RUZFMDZEQUI1MEFENDQ0OTY4MkM4Nzg5M0MxRDA3NENEQkU1NTdDM0UzREI4M0I1RjQ2MTdBQTJBMjhGREYwOTZFMDZCRjRDODNDNzk5OEI1Nzg4NUZGNDkwMTJBRENFNjU1MjBFQ0QxNEU5QjgwN0QwREI3NUM0NjUxMEU5OTQ5RDk2ODY2MDE4N0FCMTBDMjY5NDlBREZCOUZCRDlDNDZBQTlDMTIxMzk0QkIwQkZGMDg4MUJCNzRCNjVBMjFBNzhEMjA2QkFDREJCRUVDRkU0OTBBRTg0RDQ2ODEwM0ZCRkVBOTc1MEREMzY2RURBQzYzMUIzNTgxQzcxOTNEMTVDMEYwRDNCNjcwMTAwMzU3QkJCQTkzRTMzRDc2OTlFMjAzNEFDOUQ3OTBGQkE1NzcyQTEyQUM2RTlEMEE0RDg2MkMxOTI2QjM1QjAzQ0RFMEFGMjM2NzI4NUU3QjFCOUYwQzU1NzUzNEEyM0ZEOTJBMjQ0Njk0MzEzRDA1RUYzNDMxQzJBNkZCMzU2RUQ0QjdBRDY0MDRBMURDMjVGMzA0NTc3MEIzNUUwMzYwMjIyMkEzQkQ2OUFCQTI5ODczNDkzNTFFM0Q1RjkwRkFGNzZEREREMUUyMjI3OTE5NzEzQjFENzkxNzY3QzUxQUZFNkI5OTgzQTc5QjIzMTRDNDIwRTUzMkY5MDBGMzJDMDgxOTE2OUZDRDYxQkJBN0NFMUVGQTA1RTIxQ0I1OTk0QTIyNTNCOURDOTNGRUMwQkQ3RjI1NUI4NTg1M0EwQjgwQUQ3NUFBQUQxOTg0NkE4RTE3OEY3QjRENzcyMDk2NDU3NzFFNzgyQ0U2QTMzQjUwNjI5RUMyNzA4NUVEMkZBNUY2RDI0N0I2MkQ3QzgyRTVFNDQ2NzVGQTI4N0Q1RjA2RjFBODBDMjZFRjg4MTA0NjFDOTEyNjk5QUZBRkMxNDNGOTREOEMzOEM1NDE3N0FCRjk3MTgxRDAxMjc2MEYwNjkwNzYxOEJFMkYyQzY4OUVFNTQ1RDBFMTA0NzVGQ0NFRkMyRUE4QzlFNkVDMTNBMjZBMjVENjcyRDAwNTBCM0U2MEMyNjg1RDNFNzI4RUEzNTM0MzM2NDAzNzZCRTRFODU3RDMxNjAzNUUxNDVFNEUxODIxQURFQUQ0OTk0OUI1RTk1ODg0RkU0RTI0NDU4Q0QyNTg4NkY5RjUzN0I4NUMwNUM2OTU4MkE4Mjk1MEIwQUZDQkVGODg2RDAyRjM1NUFDNTE4RkM3NjM1OUE5QjRDMEUxRTU3RDc0NDQ2MDIzMUE0MUQyMzFEOTFGMEQ4MTc0ODQ4Q0RGNjk0MjU4MDFGM0I2QTE0QzY3NzZEQUIyN0RCMDU3NDc0Njk2NjVBNjcwRkJERUQ4MTBGMjAzOTQzQjAxMTk1MDBENzE2RjZDODNBOTU1NzFCMDg0MjQ5QkE3ODcxNkM0OUEwQzgxQ0E1ODY1MkVFRTNEM0NBM0NDQUEwMjVGQzQ1QTc0MEE5M0FDRDJBNEJBQjdEQzA0OEYwQzNBODZBQzFGNkFFODc3MkU1MTg2RUIyMEIwRTUwMzVGMzY2ODNDOTBERjUyNDFFMUI4OUU5OUNEMTE0NkFFNUE2NTdFNUQxQkY2NENGQzk3NjA3MTU1RkY4QUE5MjFCMjU2NDZDNjhGNEJGM0M1QzM5MzU4MzI1RDVBQTU2NzUwNTEwMDYzMDZGN0QwMTI3MjU0NDcwQjkxQUNEMTIxMURGMDE4RDdGNzg3MDlGMUJBMUQzRkMwNDc3NEJGQUE5RTUzOTY3OUUyNjMwNTU4MjU5NkMyMENBOTM4OTBGMDAxMTlBQTkxNEUxMTExREUxNzM3NTIzNjM2N0VBMjYyQ0IzMDU5QkM4Q0IzRDUxMjRCOUQ2RDI0NTg4NEE5QjYwOEFGMDFBNzMzNTgwQjJGQTEyNUQyQzcxMzgzOEFDM0FEQzMwREYxQkY4REU4ODVENjhFREQ5NkU4QkMwMDIyMkM0OUU1QzgwMTMyMjg5REZBNTdFMENFRTY5NjlEREM4Q0RFOTkxNDAyMTU2QUUxODk3RUIzNTc5NTgwNzVFMThBN0IzRkU5RkJBMUYwMUQyRDgzOUI2N0RDRDk4OERGMjc4ODgzQzc3QTUxRTI5NjcyMkNDMEZBN0Y3NDlBRUFEOTUxRkM0OTg0NEUyNzFFNDc3QThBM0E3MjZCRUY4NDQ0M0MyMDYxRjgyRjQ4MzA0QjZGRTQ4QTNCM0QyQTk1NTM1MEZEMjhBNTU1MkIzRkQ0MjcxNEZENTlFQzdBRjg1Qzg0QjA5RDM4QzQ0QUZEMEQ4NkYwREVCMDQzMEE3RjgzQTM0OTM1N0JGOUE0Nzg5MDE2RDNBNTYxRTdGQ0JGRUM4RDZCQTNGNjA1NDc3MzBBODBBRUZFNzAzQUIxNzgwQzVGQkVGRUJEODNDODdGMkFGOUY3NDc2RDkyQkZBQzZGMjlFQzlBMzg5NjhDQTQzMEY5QkJCQjFDMzA2MUY2Mjc5QjE3NTk4RTIzNEE3Q0JDRTg2NTg0Q0UyNDhDMUIwNkI2RUJGN0M3RjJFMkY1QUFCMTBERUI0RjUzQ0NEQUE1NTAxODY4RjBFQkFBODIzRDlCN0NBQUNBRUNCRUM4RTExOTM3QTM0Qzg4RDAxNzY5MzlGMkE3NTg4MjM5OTMxOUM0OEEyODAwMEIwNzQ4OUE4ODMwMTc0RURCNkY0OTIwQjA3ODFBNUE5MjY2QzgxRTNEMEVFMjA4OUJFMDg2NkZEQjg5N0Y3MzUwNTcwNkMwNDg4NjhDMDFCMDYyQUZENjE3RjUzMzdEREQzNTlGRkFDQUU3OEM1QTY5NDc2MURCRkRDNjFERUM0OTQ1NDQ3NzQwOUQwNEVBRjkyNjEwQzU3NkJEMzU1NUZCOEFBMjI1NTczMDYzM0JGQTVENzMxMjUzOUQ1RkFDNjI2MEQwNTAxMTBDODE0RTVCM0MyMzQ2MjY2RUZBMkMyODE5MTM3OTY1MjVFOTYzMDQ0RDM1NDNCNDQzNTc3Rjc5OUE2QTA1M0FFNjJCMzQ4QzU3OEJEOTVBRUQyNkM2RjYxQjIxREQ3MEU1OTA0RUQ4Q0JEQ0M0QTREOEY0QzgzQzc5OThCNTc4ODVGRjQ5MDEyQURDRTY1NTIwRUNEMTRFOUI4MDdEMERCNzVDNDY1MTBFOTk0OUQ5NjhCRDU0NkNFNjE0MThGNDI5NzdCRjRGNjcyNTBGN0ZCMkI1QTY5MjE5MkMyNTFDNDQ1OUI2NzcyQkNCMkQxRDc0NkJBQ0RCQkVFQ0ZFNDkwQUU4NEQ0NjgxMDNGQkZFQTk3NTBERDM2NkVEQUM2MzFCMzU4MUM3MTkzRDE1QzBGMDM1MTdEQzBCOEY5NEI2QTRCMDc5ODI2RUUzOUFDMjhDOTYzQkM1MTRFQkVENjQ3MENBRDdCOEQxQzFBMDc2QjMzRTI0MDVFMEVFNUZGRDlGMDI5MDE2M0U4QkQ1RTE3QTc1MzRBMjNGRDkyQTI0NDY5NDMxM0QwNUVGMzQzMUMyRTJEOUU0QkY4MzZBODQ2RUJFMURFMDFENkY2MDU0N0JDRDI4QjE3RkVCMERFMjI4RDc0MUEzQUI0QzFGODcxNzNCREQ3NzZFNzYyOEE5MjMxQTBFQzAwRDRDQzFEMkRFMUM3MUQxMDJEQzg4N0FDRTM5NDE5MUYyMEI3MTgwMkIzQjRDQ0M1NUE4OEFCMjI4N0E3MzNBRThCNEZDQ0FBOTkyNzA5MzJDQ0Q3RkE5NDI4QUUyNkYzN0RGRUIyMzM4NDBDRkRGRjdFREQzMDMxQjQwRTkzOEM1NjNBNzlCMUUwQ0VBMkVDQkRCNjlFMUVCOUJBNUY0MjgyOTFFNkE1MTZCQUNEQkJFRUNGRTQ5MEFFODRENDY4MTAzRkJGRUE5NzUwREQzNjZFREFDNjMxQjM1ODFDNzE5M0QxNUMwRjBGRUI0NjBEMEE4NDY4MkI0QTBBREYwQ0FGMEVGREI4QUYxQUIwNjNENzA0RjgxQ0Q4NkJDMERCOEMxMTA0M0ZFMDcyNDU4RDhEMUQzOTU2NzMwMTM4NjhCMjJENDI4NUU3NTM0QTIzRkQ5MkEyNDQ2OTQzMTNEMDVFRjM0MzFDMjRFQTU0NDdERUY1M0Y3NUFDMjM4MEM0REIzNEQ2ODFDREYyM0EzRjk3NDYzRjJGRjNCQzVGMTVBRkE1M0E2RjVDRDUxMzVFREQ4REQ4QUYxNUREMjMxOUJEMjBBNzQ1RDFEQ0MwQjM4OTlFQzIxNDI1M0QyNDQyOUIwREU0OUI4NkUzRjUwOTlGOTBDNkFEQjEwNDE3MkMwQ0YyMkJDMkYwRThFNjdFMjkwRDE5OEM0RDU2MzMyNDY0MzYzNjYwRkVDNDhDOUM4REE2NTY4MzQyMTEzRTIxQjE2MkVFQTAzM0NEQjA5Q0VENEU0NkQ1NTFEOUU5OTY5QkMwODI0RjAzQ0VFOTFDMzNGMEZGMjVBQzc0NzMwM0U2Q0QzNjlBMDQ1MzFDQ0FFMTVGODUyMjFCMDM5NjcwRUMxQUU5OUJFMENDQTc0MjI4NEU3RTYxOEUwNzgzNjc3RTA1NDY4QzY0MEZBQUMwQjFDMjk0MUUxRTFBN0MyQTZGN0QxREY5NjU5Q0EzRUQ5QTcyNzhDNTc0NzYyNzk5RTQ2Njk0QUY0MTZENkM0M0Q3NzE4MEUzQkJDMDUxNTA1MjIwNTY4RkI1MUVBMzk0MEI3OTk0MkRERjdDQTZDMzQ4QjA0N0QxMDhBOUUwNzhDOEZFMDZFNzQzNjI2NDU0MzAzODhGNzA4NjMyMzM1OUIyNDExMzlDMzY4NTlGMDI2NURDMkM3QjRGNTA5Q0NEQkNDOEFCNUFEOTkxRTU1N0E2NkU2NkJFNjNENUYyQkNFOTE1QjBGRUVGQkYzMEZDOTI3QTY2NDlFNjE3RUUzOUMyQzlDNDkwMjBEQUY3QTJBNzI0MkNBN0E0QjQwQTcyOEE3QjRFMDc0QzRBNjRCOTk0RjEzRTZDQjRENUEwMzJFMUNERTRBRDBEOTY2QjMyNUE2MDRCMjU2NEZGNEQzQTk5QTM3NTAzMUNCMkQ1NzU3MjE5QjQ1OURFRUQ1MzFGRDk4QkQxOEZBNDlGRDM4RDcyNThBNTVFQjg1MDY4OTI3NTUxRTdBODAxQTIyRTRFNjE0NkM4RUMxNjBFNzVDRDMzNUY5QjMzRjFFNjdGM0ExNEVCQjg2MDNEMUM3RDU0OUExNDQ2M0Q3NjQzQjNERDkzNjA1NkU3QkRCQzg1ODgyRkQ5NjdGMDNGNTgxMzk5ODFDMkMzNjBGODM1RjFBQ0YzMDA0NEUzREE3RkQwNzc1MTc0NzYyNTZDQ0Y3OEE4QTc4MzVDNUU5MUNCRjdFMDJFMTA5NDAxMThGNUM0N0JBN0M3NDRCN0M5OURBN0UyNUQ1NzQ0NjEyOTE0NTRGRjU4N0YyODVEMzIwMTNDQUYwQ0NFMTAyMDU1MkZBMDc4QjAxRDNDRTA5MjRFMDE5OTcyMEM4NzYwNEY0QzgzQzc5OThCNTc4ODVGRjQ5MDEyQURDRTY1NTIwRUNEMTRFOUI4MDdEMERCNzVDNDY1MTBFOTk0OUQ5NjhCRDU0NkNFNjE0MThGNDI5NzdCRjRGNjcyNTBGN0ZCMkMyNDUwQzYyMEYwQzk3Qzk4MEVBNUExNDcyQjkwOEFBQzQ1QTc0MEE5M0FDRDJBNEJBQjdEQzA0OEYwQzNBODZBQzFGNkFFODc3MkU1MTg2RUIyMEIwRTUwMzVGMzY2OEE0MjE2QkNGODVFQzBBNkQ2NTk1NjZGRjI4ODk5OEFGREEyMjY1NzIzRDQ5ODNGNjQxMTRBOTU5QTREQjY5RUQyQjFFQjlCQkI2MEFFMTRDRjU1RkZEN0U4MDUwNzRDQzYzMDZGN0QwMTI3MjU0NDcwQjkxQUNEMTIxMURGMDE4RDJFMkZFM0I5Q0VCNjVDRDlCNzdENjI2QzgzNTQxRUQ0MUQxMzRBMkE2QUFEQ0UxMTI4NjJFOEY1NzJFMUVBRjlFM0UzQjg2MkMzMkVFNjU4OTk4MEZFNEExMEUyMTRCNjBBMUNDN0NEQzk5NTdBQkEzOTkxQ0NBNUEwMDhERDNBNzMzNTgwQjJGQTEyNUQyQzcxMzgzOEFDM0FEQzMwREYxQkY4REU4ODVENjhFREQ5NkU4QkMwMDIyMkM0OUU1QzgwMTMyMjg5REZBNTdFMENFRTY5NjlEREM4Q0RFOTk4RjBFODUxQUIwQ0I1REFDMjc5RjQ0QTY4MEM1QjJBOUMyREM2MUYxQzk5NDk4M0YwMzBDOTVEQjYwOUI1REFDMDY1RTUxQjkyRkVDRTVGMjNEMkVGMDJDRDhCMEFBQjQ5QjMzODQ5OEM3NEJEODkzQjVFNEVBNUI2NDhGMjg3NjBBOTJCMUM0NDA4MDVFMUJDQUM3RTc0N0Q0MTg4NTA0MTNGMDY3RTMwRTc3QjI2OERBNjIyNkNGQjc2REVDMkEzQjI3Qzc5M0Y3RTA5NzVBOUVFMzE5MDdBOTlEMDhGNUFCQjU1MzI5REI4QkM1NTI5OUM2MEQ4M0Q2NDE3RjcwRUFBMURBNEM0QTJERjVENDMzRjAzODM3MUQ4Mjg1OUE5RUQ1NjMwRjA5MzRCMkIzQjZDNjg4NTY2NDYyNEJFMTFDNzFEMTAyREM4ODdBQ0UzOTQxOTFGMjBCNzE4MDJCNjAxNkUwNTlCMzk5ODA3QjgxNThFMTNFQTdGMDg1RjI5MjcwOTMyQ0NEN0ZBOTQyOEFFMjZGMzdERkVCMjMzODQwQ0ZERkY3RUREMzAzMUI0MEU5MzhDNTYzQTc5QjFFMjEzNzc1RDE5RUM5N0ZGMkRENkUyNDdCMTUxMDk2MTA5NUI5QzlERjZBN0U3Qjg3NzcwNTYyMjZGNjAwRDlGMUI0NTBBMDI5QzA1Q0JFMkFCRUQwN0Y1M0U3QjU1QzNERjNFMjM5NEU4MEY2QUZBQkE3QjVEMjM1MkYyNjFDMDNDMTY5QjBBNjdGQkU3MTA5MDNCNjYwNzA2MzE0MDVCOTJDOUYwNTkyOTFGQjdDQkRGMTcwOTA1QUQzRjBBRTgyODZBNkJEMUVCNzlEODE0NTdBODgxMTM4QkNGNDk4MzY4NjJDOTZFQUJBMkMzMzUyOTNGRUZCQUU3ODREQkM2NzVBMEZDQTEwNUNFMkNBOTQ5OTE1MkI5MjIyQzNDRjYyMzk1NUE4NjgzODE5MDZGRkM5MDM1OTczMkZENjlEREZBMkM1MUY5RTU2QTk4MDZCMjRGNkNBQjM2NjdFMzNGNjY3QzhDQ0EyODYzNzI3MjEzREM2Qzk0MzhDODEzRkI0Njc2QTA5RUMzNjAxOTUyNEJGRDdDQkIxNjFEMTY3MzhEQzgwQkY5MDAzOTc5OEQxNDMxQ0ZBRTU3NjNCQjE2RjEzNDJBNkIwRTYxNUMyNzI0NUMxNkQ5MzVFNzUwQUFFN0JGREY4NzEzNzA0Qjg5OTdGQTdFNjEyNDA2MTUzRTQ0Q0I4OURBNEE1RDFCMjY5QkVGRDBGMjY0NkFCRDdDRUM0NUE3NDBBOTNBQ0QyQTRCQUI3REMwNDhGMEMzQTg2QUMxRjZBRTg3NzJFNTE4NkVCMjBCMEU1MDM1RjM2NjhCRTMxNzNFQTg3QTAyM0I1MzM0RUJBMEJFM0I4MkU3Q0UzNDRCQjY2QUFGM0I2Njg1RTFFQ0Y1N0QzOUQ3Rjg3MjlCMjBEQUQzMTY4RDg2NTVFQzBEMUI1MEM1NEYyRDk2MzA2RjdEMDEyNzI1NDQ3MEI5MUFDRDEyMTFERjAxODYxNzkxRjQxMTc1Nzc0REM4Q0FGMzEyNDg2MDBCMDJBNTRCREJBQTg0NTE0MTBDOTA5QUFCNjQ3MkEyMkM5RjlBNzY2MDE2OUEwNDlGRThBNjcxMjgyMTg2NEM2MDU4MkI5MTAyOUNFM0Y0MDhGNDc1NzBBRUI4OTA0REQ5MzMzREIxNTBEQUQ0RUVBRjFBNzdCRURDRjg0QkJEODMxMzkxODZBOEM0QjZGRjM2OTIwMzBGQzFDQTFFMDlBQjg2OEQxMjM0QjBGNTM5RkVDODQ0RTREQzY0RTFGNzg3MkE4QjNDMDcxODYyOEM4RDNFMzEwMTdFMkEyNjBBMzhDNkI4RDhERDFGRTRBRDExRUU3MEMyODEzMjczMzJBNTgzRDI5NzJEQzdENjZDOTFFMTc0RjI5Qjk2MTM4N0E3QkIxMjg3MDE5MkZEMkIyNzdENTkxQjJDMDEwQzU2MDVGMjUzRUFBREQ3RTUwN0I0MzJCRjU1MjMwQkM0MzkxQTE2MkZDRjZEMDEyOTg1ODBBODcxMzY4NDc2NzdGM0VCM0M1NzNGQjU2RDA5NTY1RkM2RjI0NDBCMEEzRTRDNDQzRDY0Rjk2RjkwMTU5QTUyMDhFNUI4ODA4RDIwQzRBRTAzOTQ1NTNCMEJENDI1NDk2RjY2NzIzMjAxNDYwQ0M4MTY5Qjc4RTQ2M0Y5REYxOTlCRDM2QjU1MzQ3NTJGODRCRDE2MzdBQUVDQzU2NUE3QjlEODQ0MkYzNTE0MjFDRTBGMzYyNDRDMjQ5NDI0QkVBRjA1QUUwMEEyMzVCRDE2ODA0NzBCQ0YzNUEzMzI3N0NCNkVGNzc2N0E0QzIwNzAwNjI0RUQ4Mzk0RkM4NzJGMjU4NEYxRDgzMTc0NDM5NUMxOUNGNDgyNzNFODBCRDgwODBFNkU1QTM5QkEyRjRGMTJBMzgyOUFFRjc0NEE4NTA1NjRENkFEOUYyNEY1NDcwMTNDMkRDNjFGMUM5OTQ5ODNGMDMwQzk1REI2MDlCNURBQzA2NUU1MUI5MkZFQ0U1RjIzRDJFRjAyQ0Q4QjBBQUI0MkVBOUUwNkMwQUEwRjU2RjFGQjRFMUFBRjI4MTU5MTJENUU1RDg1RThCMTYxMDc5MzRERUI2Qzg2QjRERDk3QURCNkMwRjI5MjYwODRDMTNFRTJCRjVFRDcxOTYyQzRFM0IyN0M3OTNGN0UwOTc1QTlFRTMxOTA3QTk5RDA4RjU1MEQwQTE1RUQ4Q0Q2RDk2MDBBN0E0QjFFQTBBQ0JBODdFNkQwOUU4RjlDRTAzRkFERDI3RjNGN0RCMzAxQ0I0RDJBQzREMkJFREM2ODE4RDZBMDU3REFGOEFDNDgyNUMzOEMyNURFODkxMDc5NUI2QzI3RjZBRjZENDk2NkE5QkRGNTlFNzlCRjQyNEI1NERBRDc1OEU5OUNBNEE4RkQ0OTI3MDkzMkNDRDdGQTk0MjhBRTI2RjM3REZFQjIzMzg0MENGREZGN0VERDMwMzFCNDBFOTM4QzU2M0E3OUIxRUE4RENDRjdERkMyQ0QyRTIwNzIzODg1NDY4NjVGMDE4NkJBQ0RCQkVFQ0ZFNDkwQUU4NEQ0NjgxMDNGQkZFQTk3NTBERDM2NkVEQUM2MzFCMzU4MUM3MTkzRDE1QzBGMDBCODlDMkMxMEU3NDk5RjNCNjQ3OUFCNTE0QkZFOTI0MjgyODQ4Q0IxRDQ4RDY2RTVBQThFQjQwNThBQkJERUJDMTBFNTBERkRBQkE1REEzMzYxNUREQTE0N0VFRkQyQjc1MzRBMjNGRDkyQTI0NDY5NDMxM0QwNUVGMzQzMUMyQUZENTZFRURGRDA2QzhFMzI5QUY1QkMzMjAwNEE5QTg1MTI0RDRFMTA5QzQ0NzNENkJGMTA3MzI5M0U5OUE5QUIxRDEwQkQ0RjhEMTVENzc5NUYxQzNGOTRCOERBREY4OEYyRDA3MzFCRTFCQzQxNDU5OEYwNjk1MkZDNzYxNDlDNzcyRUY4MTc5QjFCQ0ZFOUEzOEQ0NTE4RjAyNzNDMkUyMUNCNTk5NEEyMjUzQjlEQzkzRkVDMEJEN0YyNTVCODU4NTNBMEI4MEFENzVBQUFEMTk4NDZBOEUxNzhGN0JCQkU0QzkzOUQ1OUU1RDY1QjIzMTgzRjY1OEMwNjhBMjY1OTYzRDY2NzgyMUFCQkJGRjcyNzYxOEE4MkNCMUE4MTE3MkFBQTAwRTY1Qzc4REUyMjkzRjUyRjA4MURDODFDQUEyRDZCNjlDRDIyMDBBMEQ3MDA4Q0M2Mzc4QkUyQjc3RTdGOUIxRTIzRTUyMjU1QTJFNTk0QTlCRjQ4MkM1RjhBQTQ0RTQxNEY4QTRBRDU2MzYyRDg3RkUzOENDRkExMDQ1OTNFNDJENDFGREYyQTkwNjRGNUY3MDQ1RkU5RkVGNDJEMDhEQzRGRkExOUFBNzZGMUNEQTUwMjY5OERFN0EwM0FBMUQyQzg2NTQ1M0ZBQTg4REI2QzdCMzI0NDg4OUZENTlFNTU3MjIxRDhDNUQ1MUE1NTkwMDhBRjM1MjRFNEQ0QkZCODRGQjI2RDA2RUYwODlBQTY5MzRDNDk5MDBCNzQyMUM3QTAxQUJGNEU0RTBGMzMyMTAzRUUyMjcxODZBOEM0QjZGRjM2OTIwMzBGQzFDQTFFMDlBQjg2OEQxMjM0QjBGNTM5RkVDODQ0RTREQzY0RTFGNzg3MkE4QUMzREZGODI3NEQwRUI5QTExQzBBMjU5MzM5MjBDMUQ4RDhERDFGRTRBRDExRUU3MEMyODEzMjczMzJBNTgzRDI5NzJEQzdENjZDOTFFMTc0RjI5Qjk2MTM4N0E3QkIxRUM2MUJEREE3MzMxRURCQjNBMjczMjQ0OEJEM0VDRjE5RENCRUNGMUE3NkE1MDRBRkU3OEM0MjNCMkI2NzAwMUY4MEI2M0M0MEQzQjVBRTQwNjhDMUYzNDJERjczRDM0NzNGQjU2RDA5NTY1RkM2RjI0NDBCMEEzRTRDNDQzRDY3QjYzOEMyODlBNTdEQ0FGN0ZEMUQ3RTk5MUJFQUZFODExRDJDNTlDM0EyMEYzQkM2NzdEOTBEM0FERjdBQzJEQzhBQTdBMkYyMkJEMjk3MEJDRjFEREMxMkExMkQxNTQ2MzdBQUVDQzU2NUE3QjlEODQ0MkYzNTE0MjFDRTBGMzAyN0JDODJCNjYyREQ5NzMwREEwQ0VFQzM4NThCNkJGNzBCQ0YzNUEzMzI3N0NCNkVGNzc2N0E0QzIwNzAwNjI0RUQ4Mzk0RkM4NzJGMjU4NEYxRDgzMTc0NDM5NUMxOTQ0MkM0MDVFQzhCNjEyNTVDMEEzRUUxMDIyMTdGRDQ1NjA0QzBDMDE2MDQzMjdDODREN0UzQzA1NDkwMkI0MURGQTI4N0Q1RjA2RjFBODBDMjZFRjg4MTA0NjFDOTEyNjk5QUZBRkMxNDNGOTREOEMzOEM1NDE3N0FCRjk3MTgxQkMxREQ0QTUwMkNBODg0QUFDRTcwM0JFRjdBMDE4REI5N0YzMzU1REMwODlFNENFODQ2NTZCMEI4NUYyQTlCMEZBODUzRTU2QzY4N0M2RThEOUYxMTc3MTI2NDhBMjcwNDAzNzZCRTRFODU3RDMxNjAzNUUxNDVFNEUxODIxQUQzQTM3QTk0M0M4M0FCQUVDQzc0QjhBMjQwQzdDM0I0N0QzQTY4MUQ5ODhEOUU2MTNEQUY5MDYxRDNGNTBGQjcwN0Y0NTI0NDM3MzVGOTQzN0QzMjg3QTRFRTI2N0IzM0U0QzJENUZDRDkzREZCM0E3Q0U5RDI2REI4OEE2RjA5MzY4RUEwNDUyOTY3NzFDRDQyMjIxNTFBRjg1MTZBM0NEOUI1QTRCNDNFRTIyMTNEMkI1MDgxM0VFRUFCMzlFODNFRDlFNjVCODk3QzE3NjAxMkMyRkMxNkY3QjQ5RTEzRkZFODYyMTU2RkQ4RDY1NUM2RDY3REEyRjA1RjYzOThFMjgwMDBCMDc0ODlBODgzMDE3NEVEQjZGNDkyMEIwNzgxQTVBOTI2NkM4MUUzRDBFRTIwODlCRTA4NjZGREI4OUVFOUYzQTMwN0Y1QUQ2QzZGMjdFODA4RDJFRTc2NUFBM0FENzk4NzQ5NjM1MTNBMUFCQUJBREM4OTQwNjFDNjgwRjIyRjAyQ0FCQjJBNzJERDBBMEYyNzk2QjExQzQyQTM1NTVGQjhBQTIyNTU3MzA2MzNCRkE1RDczMTI1MzlEM0FEOTE2NkRCMkFFODgzQjlEN0U0RTJFQzU2RUUxQkZDMEI3MUM1RDRERkQ2RTdCMDFGQjBGOEQ5OUQxNEQ5REU5OTU5MEI5RDVDRTVBMDhCQzVCRDc3MjkwOUIyMkI5RUQyNDMyRkVCNTE4NTM1OEZCMUFEMTJBMEQ5NDU4NzhGNEM4M0M3OTk4QjU3ODg1RkY0OTAxMkFEQ0U2NTUyMEVDRDE0RTlCODA3RDBEQjc1QzQ2NTEwRTk5NDlEOTY4QkQ1NDZDRTYxNDE4RjQyOTc3QkY0RjY3MjUwRjdGQjJFRTkxMDdDOTM5MDY4MDcwNEQzMUJCNzEyQTYzRkI0QjZCQUNEQkJFRUNGRTQ5MEFFODRENDY4MTAzRkJGRUE5NzUwREQzNjZFREFDNjMxQjM1ODFDNzE5M0QxNUMwRjA1QzAzNjc0Qzg2MjY1RTE4QzlDNkUyMEVFREYwQzM2NzNENzQyRjY3NzlERUNBMTgwNDU0QkM0NTI2NDI4OTZFODNDM0Y3NEZEQ0RBRjc5QzUxQjE3ODlCQzgyOTIzNEM3NTM0QTIzRkQ5MkEyNDQ2OTQzMTNEMDVFRjM0MzFDMjAxMUI0MjM5ODIwQjVENEZFRUY0NUIwRUQ0QTRGMDAzMTQ5NjI2NTE4RjU4Q0E0QTkwRDU0NzRGRjkyNjYzNzdDNEM1NEQyMEIzNkYwQzQ4MDkzMzAwMzIyRDgzM0UwMkE3RTJFMjdGNzY4NTlCMjY1QTI4RjU2NDRFRjgxMTgzOUM1QTNBQkUxQ0VBNzgzRDIxNTU1NENFMzEzOTg2MURFMjFDQjU5OTRBMjI1M0I5REM5M0ZFQzBCRDdGMjU1Qjg1ODUzQTBCODBBRDc1QUFBRDE5ODQ2QThFMTc4RjdCNzg4MUY2NDg2QzMzMzczNDA2RDU2NDY0MzgzNzc3QzRCNDUwQTAyOUMwNUNCRTJBQkVEMDdGNTNFN0I1NUMzREYzRTIzOTRFODBGNkFGQUJBN0I1RDIzNTJGMjYxQzAzQTY0Q0M5MDkwMjVEOUQ3RUU5QjFFRDJCNjg0RDQ4MzZGRUQ3NjM2QzU1MkUzREQzQUFCNUU0OEY3RTk0MkRBMTgzQTkyQkM2ODRBQTIyNUNDODhDMjE5QTRDRjVDMUVBODYyQzk2RUFCQTJDMzM1MjkzRkVGQkFFNzg0REJDNjc4OUMwQUNEM0Y3RDE0Q0RDQUJFNTEwMkEzRjc2NjNCMkYzODlFMEQ4OTYzQTM2Q0Q1RjcwQUQ5RTM1RkYxQkNGOUE5RDJEREVGODY3MjQwNkMzMDU5M0E3MUI2NkQwODM2N0M4Q0NBMjg2MzcyNzIxM0RDNkM5NDM4QzgxM0ZCNEJERjM5MkJDREY2MUJGM0ZGMzk2QjVCQzFCNkM3RTk3REM4MEJGOTAwMzk3OThEMTQzMUNGQUU1NzYzQkIxNkYxMzQyQTZCMEU2MTVDMjcyNDVDMTZEOTM1RTc1MEFBRTAzRDYzQTFDNDZBODJDNjUzRDA5MENGNURDODlFRUVBREEyRjZEOEIxMkUyOTA4RUI3QkMyQjZBQTlGRDExRjk0NTMxQ0NBRTE1Rjg1MjIxQjAzOTY3MEVDMUFFOTlCRTBDQ0E3NDIyODRFN0U2MThFMDc4MzY3N0UwNTQ2OEM2MDk5NkM4MDJGQzJBMjc3RUZDMzgwMkFDNEFDRkVCQjRBOUMyNDRDMzQ0NjUyMDY2Nzk0NDQ1MjU0QkQ1QkNFQjE2RDZDNDNENzcxODBFM0JCQzA1MTUwNTIyMDU2OEZCNTFFQTM5NDBCNzk5NDJEREY3Q0E2QzM0OEIwNDdEMTAxQThCOTkyQjREMTZFMUU0NTRCQUM2QzAzN0YzMjEwNzYzMjMzNTlCMjQxMTM5QzM2ODU5RjAyNjVEQzJDN0I0Q0ZEQzFDOEVGOTk4MTVFRjdDMDAzQjg0MDAwMEE2RjA2RDJGNDc2OEMxQUE1NThGNzMyN0I3NUE2NDc4RTQ4MTYxN0VFMzlDMkM5QzQ5MDIwREFGN0EyQTcyNDJDQTdBNEI0MEE3MjhBN0I0RTA3NEM0QTY0Qjk5NEYxM0U2Q0JGN0NDQUMyQkRENEE1RDA2OUFFQzI0QzZGNzRGMUIzN0QyREFCREE5REVDQjE3RkQ5OUE0MUYxMUIzNzNFMzdDRkEyODdENUYwNkYxQTgwQzI2RUY4ODEwNDYxQzkxMjY5OUFGQUZDMTQzRjk0RDhDMzhDNTQxNzdBQkY5NzE4MTZCNTI5RjlFRTM0QjlBNTk5NEU2OUI4QjlERjdBRTFBQzU1ODFERjhBODM5NDRCRkZDM0Q0MkZCNjYyM0E1NzM4NDQ3MDU0RUVERUQyREVFNUE4QzQ0QkIwNkZGODI4OTQwMzc2QkU0RTg1N0QzMTYwMzVFMTQ1RTRFMTgyMUFEMTE4OURDRjQxQjk1NTg0NjE1QUIwRUI0RkFGRkE1Q0RCMDU3NDBFNTE3QTNFRUQxNjA2ODVEMzBCOERCNjEzRTE1RDRFN0YwOEZFOTZBOTAwQUMyRkM0NTJCOTQzQjRBRDRBREI3Q0ZBNUMwOUMyNTlCNzkxMDEzMDY2OTlCQUY2OEVBMDQ1Mjk2NzcxQ0Q0MjIyMTUxQUY4NTE2QTNDRDlCNUE0QjQzRUUyMjEzRDJCNTA4MTNFRUVBQjM5RTgzNTlGMEExRjJDOUY2QTRBMDk2MjZDMThERjQ1OTkwRDRDMDJBQUE0MDczNzkyMzA3REQ0MjZBOTk4OUMyQzJBQzM4NTkxQkFBNDZFRUQ1RUIxQ0JDNjJCRDJEMEE2RjU2QzNGQzc5RkEzN0RGQ0ZCMkZENzQ3NkYzM0REOTYyMzkxODNDMTAxRDkyRjE2ODQ4OEJFNUJFMTA4REZDRTA4NzBCNUM1NkFEREQ0OUREMDlGMTUzOTUwQTUwNjJFNzQwMUExNjEwQkU1ODZDMDUzNDlFOUIzQkYxOUNGODI1M0JDMkQ0NUE4Mzg0RDRGRjBDMzM5MzRFMkRCODg5QjdDRjJCMjA4MEMyNjQwODBBNjNCRDJFRjg2NkNCMEJGQThFN0VCNzZDNEI4QzZCMTVENzAzRkNCNzU3RUVEODFFMUE4Rjc0Mjg4MUUxQkREOTZCMkNBQjFFODFDRTJEMUMxQ0JBN0FBOEQwMjIwMjE4NTdEMDk5RkQ5ODk2OUFCNDI2REY2OTQyNTgwMUYzQjZBMTRDNjc3NkRBQjI3REIwNTc4NEUyMDY3QjQ0RkNFNUUyOTk5NzA3QzMzNzcxMDg2RTYxMUIxOUQxOUZCMUQ3QUVEOEFFNjFDOUE1RUIxQTFGMzFEMEFGNTE5NUEyRTlCRTVCQjNEMTRBRTE0NDhERTBDNDVBNzQwQTkzQUNEMkE0QkFCN0RDMDQ4RjBDM0E4NkYxMjAyQzkyRkE0OEMwODkzMzRFQTYxMEZBNjNBMjJCRkY0MEE2M0MwMDJFNEFBQUU5Mjk4RjgzRTc3RTREQTYzRjNENjY1NDdBOENEQ0Q1NDY1NDdEREZFRjEzODM5ODJBMTkxOERFRkJFQ0E1MEI1RUE4QTZDNTRBQjlGMEVGMzU1NUZCOEFBMjI1NTczMDYzM0JGQTVENzMxMjUzOURGOTY2NzhCQ0VENjg3OEJCNDgyMDFGMTAzNzNDOURCODRFNjE3NjU5QjYyOURDOEU5NkY4QjBFQUJGRjIzOEEwMEQ4MzgxNTg5OEYwMTg2ODdFQ0ExNDRCRkREMTY3MjY3REI1NEZFOUM3REE3ODFCRjQ3RkIzMUYzRjFCNjI5MkY0QzgzQzc5OThCNTc4ODVGRjQ5MDEyQURDRTY1NTIwQzgzRkY1Mjk4QzlBRUVGQUNCNDU1NzFCQjY5MTU0M0Q2NjAxODdBQjEwQzI2OTQ5QURGQjlGQkQ5QzQ2QUE5QzQzMEI1RjBGOEVEM0Y5MzYyQUQ1NjJGMzQzREVBMjVCNkJBQ0RCQkVFQ0ZFNDkwQUU4NEQ0NjgxMDNGQkZFQTkyNkYzOUVBQTBEOEE0OUE0NEM1REEzMTdFOUQ3OEFGMDZBQTkwQzExMDg2QkY4NjIwQzVFN0Y0REY0MjdDM0FDNjMyNDk1OUQ2NUI2QTNFQzc3RENDNDgxMTlCOTVGNEIwMjBGNUEzQ0Q3RkMxRDlEQjdEQUZCNTY4MjFBRTk2NzEwNDU5M0U0MkQ0MUZERjJBOTA2NEY1RjcwNDVGRTlGQ0FFMjBFRjFFQ0U5NTI2NjA0RTQzRjU2RUU3RUY4ODc0NzY5N0E3REUzRjk3QjhGQzMwMkFEQkM3REJFQkFENzRDM0FERjVEMjkxRkE5MTVEMEUyQjY3RjYyRDFBOTYyNUU2OEZCQjJCQTI1NjlDOUM5MkU5RUJBNTVEOTAxNDQ2RTNGNTA5OUY5MEM2QURCMTA0MTcyQzBDRjIyQkMyRjBFOEU2N0UyOTBEMTk4QzRENTYzMzI0NjQzNjM2NjBGREFENDFFMjRDMkRFQThCMEMxNDQ4QzYyQTZGMkEyNDBGNkRDRjkwMTYwNkY3OTdEQzQ4MjkyMzkyOEZCQzU3MEQ2NTMwMDYwRjk0RTE4OTgxNzAxMEIyNEJGMjJFMURDNDEzNUMzQjlCMDdEODBBMjA5QzYxQzYzQzA3RDIzOTk2QkU2MjE1QjE2NzkxQTI1RDE3QkU1OTNGNzdFNzhEMzFGQzdCODFFMjdEM0QxREE2QkVCNUVBODc5OUY0QjM3NTBENEUyNDBBREVFRTFGNjBFMzRBQTIxRTFDMkRCMTIxMjg1MjgzQjIyRDY1OTY3MUJFQzMwMDA2OTdGMEZCMkU3MTI4NUYwREQ2NjIxQ0M5MjdCRUQzMjc4QkI5MzM5RDNBMzZCRjQ4REI1REQxOEY4MkUzNzgzQkZGNjQ5NjA0RDc0RDlGMEE5QkMzMjgyRUUzOUFDNzg0OTRBRTYxMzYzN0FBRUNDNTY1QTdCOUQ4NDQyRjM1MTQyMUNFMEYzOTYwQUM0QzU3QTUyNkE1MEZDOUQxODVEODlFNjI4RTE3MEJDRjM1QTMzMjc3Q0I2RUY3NzY3QTRDMjA3MDA2MjRFRDgzOTRGQzg3MkYyNTg0RjFEODMxNzQ0Mzk1QzE5OUFGNTE5OTFGNjU0RjYzMjI0NEVBNUFBODEzRUI5MUY3NEE3QjE2NkJGQTgyN0RBOTBGNTI2MkNFM0FBMkYzM0ZBMjg3RDVGMDZGMUE4MEMyNkVGODgxMDQ2MUM5MTI2OTlBRkFGQzE0M0Y5NEQ4QzM4QzU0MTc3QUJGOTcxODEzOTgxQUQxRDYzRUUxODI2MkIyMUIyMUExNkMyMjk2RDEyRjQ1QTAwQjNEOEU3MzQ2RUY5Q0VDNEQyODQ4REY2QTMwODkwMzg1MjcxQkU2OUY0NDA5RkU3RDIxOURCMzM0MDM3NkJFNEU4NTdEMzE2MDM1RTE0NUU0RTE4MjFBRDVDNzJCRDMyNDU1OUFFODc2MUQ2NEM0QzQzQzlEOTQyMTY0MTkxRjFDRjk5NjY5NkE1RTMzNEU3QjZDNDM4MjgzRENGMTVDQzVBMjRGOEU2Qjc4MzhCMjAyM0VCMzREOEE3MzUyMDJDQUNGMTg1RjNGMDQzQTE0NjQzQkUxMEJGREY2OTQyNTgwMUYzQjZBMTRDNjc3NkRBQjI3REIwNTc0NzQ2OTY2NUE2NzBGQkRFRDgxMEYyMDM5NDNCMDExOTY3OTk1RUM4NjJBODQzNjlBNDFCQkRGRkMyNDc4Q0VFMEExQjI4MDE2Q0RFODA0QTk5QjIwN0RGQjdFQjI4RUU4RDhERDFGRTRBRDExRUU3MEMyODEzMjczMzJBNTgzRDI5NzJEQzdENjZDOTFFMTc0RjI5Qjk2MTM4N0E3QkIxNUU3MUVDRkE2RkI5RDFCMkUyOUQ5NjdDRjFBQjJBQUIyMUVEQzAwMUVBQTBEMTQzRDdENjM2RTc3NTJDMzQwRDUyQzVERjY3MjM3Q0I2NURBQjE4RDFGRjc3MUU1MDE2NzNGQjU2RDA5NTY1RkM2RjI0NDBCMEEzRTRDNDQzRDY4RkRCRDQ1RUExNkFGNDM3Q0MyNDE0Nzg0MUIzRTlFNzE1RTREMTNGN0Y3NzlDQjY5QTA0NTA3NzM0RjFGMTVEMzEwRUU3RkNCRTNEQTY3NUEzNzI1QTM1NzMwNjgyMTY2MzdBQUVDQzU2NUE3QjlEODQ0MkYzNTE0MjFDRTBGMzFEOEE3OEEwQTg3OUY0MDU4M0ZGQzBCMTY1RThENTBCNzBCQ0YzNUEzMzI3N0NCNkVGNzc2N0E0QzIwNzAwNjI0RUQ4Mzk0RkM4NzJGMjU4NEYxRDgzMTc0NDM5NUMxOTU1MEM5MzRGQkVFODBFRjA2MTIzMUUyODJBNTQxMzMwOUVFRkJFNURFQTM0OURCMEY1QTVERDY3MjBCNjkzRUFGQTI4N0Q1RjA2RjFBODBDMjZFRjg4MTA0NjFDOTEyNjNGNEUwODdCNzZDRTdFMUJDMEE0NzUyNTYxRTk4OEFDRkYzQjgxMUY1RjQ3QURDRUZCOTM2QzMzQ0I3RjUxMkUwMkEzNTc3MjhFQkVFNDdCNjhCRDRDRjI0MTA0RkQxNTE2RDZDNDNENzcxODBFM0JCQzA1MTUwNTIyMDU2OEZCNTFFQTM5NDBCNzk5NDJEREY3Q0E2QzM0OEIwNDdEMTA0NEE4MkQ4MzIwRkU0ODI3NUUyOUJFRTY0QUQ5NTBGRTNEQTAyMjg1MUFGREM0NkJBN0QzMzEwMkYzRDk4RjY1OTYwNjhFMTEzMzhEODQ2NEY0MzlDOTNENkIxMDc1OUEwNzYwRjI5MDUyNjI3QkNGNjM5RDFENzhGN0M5MjU5QzY4RUEwNDUyOTY3NzFDRDQyMjIxNTFBRjg1MTZBM0NERDkwNkE5RjJCQUI4NENCOTYxOTRDMDBFN0MzOEFDMTY2RDM4Nzg0M0FCREI5NkY3NjZGQzRFNjk1NDMwQTc1NTg0MkE5OEVBODE0QTY2QkMyNEJCQjJDRUVDRUM2RUVBMjgwMDBCMDc0ODlBODgzMDE3NEVEQjZGNDkyMEIwNzgxQTVBOTI2NkM4MUUzRDBFRTIwODlCRTA4NjZGREI4OUJDQTJDMEVBMzRCQjMyQTJCNDU1REIyMzNFQzI5Q0UwRTcxNjhGMDNCNzEzODg1MUI3RjhCQzBBRDdGMTU1M0M1REQ1MDU5OUE3RTY0NjM3RUZDODkxOTZFOTcxRkZBNDM1NTVGQjhBQTIyNTU3MzA2MzNCRkE1RDczMTI1MzlEMkU4RkMyQjlCOUY5M0QxQ0M3QkY1OENCMTc4NERGQ0IxRkMzREU3NjBFRjNGNkI4OTdEREJCQzJBMDQ4ODZDQUYyMDQ2NzEzNjFBRkQ0RkE1ODc4NTcxQUU0REM3NjIyRTRDQzQxMzA3RUQ1MkQyMEUyQ0FCN0QyMTc2RThGNjNGNEM4M0M3OTk4QjU3ODg1RkY0OTAxMkFEQ0U2NTUyMEVDRDE0RTlCODA3RDBEQjc1QzQ2NTEwRTk5NDlEOTY4NERDNjIxNEIxNDA3NzQ3Qzk5RDgxODk1Q0VFRDJCMURBRTc0QzIwQzkzMUM2OEZGQUNBMkIyNTdBRjZGRjYwQTZCQUNEQkJFRUNGRTQ5MEFFODRENDY4MTAzRkJGRUE5NzUwREQzNjZFREFDNjMxQjM1ODFDNzE5M0QxNUMwRjBCNTM4ODJGMUQ3OTEwMDk1RDhBQzc4M0U4RURGNTVFNUI4MzYwN0Y2RDI5RkQ0NjYxQzE4OTQxODAyMDdBOTFENTU2MTQ1MjQxODlEREZBRUY2QjIwNjc1MUE2NDE2QUQ3NTM0QTIzRkQ5MkEyNDQ2OTQzMTNEMDVFRjM0MzFDMkRBNjNBODY2OTc3OUQwQzAyRjBENkZBMTdCODgxODc1Q0EwNzZGRTFDRUM0QjU4MkZCMTU0NTUyNDJENTU1MDFGODREQzA2OUYzMEUxNThCRDkyRDY2RkJDM0Q2NDMwNDFEQjRGNzdDMkE0NEZENEE2MDRCMzExQTgyMTQxRjg1NkUzRjUwOTlGOTBDNkFEQjEwNDE3MkMwQ0YyMkJDMkYwRThFNjdFMjkwRDE5OEM0RDU2MzMyNDY0MzYzNjYwRkVDNDhDOUM4REE2NTY4MzQyMTEzRTIxQjE2MkVFQTAzMDI2OTFBRkEyOTZBQzI2NTlGQjlBNTZCMUNBOEEzQzZENjUzMDA2MEY5NEUxODk4MTcwMTBCMjRCRjIyRTFEQzQxMzVDM0I5QjA3RDgwQTIwOU...

It will throw an exception:

ResourceUnavailable: Program 'python.exe' failed to run: An error occurred trying to start process 'C:\Users\ethan\anaconda3\python.exe' with working directory 'C:\Users\ethan'. Filename or extension is too long At line:1 char:1

which is a windows system limitation. It can mitigation by Windows Registry item: LongPathsEnabled, but still not enough in this case.

since it's not usual but more or less encountered at the time of use. It should be solve by tools itself.

Error Running PyCript on Macbook Air M1 | command not found

Have you gone through the Documentation or Video Tutorial

Describe the bug
Documenting it here for reference if someone faces same issue in future. Thank you for the awesome work!

PyCript could not correctly determine path of installed python and node and logged following error on Log tab:
/bin/sh: python: command not found

Workaround for me was to use absolute paths in file ./pycript/execution.py at L8 and L10 as suggested in python doc here

        if selectedlang == "JavaScript":
            command.extend(["/usr/local/bin/node", '"' + path + '"'])  # Surround path with double quotes
        elif selectedlang == "Python":
            command.extend(["/usr/local/bin/python3", '"' + path + '"'])  # Surround path with double quotes

@Anof-cyber maybe determining path at runtime using shutil.which() would help here?

To Reproduce
Steps to reproduce the behavior:

  1. Install PyCript from BAppStore or github
  2. Configure the required options in Config tab
  3. Enable logging in Log tab
  4. Try to encrypt or decrypt values
  5. Error as stated above is displayed

Expected behavior
Pycript should be able to determine installation path of python and node correctly

Screenshots
image

Desktop (please complete the following information):

  • OS: MacOS 14.1.2 (Macbook Air M1)
  • BurpSuite Version: v2024.3.1.4
  • PyCript Version: 0.3

burp安装失败

image
image
jython也是2.7.0的版本,是因为我的java版本低了,他报错“ImportError: cannot import name io”吗?

JSON payload includes an extra space when using python scripts

Have you gone through the Documentation or Video Tutorial

Describe the bug
When you use the automatic encryption feature with Python along with the Request Type of parameter value, the resulting payload adds an additional space in the json body causing an error. It is between the key and the value (after the colon).

To Reproduce
Steps to reproduce the behavior:

  1. Configure settings similar to screenshot below
  2. Use automatic encrypt function with a JSON request
  3. Observe the extra space in the resulting request in the Logger/Comparer tab of BurpSuite

Expected behavior
An extra space should not be added, the payload should sit exactly in the same spot as before.
This is not an issue with the encrypting script, as the resulting payload is exactly correct. Removing the space causes the request to successfully pass.

Screenshots
image
image

Desktop (please complete the following information):

  • PyCript Version .3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.