summaryrefslogtreecommitdiff
path: root/python/openvino/demo/ip/intel_ai_ip/verilog/dla_xbar_pkg.sv
diff options
context:
space:
mode:
Diffstat (limited to 'python/openvino/demo/ip/intel_ai_ip/verilog/dla_xbar_pkg.sv')
-rw-r--r--python/openvino/demo/ip/intel_ai_ip/verilog/dla_xbar_pkg.sv283
1 files changed, 283 insertions, 0 deletions
diff --git a/python/openvino/demo/ip/intel_ai_ip/verilog/dla_xbar_pkg.sv b/python/openvino/demo/ip/intel_ai_ip/verilog/dla_xbar_pkg.sv
new file mode 100644
index 0000000..b68801c
--- /dev/null
+++ b/python/openvino/demo/ip/intel_ai_ip/verilog/dla_xbar_pkg.sv
@@ -0,0 +1,283 @@
+`pragma protect begin_protected
+`pragma protect version=1
+`pragma protect author="Intel Corporation"
+`pragma protect encrypt_agent="Quartus Prime Pro Software"
+`pragma protect encrypt_agent_info="17.1"
+
+`pragma protect key_keyowner="Intel Corporation"
+`pragma protect key_method="rsa"
+`pragma protect key_keyname="Intel-FPGA-Quartus-RSA-1"
+`pragma protect encoding=(enctype = "base64", line_length = 76, bytes = 256)
+`pragma protect key_block
+F7k8uDqDvNyiINVwYW6G1j4hYE6jeFw8mGfodOcDqsLk/fFTVZhvii3XMpXh40irgOe2P+p0b5cc
+V08VFlJtRcI+CQG6wLrK9vS8ko2PmbtbY05yunSbBTuPOtd/nFaA9fgo4fVhMYFUkvmGIliHIWhd
+Eg0WUPNqUNypqmO31Oo60YMOfsiNaKEyS1xgBzvIMA0IwMGi0ZTlqgeuIlbkCfzHZaiQ+deAzK1w
+7369kieOZjjljvXR6QfjshNva43HG3xiUpufU3MU9fo27hFkT/qRybA+8dkFpyPUbnp7Egg8ZrOq
+3LMF5u0z2Q2MDul01CqAIzGw9FEKXL4KkRZDfA==
+
+`pragma protect data_method="aes128-cbc"
+`pragma protect encoding=(enctype = "base64", line_length = 76, bytes = 14912)
+`pragma protect data_block
+QZRS93KiZePGRZu2e09+a09DaKrNsMNKr8CYhFk5i0rVvISCcTiYsIfCl2KoMEFqGiUWxf9ylsmP
+6Rbgk40WssQNPTO6pEf8loGmAjmeVRQq857ilokiCgYTJFVUGeBBn2th0WHXHzFO6McdhbfpUdnm
+v8VF2RIF1mpkxxnEZnPFvQL3j9fMgV3RnPofnI3bs+6PwdNgOuacPapu4gRNLR/mgWl33lCN42uX
+4dT+tJ/dUENnd/4ud/7sczrxeqYdTJgGxbQX/CNHBvsFCZI+212jt/jEUjvNG6c+qSG/bJsgsoCp
+VruMDkkdhmIusLUbqw4dRk8LYotNH/+kJB4tCB/zllHIPMUGI4Bmf4rBhbzxol4QpCU9MUT5fR3s
+TLK3Fz677YC3IVP9lys9Ocl4cjIBxLwo63CWI4LnHkBVrvlZjaCcNPco+W1pBhn/RMUvYo29KnGg
+Oq1MXRiPeMyA5jhRk3fg/Csdm5d2V+/e/QBDeqz9szjW5hqzKKOgNYKetK2B/5rd7/l1yBhRGTIX
+xd6idRRSvDjldfmp5ek2krggRD5cmZrrH5U1V64iQegxnoUQ3ngkKp1WVCjBPKTg/V+yonBFnYBp
+fFrpEF+mqLCFR+DdPnSDvThZHRDmbqdtw6oGKkdxcy7mhrO5vI3DBid3sjOXiny5IPp8OQE1+FRs
+qhpOIudjr56H2+zjP3EL6I8KhXccOJylV7A1r2yf+gOfUSCEwaLW/QVP5FaKimU2BJHb+WbbnJyn
+CVzEcZBzBl+/6o36XX2FlMXXKJPkAXcOY59CuthwtcGsx1A7cZ3oNTeb8OL03maZTvc1odSFxAA5
+rdw5Ah55wX1l0lcNJKO7yKeZKCATVdzewFcD25qzPzxRxWMxOrijOXDztOL9zOLPd5MLph2ecPDa
+HJx4eWh4OH7m7v1j6sjwlippqXuYKysjNTbCjCstbG371+oWpCLO3E631UvVvIBvzcMygO3d7MbG
+eCl76PGpc9f0YiYwtxeSqwQWec36o51yLfN2QZ3Fu0DeOFnH/oqMOX5F1YLhzFI32G7o4QLycYDL
+S1I9Fo1Wws5ZyKejedIcWa0R9pgSnIu/QD4f3MF12B0K0Zs6ixp3/9WHDBaV5sAmFN6T3PeS9nat
+C/DDfJE9kFcFDjx4LsDHf+yxzRIKfRGZ0mJOJnJ0QzrHtM6FBjRCdhto+Nw/tcarZlDJ9U7CXBBa
+Q/vGTTSUZBOM0oNYTaZSR24+qfmsS8iHoa35klD6iztocc8m658xRiNbp/W/oISMcsLVM7tDvDlK
+Bsoaz5iAnkePXZ2WjDAsb0aS2WFtf5DvK0zUSgwl07+CD4VwZzY9jOxRUWq1bIxlu1hwucLOkEWG
+/HQortxQUr8NAI9dx3r2QqX2a1wHAzsWpOqJpN7p+UjWmmZah+Oli4a/kGadD7Z3Z+4dYcEfJCwQ
+Fmhnibh13ru9ZwboEtSOBD1n6c+mcPHXL3dug2wHV6+24Uzj4sEVBBpQilI2i3/pXn0XGHzv4lR2
+AJ5OuDBgRmq+SngoffMo+hZ5s6pBzNh/epk/9Iyu0YxQ5+brz3ZWpIGK2GIALkcI7Akzr/D8bGzE
+mjpFChb7uHlk0t7p4BOB2XzC6JoTjluJMY5mVhqLImVnQLHxX3mhanDjLIwEz+9r2IGtfuO4bTOT
+733Pmdbq1YipFVLk54QpY/+MCcYUc6KvsT03gI5GLQ06ZIVKVIkutvfqYaGFSd7J0PyL0J1fLvci
+SJ3ZkWKfCBXqPPnCoDoCsiXd4VbgNO8xb7wfnW85jDx+yaQwS6CV2BSsA4MrDKUpNdNc6beGGWPY
+LalOHBxFA2UZGLDtDRlIMsz5ZF0Ij/hiWHrI4dQ5KHeG6CnHmorBg63SM+T5/tjh7FobGmEcTnXJ
+4M7QdP5x+n19nWXGJv7BxjTwUfKuKirL9KPtsorigjvK9JNp7XMpfoSU1fktN6ZgNoqUWg5V0CLU
+SXogvnI4RORuqrtBLh6gaQfPs4Zu81MVWcqkLp1iarHTtwJyU6vbYERHdZFGYoJbUXI3yHqXuxLz
+WydWjIDKyFfFG0zFtl2RqWOsy1G3bfF+p0RExMNBZPjOVlY5dyoMVbvD5DxwLTFukSPajrrV5EJs
+FcI0hQwUNGPMbTx59NMlYPlpuxamny3L9Ybg6tYAJtxeFIc4GXIpGch1Oa99iz033TNbIzzzTFjR
+MWsBjGAc8caUgUMcdSiPwvUJ17arkze+xpa91qVgvmP2lPLDYPGqxAkWsYPpkaWxeXHZ33sWqz6e
+SXjFgHx7Akf3QpC2R4xTZ76P6Kh/REXiawYWK7cPlQbmvKhKQW3D4Az6nMnbTIz7iIWxS+G4GdTe
+FXlZbY1Xs2d7vt3rPV6rjlvr+iOVFy4OPD8qRVOwcfWevNgy9NUdYYqnI3r6CBmzvNxPYLXwQQp5
+eTi+20AUTLaksFcfYXXew2gfCgqjmWkHn2KOPHCg2IETDtd4yjexlvWOvWhbIrRV6KAibHNxGogV
+OJqmVFdvJS/5vv2OYjQEpWDHhllMTn770PjQzWXIR6zA0LFI9W888td42zNAU+hyHrQUZ4I6AS2T
+eRIaslAoHlGgYYWm4RABW1xM4PYJmqe2qFkmkNmRjYUyrMKavLmV0wQ0reKv4JZtzWDEBqMaWKkT
+eJ/U4YuClzp8DeSPUvUSXw6aAkLrCBma908WcuPRJVWa4xdr4nGEJRPbFu6EEZl2q60l67VJKiEs
+7j+g1fFUWEpzKxdoLJGYUo8Seo36evGsONZy30CjJI3bKTdXVwSNvN3toAMb7IyNUr6+wM8CCDMM
+P6QU/I2uwory954SypuOUnSwgSjOn74OdXLDLhSC9/2DosGVBNobUVt3oETzSYsaIRQYoNx//PAb
+tbpV+Yf2hYxJTxPrzoGwsTSCOW4uNXxQmlZLsYdvuo/yhVyOAp2rV69XSupYwuhqS5u4AuzTPIX7
+WBTmScN6JRgxVHG5PcS3F/AMdU/srdC8HDBvmqIBnNOwtAUr2VaE1Mg1Sy5d2w9ghC2C3td1Qzm6
+g2mL9YtUlS0Em9v45+ymVRaPOAQloz/Qy+t2v/jcQbsz280UgYSxmTY3fluKhbBM4VA5QnJG4y/4
+r0/AzGHUz/pOoh0849XXZeoHNzobQQdFlGbcF+LU1EWUi8t+km3yAGJ2YRe/cUSwl97nV/ATriRe
+C91eEsLOViE1Ky9iX0Avs2vrkvSzYmZ0ydqo5IR+ZTbEwf/WhYHg9HBZLyeAhqWdGf+DkkzUZyb5
+N6pKLO1DUcLIO5yxzaT92yvRQUMdj+w23T5cKqrvv+WUu2KY4HxfXxUPEh+7S0RDCYBaatNh6Css
+nMuev8bfe5UuUHn2mTX85LFUMdvHnQi+CTU1G0aEj9LBlXEcU9V8yLmpyyCz+ZBEnLGFBSXh45kp
+HAHz03aDCSBRPOasYZ/57qrmXnVqW8AcT8AyyPHxWQ9sYJM0DSRGZ+VEnd/YFjjQCh0/SQsHm7Su
+/PbSW3K5BIGSgXv9j+Ibu8TO7PxwkI2MjgMkPMpMTrSBaao7a21dZLRQkHlds5FdljOneiFIhFHu
+O8b1VVMPvxRv0mPCd2bMNZerWLwjRCgeqD/YM4dOxjiOnS9QtkLUXacVClvx8teJRBldkbFgeVfP
+oM4SyFyWCKKopvHATO6TVN+CoUAF+Yh2V94qiGP3+YEQ0J0zAwb9Px2hCdIkdfimyVar8TDhnM1y
+Vlzebve006EeJGxdxPeRIcMDI/aW0OvYRAWI7vLE02b+qnhD5ntBuWjkSCROyk+UaPyIeqEph5Jk
+d+6aJA/EyRnBiwfxS+d5C7iMeYGYRIKBOrenGSU7wz6hAuj9/91pmxZU2n4Q8vxbn3ukH/nRTD0e
+/bbaOxSZ7BhgQywlsZVFOVndo3JePo0xmCVYm6ayFWjFOMK9hEeROctjxcXHWdJqIs4kYTcvTVhT
+8alLt0KI6DB2bIi3xUryTAhPdCCXOqm+aLZrNa/c5JIcb7UTETEqfk4qJEWHK9TamhTejtz0WAAk
+nwZeJ7nbKklr+w86RQahH1pUSf2NRTA4bVAyRIQwxYCpfAXXJAI7O8bufQtqrC9ZdQc6w5Dzqd6D
+moXx1wguzp3BkntmsEDNjaya3c6LSNGOR5Q0Q9ZIiM1E60zZNBOZBal8KHK3qzfEyVF5/sHSoeeb
+HwA+5AfCSMog4Xj5a4a9SfnfoOArVc7/A595TclzUKYuqB7471I0C0v9wRAvWhIF9lhHfzwkeyTA
+JWzmTNjl3KekzRp6zkj+R9vSz8H1UJKZ5EOsO6Jhd+Ktf/Pm/8kuIIQqwAOcw4Fi3HJasioHV5ZY
+jUCxj0tJiVGAqicZBGsVBRkhrs2rtCIvNB/qfqnfk0yKBlhv2gr9U9t026lqYKc6th8dCje0jJFB
+gzOT3kBIlB93HMP8hpPSMgg7HNYmje2IgrlOeOBIl53pYZU9nRmG7tq9aBkRYHzdaul9OVlEEP/K
+HDui3e79JRcCabIShQCB9QdsxrUa5qfcxfU2KAu0CDm2/y5nk5/m9TqpOgKiKTvkLwhWaaMm+g8h
+xI0UTtA1NGBOvqyXCBRHd6zIkH1Rs71EKSzPne72l4O5djDdwyLAqr7rk4BEsLe0C+MiHYaVc75k
+HD1i6gCZ+TewGCMepBWvMYHVYTZWqDIXIBQ+PJKmFd2s5/nMWdVXkVWvRtR8Dx39foQwai+j87NR
+643/iuQ5ePCg0qxUYIcGU5YZVVY690qFDXCrhXMtNwwhzSLE+HndgBK3SsSj4AAfwzYhMH4ZA55q
+wNICbYAEv+WjLaB0q5y+jDuqyH0PKxBluKANoBWzM443+7a1Gt2ywU4IKkRJL1PqYavRbeYdu1nt
+2e9Jg0pVTg+6jx529itlKTC5s0peO8clc/vvBV3/kI7v51vcUGz0bgcnD0fmJ7Z92/npVHur0ay4
+d9ZRLZ9QfWtWqiKlfOU2gFsq/5Dzth9XsArG8xP63fhSeq/4VqrpPYQo33aFmJQhCIMgBUaGWZb/
+b2mlEwwjy4yQg5xG2LByI2Xiryvya+mn4JD7ujhJNPXKOHqWLqA1PDdcyw4d2WULH/PvnGeF3dbv
+5CLauGCXfFhWhHDVevDZXtG20XAAVLv5cGwpW53uK1aTkrM4H3D3JtlkderM0Mf0/QRfnRM9PMIu
++3HNGMcGzGa15kl1+tozy/JVOsxxpLuoz6H5ogB0BJK6Ngn3niCzUan/aO3WoS++Nxvqmsvj6AZe
+5p+ILIKIYkrCdrpbFG3zu1s8OokGCkwRvMGJF/WfBJSTcDgJXCD04va9rpKhEOqWgLE+pBAk1m7P
+nZkAfGFcM9y1kJdNf4pAVCnnmfBXzdjzWpkdzFp1JgbsKMk5D22bSv9kdRKbBubklW7zS4E/KnFa
+NlTN5UPtxy0gDl5QsGa7KcHG0pyZkg9KAJyKuXw0z+i2A8TcVCAcHyG/38tsbuWyL8vsWOd2o+tA
+CeIg4vYQfah3nsO9IWoC5nQOingnDUl9Ub2XNxP7rPLwu84hC0b5BMbZ1aZAWH9X6TxYBlnJl/cg
+UXG4neTpr122LuLOQCvijBKjieGnimhLex6X38T2r6vrXBH7xo+VILpmihG1/8CcysK9i1DNW9R6
+pVOUQDC1S9uLHuIFzYWk1w9W0Y2BXC/s1w38SOZmlKYuOhYIOxgrjeNazSmbyeewfBZkSuEftF5v
+bzOQ/6AWyk9UbAn+ZCwKh/CHgwmmItyu5+3dtu8ljlEBaXJ/DJscHyiQ5IG4H+4Pz7vNelxug4TE
+o0MrzJWT9BTle8aKUxnBD9VocTiLKfHmwMWCiJ4mRWC8I7AIIqTUXCDU1a9eGnjddW/3tikt47Fn
+owoiIFqjtfcKMNQxlQY5Q/+REb1MJin/JOAksOZP0eW73V7BHuzK6ZXHF2bdTIcLfEMHHHKWbR7h
+wV3zLl1U9VeCYGm0EmAm2EYNozF2oG+/acvj5tR5o85eINH+21JdOv+MB47Jb+LvIUj+WNtScZUH
+/T/LyD2+NnWGMtBoXl1nIXM6O5alc/1igWS9slZtt0PiI6eg2S8sIiT/9zLI4cUHkyEvZfMSVs54
+0JmobaP2jAyCoiVppTYx9N8GpJSnhswD3u94yHK4quAf9XzDR/Mmoe1h2eKhqetCxRG7uBsghO9E
+U66lFXdEugCm0LELnacGw8x1LfhYZzxUKfwpODwck6F+763l7myBUdjgg1Wnr/xWVn/7O9aTUGlw
+6T81pxhNsAkuu4O2PrXeR7N6WiF8QKdWI+6L6KVz7Y55ByaZCdXs/Gn4PLAL0mVVBwNS5vNQnIYs
+qFtRgS+ieHTPSLN+gRje1BKM2+nQBNPfm83b3yT40A0j/gkzaDto4z47/xC056pmoqhh2K002E3I
+OgNLuvMTGwmpfTQE2ufRDKMumHeovpWVSEoFGkQ9KWrarOF1hqt+SP4j3LSF9LS3QdDTq2FxEwNu
+Ux9eYu4n7ubUgp9nNa7gPbwAmk4+NhVh0MaGHb53feZfzS79FX9VRqQyIUEMV+puF0cZwPL7eT9i
+7N3ckVMGKK5xpX/+BtSSLXSJqPF6CmIBhVEZjeY18GgjZJSCJUfEHtOn+j26fjykBO5/1rl7x3aS
++4G0ZUTdeZnZFK6W+6wgNM9zBrrn4MSrETr+ibWaXXmio5GGtCjruovWSPGC4uot9vqnCkwyXT/9
+RYKKjtIZuMgF9sq9GABjtinPvRzqVR93KtiQEVCgrWKVCVl1dtYeJ7vaSsS7WevdW1F3DKiS+bKq
+8LreZtkC7e/KTiz6vklVBaSGWKdNzDxHotZz4xWMZiaKq8Y4ewInH6LBmNkxv/qQFDQkA9cKg9tA
+oN7OMmsRfZr1kvZ1vAdakFGGrxe3yAqO2vd2Rl9ATWSIGIqFsEKuEtockEE3qZhJyx1aw2oXHSdw
+b67O8BPfL+AbPFRB63ZgYatTr+rXVzGtPX+246FCJCFXQb7HMXCZk3JK+jsYI1ZwDj3aW6oRRPpr
+CFy3p1EsGtSiWWjOGRUAk5mbSDeLQJwRJtw+HOvB/mOW1wgLO1fGExRscoAbOdti2sr3w1fhKWDt
+U+8gDd/lVzjI0Y0/LzCM2Gy3zpzrQm2uDiKsTWyBGS4qld4sL6exmmJlGHqHPpA9nx6XXsfRmqJ7
+pW5k2Y4aMkkhnt+CQxm33tT1328iu+iAxZg6bL+EXXaJGq5UUlkTyZOghi2bES0yD0yx2dV8jpul
+XjS+7akSo+ihhf+kVLXNaqxeTo+PniwroR2vlMTw1USWuOVUFFuTplBqUQ4mVSILgrKYd7JietTL
+lKIaEIGrphIh+59lhTuW+yz3CZpz5s/zSB6uXeC/YPkH1KPL+KUF0t1PkOxJIczb2PF7uUoGR1E1
+9d4bonlQgzQ9pJY1NvAstOhA5cfXoBrFI6WFjuffCpupvG5337oxywsQicXYCEUfL7L54ToHHEKP
+fbxiUrY5n98EZHjhGvI6k1qtJ54llMyTrtaldqjK060o8jO7zySAuiEx0+07j4GcfrU0M7AnbnN5
+8Dsx1Ltvanxkq4KbWJOBbsP704gwGgDSH05eUQwLI/myHMOwUyRtZi1TjBz1cmpSMVQ7T/2cEnKR
+lXLsKWcVutItj8CNcOupZFrPUFJ+8c9kWF6LKxFbOL/1ROL/royGC0mbfaiBn6VWrgV8Q6+h7e/D
+I/5FXU3RYTpJg2v+H+ZQ/NhIKYnoeb3BnXy5A90uVLPcn6WIbse/BI4QscyPoS9siDVAqI1DemoI
+0Nun9CQwdUk5QraGT5zc0r7jQOdhiD8cZ+hw9l+MbWEa12l8fha3A1r+cJPxGnARYAPv0eBjXWCr
+gRnmroMMwvoWUBZk5jkctTph7kkRvWak01hwGRANXwt2PYJscTvS/9Zw/RHnIGrg58Y00Gth4fWX
+6bEff5Vp7kzKlfyftxiMZtI5KkX4xth3Zu/sN+CwIiMK9Q9kp+l0KHBmskM3UPeccaLu7G2Mvx/N
+p2E30u+Kj7AMLks53Vj2f3DxrZecc6Snhlld4WujrhdfP4uDaW6d+LJ3dmmdw3NKRuWR0vGUdHq2
+HQCAktiCt+xU5UXB0UyuQUkKdfofR8Ix0QQsEpnQRM+EEa4QnUuKA3S/g6lWGk6fI3UeGQIHeI6G
+96tJVswFLmkdLXSN+wiQeRjIzCfG8j10oESMXINPOlwhl+P0qg9qNJKkqXlu/SijYy6aNXaBrYjn
+qFNpGk6g9POsdZCK/l5eqabBNVQ+57vmPkyjAebTCdhlNLSZqeLoKovG085RPEOQDZKlDXeRnDMv
+lJ2l1V+41d2zGWYUW0m/RwkBL/oUOP8BE4T9M2qEbGbmANPN9U5qwwC5RVtU/A2V9q0aizZnkWuO
+3liBVCMlnmmo1AeNpIiLacnj5yilY/up6YWO6gHFPCpPSSgaq7iJqhYj1lUOrdbL4jGmIovUoYvV
+sQxN8fZtNhitw8FODwtX9Nh513TxjNTgQ84KNvqB2+iyCCOXOuGwjpduk3yp0LWXG8Q6XSA7I9FY
+sZpJjW1oUTmbz0jARbpqKAif0C82pIrtGrtSeS58i3+6XxbjiddBgN9qVbBlbiebpF7aUS6p9V2w
+eQFUtIr2dV0POG4VGtJzno06SYeEGFXlhvVC5UzT33XebUwU3xJP2PiEHukm5obkNS4HyqZyWyyS
+o2NosdON9XPvSRD2UZsV7mxbPJmurVSYLdfmSb+E4ZCxaMlU3UXW0ipLtivfAeMZGCFmwVLPoRoK
+0sLxFMrjAHoao9ysV1BLoPBq8Sr7oGEkzwqCscRN7BvOqtHleOja6iMj3Gkx1ktGtYS60/cQkCxc
+zaOw2uMGkgfWoa07xKAxbqloRZ++TUBUNXzs/+b+dXHqlc0Gw1yEFidnu4Ip6xe+k4Iwi/RvHk0Z
+bFee9r1J2Br4TSRMxplngVndz/AcSh6KrGBBDzdTgr8KAWHTLjibjIseWjReZLsLUDawQNah58bV
+LNeg7A/0EiSjgNnDBnbairLIelOJ/B8nbXWblKuCnxz+YBWakxunw9FcueH+pC/uO+sMsJZtffcR
+UHboezU32/rlKZAW2tiCY54l9S7RUP9EWfdtvnJPwucd0xThUmikf4bxVnI3M33c47oiiCpa/h05
+8WhmR5lQniw3eumPC1hlQCEltPzqT4bs5B/qxy3B70UwbYzhmtb+kQd2mccc23X3nurE0GSbtpYc
+Ghw49bIJF0sprwAv/jE8cTu3uxdQL+F/1wsTNlNMP2Rj3qIOLNuhFO4u+40wD3tmpEw02BiXVKXC
+0MJaNIBNwmSiGBTlvaBD3zYl8eEQptb9DgdeK45wTAUR2fIL9UgWbqHYVBPzJdsJ0N/yGgWufqAj
+uBtllx5QW2+8xtLn3PJ0DEPrt7Z3uedj9PaenfjukbNWjjMnwkJwSww4U9LRygotT5mW2o0IhXrO
+wv5aluqtRnwQ/swaFULfsF9ArvWNA2VeUrMpaKZpMRdxrFK/SRdiefI8k92Z16PsxQE2BhYVpnJ5
+Y8OGJDE6kWFo/QjxqiWCSckJYLYlektaGv8WKjszrV8XMeola/7QOc5T55fWeucXfG1FtojAFJEo
+MstZi4Q6s2wiijMeFRFIZsnzavjJqXxqQZahDmV+sXxhxZMh+i2hTSSCoP6EJ1wHJO+CBIxBtNR5
+8bYyLpI6LB8sE4qCCQ6ZY6NitwcPTGA2GqHwlhGtgS5VEGWa+grnkXKPtF2FW3akwtkPWBRMpBTI
+/B1uL79nQ14yfWpEVgLPb9CMFG2z24ANSWevjEZNLKHto6HGvUQUK16/5bhsDwroU9P/9VDCmTOM
+sz+l13iA6vf3hLXEUBZ9l6E7/PKl8A6DC8dgRghWXzhH9hUOUUpbpJfWduGp/IfjSqrlTZda0X3f
+7lUMtSxT8zvjlyDNxGtDA7FpxeW5lHTPsSDur9e5gUyNKsF5gR3EgON6fQPmupn0SYPlFxzNpmUB
+TQLUk92UPiVQKyp0ATZSRui2WjVHqNJEcyaGq3TdQthprLsjlAUnETbB35W+lYt3MNrIVhd3RiH9
+cx2MYBokBD4LnskZirfXjf+C8GZwmq7m2hgOrdxRWMOSGj2MI5cDfMsxDxbUmIl2MNHe7pwrDKHF
+Ectop1jkhwpwscRv4pS7/f0Ir3UfVrudkm/ICLuSUxbAUn73Vlfo5Ru5pOYLXOyyenom/XRh+sEW
+EI67UGIb5svT2K2YMz7ylkQD+wSADaFBR3p0JJ6idEcMaptqwebimIQEBz0wyAZtUEjt+DZ483DC
+7xkIz/YMTKcH2M+r2yt0V4FrIsyWOqcxwNFgCyhymVfsUMkWhtGcHOmRiZHcRuS3yRaK8bDxmO84
+vJHJxZLx0FA7LPd49OZtQKktKM+Wr7QFy74QZt58G6LpZm7zQzhCHNKXsAGB/rdvdlVouYCuvNVk
+R8MVRJu8f+ce8VM1Q36jXa0GbhmdGAq5QB9bwMJk0ffS2ptrUw2lKxqjzrdt+oeXIHzCrJxwy28u
+g0oSSBzPg77mc6vMTKNWNnvLbxwBj6nTsQ6Vu+nJunMa0EV3sWQEW1a9B4sNg0j/qG9dLh9abMpg
+fnUutye4vj1PHKNnFF+++RbXuNvFnwHazzZ6X+p9FdVW68Lz3oqPmyaDjqdh9jJAXp0JiLaEBtEl
+E7j5keYU+igzAYlcOc+zLgkFTQuYGRTDrLGdu7Wh7D6TVlyTgOhTnUM80/uOAkNkvate6tWCj5ZR
+5npiKpolzx7/8SoZVR3VhB4TTB3CkSVyNcHH54fnQh669G5PTCe4DfksUWw5d+DjkqbbIiKX36oX
+3fTmHmfKwNnJIcru/OQ4tGga03U0JMjfuBzjQUMY5orPawRnSS8cPEqKafRfRZr1BZ0xVQwEDCQ3
++FiLd3aq/X3u8bC4kyyhPXrp33Ayso1kVIYweGV6FasGFvEBV9dRvip+QtcgxG6p5uTDigIFhfhu
+CdgoOrviWmX1hUA7EHUHJjSwQW8S9xVgxZzv5I7gh22yUxMbOn4mkCVZglep8e0dRuoj+e+UpaWo
+qN6sQdeUCXMyBFDqkbBoYUUZi6kuDttd4g9E2V6uQZPM+/aa+dBJNrwRHF+7V8N9O5sQYgne3BFt
+bKK1A5bOzIHQuhXfDwGHHZ8RtCqYQsZsdJf5FhcQ7s0UczQKzGo9HvOqlml0HNWmxkmLRFTrUamd
+U0eRN1N9PX/GLZFjlYnItnvpk1+IFtr4KFCKYSz/m594XpDJa4dgGmSsyhHOgoa7S/+lZnEdlFOo
+CcL5ezYTnv/SByVKO6RBO5cL5pPvDysZGu30RlJLheps62xiylBjuwtvuHH9NnpJ+cWExe0wTN7a
+yMt7rNOZTnfTeUGBHd7XcEvwVROG31cPKVP8M+tpG0oBwQsmVv26/hjIc8TfePVWgsUmpSMteSh4
+OQNNIH2LaL2227LmhqHwpp4JCXE9GN+PFTRWBmyeovKpMvpe2q/M/EHjiPVS0pQu245yLCXbiDRo
+EHJQ105e2ZjUYXHKKBi0I0pXlsz0AO8uk/Qp+BIPXUPiVGSDODiZe/a3kw9EiFjEyTGFGadVwNtl
+vLZ+eDrIN71hBydjdgtjDt7quvKhamsTFXLxJLNLxXB2PCl1AKDZgrMGlCmeMzlc7JGRcizwwqNq
+HDUPnmx19rWu2+YdVYrNRu5fenq4BAuzmjqrRxeU5cHQzWT5rZ1XaLFQfuvJc0Cj9RdA9JY0+JQZ
+xQF0gkUaoQwy/xwRIcNI7v3vJpBDWO10/Kxx8ifNm5inCmwZuBptguzmBPY4tpE9wsfFizLLDUUV
+gP2stJyhR1Y5JPfbvNDadJ3g60qAEe5vrgrj860JQTxnX/q6qb1JcIQMt67GPxVHv0Od8qM7UPWT
+TKerAbZ8q8Duatczfr8NRHXpush96Yt42OcyAAFgOGF+2yjbLgB2saThCSfW15S7RqZIe8xE1U/D
+BVibSqWJL0lf6HsByv0f5MgX4OZ/6C2sA6JCaj2ObVpEqzXOLVkF5PdpHe+F08dySG7DL1QcQ8Nh
+btyGwR+OgzdVdEKpE9YQTYle8kB+3f6k2SmHLAVECaG+JjKTmd6QM3jt2XojD+FbIeoJfweon+aG
+3aP70vC6GqJP4sB+GkT1AVy6bq+y7fvkT+PmE38vomV29YOP3CUNGUYP4LtkgzOqha1je+f23D2a
+Lh5xgdgccVsITnR7e+Uzz3SXOsZ7WUcDaR0bWnkv1m12euqVeVX1jCXIXqPQfFYvVUqewdx3bweH
+KCr0GNp566zWcVpVdd6t+sHuplFEpnZHxWTNZ6T2qUh59J6E+z+n5ZzEukE7wTQKbXkIdOw9oUmj
+4NYn1AlAu7XP5kt+HxQBZ93UnhtkuawE6YlEyh3eC58ryozZsHOxqXLVIqMhYnF8dNzH2Ymy2bdb
+xkVdr2wOn5vAUFYgcXRv9GhEK0rbBBC7Vtw0FRtbRL5NQer/y31A0NTvXc7Mm0mmRrrvSfHlXW3U
+/pGzVrdm4UrFqMeT8OcBN/Kjbk8yBerW7Eyx+lFlaADusF5s6FtVuUhAUvarJTMu5LByQn6sxy/X
+YEG5k2zr/hYF3NKwfLSOVpz9G0eYo/PERaTXP+mEEfnNwU4JjERfKZKo/keOit5lMeOmJVvEWaVp
+WyrlMXUP48DS020cI7GFhMIdRjmhoEczgRELeWho3iHdnEAxac+RHcNt1+tZAaIEZ1ZxCL+oFK0M
+6ydZXb+B4aTe2O+UplP9WW8IkpOaZyo7WDLuSvch/3cpYvYtAmfv/gMWcinUMayksMOP3P+x8hXJ
+DVViHvBwOKxnx02rbDzou4MFd6ggHIzmBEPHO03QC2Ds1jR9Tsk6YvW/y2qhUvomdIXQ3glosdIS
+vkjYZ3MdeJfS2VxqJLoeoyvLN6hMkFDHXs2ya4Uph7GA3X2PrlccAxF/JDBgDvdYFdaqzGqWcHd9
+7F3/FbVpknTobPn79/pnjMOTq3RYzb2ISU1F1jz0Uz21HwYtNZ+UTL8TPZrJEZhJU1RrH35Slzrx
+i1YE7ZeJC84X7zLqEiwu50U2c1KrqY3HLUxM/VUpYpH/K1ficxrL2Ur8dRHuRgyqTZeiKF+Z+65t
+qSjs5dHIhCydEW/KoWzG1xsd7ngHKsNQ0q5QIhv3mV+HsXhMSU47PasspScH5+FYEbj8StUqDeE1
+Y+nYT2ky85mlmdhry87d0S9XNt2Q977yrjDMpt77jBERey+2by5w4NtBpXJ43s2lD/U5Dz3OavL6
+ZyqCqZGmOZgeXKXH51E0n/rJ44jF8ILMNI+v5GN7LT/6NGEd1zBD2oNGKJwgvB52s+rYq/bKNtD8
+oSXBq8y2byK7ZIqOcm+rTgNqmsqRx/www1P/oXxCsqOx6E44nqdkPoENp5WVnw7CtWnHPWOan5NI
+CYqGaa4jFEI/iyI1mVnv1UKlc0a5oC6fgCAyCsm4stpPwADUwxdfBG8PkvcOW5QRMBHnfPU3UvbK
+QGapMNIFhqQJUxEcE5BYDlDimjcTJBVSQzHjJsjBR9fr5wMFktnk3ME0148Y/A30TDGU1fUgA261
+0lpXbfvQVAlTe0aNpwtZ11HVHyr56goaFg3U8ixjHVp0fA/KKN/35Ix12wWgZGeRuHzkx03QzNWU
+iUwnf+/JpK9NMfa9vfXXwN51vW2I9+25ZWAz7DAv8n2HXw8EjezubgzfiVlVJNIbeR4GAX+dIk0/
+NSh3A0Ph0pFyk97nKwRU+w3BV58SZqWzRNdxYwL5DI7kwYNydEt9nWtSiIfYuDJ3svJgvQsHvpJw
+h/In1F2dSHQpvXAZ/llozKnZF9uVM80rX3vvbBjwuOaPqn+2XMcs5S6d+SYxTlJL3ABWPoH7G7vo
+ILGJbNJZdbNyzxsGz+hwzWNxPss4FANLUrK6rQLURi0/HrsOiP1SKCdUoaGAZ+fnfsBz1ZMwsgaR
+gmFrTdwL+tCkPFQlBW2o2miwkvoC+2M30+rHQwyZQ02aTHWXd9/etlfDhRdbMGvVS7qmZdNO4Xau
+9wuq6LGovzz3ST7dQ71472vXxZq1jT7YnMOjKFT/cbBdmLCGiWtlvlnUon5YI39aJ4YEuPM25+G4
+5Uziei2Z4iGq4jzwc3li9QUfzCs9TJKkDuwallYnKwrhiXwYXaTlk8yLHmdkHn1jK8BHlU2TbJyx
+VYJMHhaW98XUPFtSAokL+WpsLoMcxSYtT3T6aE5oa3BG7NBIXs3lYeWztj0GkpacvzVpHoLYj0nQ
+831hLdsmM0riPsgQmi/8U+izzcmNpM78MHWxpqlzdQCfK55KEVvuIt2hjz8sWWLvJ7/eJqBlMXGd
+72YTDt8Vy3WDXBPA1Qaewd6kyVo2XgbBjAOAeRH6YP0IO8V2XxNM3s7Gs0eXxgCCgK3ougBszUgL
+ate+S8FKDsy+yV3IomNKbR6FNMArwlC4Mp0SSx+QxyITAOXgYHg7hSpln68Bydkk+VZnh1uKcdVL
+eaUJwn7pKvN1KbUUPo+hPI4ckmL+ZSLx3Ag629gKnuXp3OV/CVqCx7HQPoXd1qr7FrFmUEjbEn9M
+8XJmcXjbU9n7LAlA8g+l9dVOXfEBQjQax0UERkbU4bUmIxpMRoBYsFV489yvWFu9yoznFF0aDlU2
+pWgG/rUyMYYmXhozpVAlycUudCPpOl/AR4X/f8Ve3rohKB+bgfIq34pmwhNqNUyRTv+xdJL3b3yW
+6786d/SIzMnCAIKwhffbhlbZNjwy4bhDGRsuSSx+g0UvYQAQTkRpkfO1zjDqLRIkPxSiTSigFRGN
+/h89GTmirlW+8S5e79qI1tj5OcAYkApNYfG90dvTLZcpqMUrrrIBI2IZfpWCQvOecMaGqbFH3YMa
+IUzr/VCoaL280EiBdRL4JzDlMUFREwk2MZEnEdkkf36oPRZhkInqcU7kvkbfHuEesB/2XVuQf5C5
+0S5bmEYSoLrOIOuo6+wXEGba2OGzpaOqXgbbXq5hplZ47TW/dUpzvICmbi0i94foaUjcWTupD8Qv
+pQ8NLfD8gso+P3pbXmXuoD2apApMB44Pe3gsw/8YP2boAtmP1RUY4uUlPM6Ud4JQPk2jDRQFr0tz
+Jq+YCCryqdH6s1KZNL11mfgNO+IwAKNnZLlSR89mr5wOjn4Y0PydVWW2c1HT9ZOoYdEuoJag2q5D
+8K/uwPA307eyELEXa4aUh5Q+sPMIcfRAvM8IKSB/Dz6GC1atww2paT+we3VcoDNFKuzYRXODqDIC
+n8qf0KKhGLAMqDLYZIXZ5em8vjwxbH87s/sML+eBts31M9bEaC80QQxePDWjtOJ9BmPcgF2ok7zi
+1DrKxi5fDpKhUBL4lLznfsi5GwiO+s4ritqamApiVraeXduETiOuxo0oxTBFj0oalY05W/h60sT3
+V+W5Aq96qFSRPYiMgeoDElpNYJw5HOrqsf3T59WBU6yrW5KomsmcIrbM4tTdQTxJJPj5FoJnQk1i
+dm1fQpBLPByxGwba8IIvWYqlXNnKwlgMex/Enu8/U9elwP7V46pQfqpCuHH3FIjqFm/Q0Tn8YIMY
+NJ3TDLXtG4I+974FvMh2L7m6EwyREai4Dkpw3E/7awkKL0ZSOYP9Xsq7OceV6+IHIC5OWzv+hbob
+wrRyx4FwokQ+ipvWHrZK24M6z1suSRSbzO3OOsRh6w4UgINeqF37QSU3Iy7PpofNDI16qkUN7E3U
+pcO42QlBx0mHK61NDpO19B7aq3AFx8wn0MeayZ564m36GGRfOruIkqLTi7cJxwSQRF9QbIA33HeA
+PEdRRpNIdu7B5tIV5jMyt0ELyrMykiCfAHE7raI2YaO9WqAZBNyXx5IBf/nCdhUdhbClVXVBrAok
+7RKwOBp5h5PpxglQNSxW1T2Pc+Qr46MlwFu4YsiqRB9/VMvJsHqMwZfrf80FGXVxs+GfvXnh/wfv
++OEpXUXJEVWNKMZ/oqLK0tz6jMKKzlzITLu1D+ECA3yzDyC7R5QM2Ax/n4khIbvU2RdPphm1nq0v
+El1zM8+aIWKJ04KvoViy6G/+wEGHmZtagf6AKuKlpqn144kpDNIethnbyKwRSSgwP1w7/SsBj4nL
+Ue2eNz3Hzi5vePGIwaizgftWIrLbBoyHlMcyF1vZakcnnm2KCVs0iKzY0NPs8IcLsorCtGDw0VxX
+KNTwbINELfWYwqxgoBNZJPxj9Ymcb1sTYUL7LO6X/Z8z9E7Xbw1vbWxnmj9AT29Lik9LH1Q/4Ecu
+hLXQtEXFu+QeqVczrYbmQgHHWMVhjR4yHsisfmRlz7oBZMB8PNkExoriRm8g9LsPVs+x/TO5mUDB
+UeWBa3kllvlANgjUByrmO/xdO1Tm3whFqROpR3+0cqRGTKdN2BszWznne6TRKWArGb8Ya/RW5JsU
+VsZdsP/fLY4P9RWDt7bvwA4IIqRmCqpdL/3weu63fCmZ2bFMUBSSNUozY8bkUc8XUSe6B5pFaAhv
+KusXOuy7uRkSCrozifGgaqdecdQDt3AEftbZbW3uvjRYRrKKdPBcnCUmW1g0Xh1LWhCKKrVt+mPt
+WGQ3/Wg99TkrgZCPRGDLnEBT0dcsD9ZLsRE5BE1iGqFZZmkEgzhKOhi5cJCwYoCZ1YzwnypZZKEJ
+qHZIw4Y+AZ4FokG1EHJDaVvM25z24geAzj3KVbn/0zYzUenj7D0Ce6F2Qk4Fid+TrniJtaOLOpVv
+FfmUxVFKqg9Y24cC1S3z7fUc9uZDhqnp13Csb2sjFCsl9HHSid8mhtDujfS2oZYsqIslzVEFnlBu
+f4SbydqJ3CKeMhlnRvaJkvqA7W7hvLyWtW6EIL2bBVCERlJS/BT+we9S2NmZg+Ne6wKvhNrLk8tB
+A8jr9J0xdFGAVLQeB5X9qaSNnVorihtNC6AZ7rvnKb3ZEt3yb2ZduxurCokPFWcmhd9F44KUFYCX
+e5mWOQ5gVBM8Ez9ZC/bcItYJ92ok6cjoqtVtYk477XaaJcELUvBuRZY30AB3bmSwQ73Y+mSF+Y7M
+qhL37XY/YBvLr0XBMbZR7N/g1JB71r8dgeofBWenfydAwPmMH2SagGAzQLT1pL72Mcq2Wn8gxNL+
+TLiy+XYetqtbPo6gB7YZf8HlnNj564cbu7vNDjSr9mbGKVyc7Fy50gKBGnuRNsUKNwGa3x55OTyW
+Sr1ZpjGqhndjlQhDDP8bDy/9zD3ibmjNGc8IF6TGLFiNnbKGHCymrUKlCmSdWjq0vqZ1f6270QWL
+ru586axohbS3+qmkVgcnWU6aWpu3hrmvEuHcPdwRiw19qdQ43jZ/XodN4alV2bohAtVKFCwZlu5B
+52xzWOKSGHiWEZzJFh3d/MQaEnCcRBeGG+b3MkWCYu/jZPEUjav4Ctq7AI9bpUukWlaPcDYaRmbt
+VTR36vvPxupxoLtQWqWv4AaHXXP0sEfhtm4KeLDujV0LxE6yF6EfGuK7nHbtfpzh7W9OMAgghd2l
+p/3Osb5AbyUyeVYyP4YiRfpHZXG1TZcrdMzOArQ3UpyewbQwZv3doRbHhv4CKixvwDkvSF3WDrb5
+MFdh2k/SWHCIJEj3lDQory3yBipy7tot2Z/9w6tNNgAKnvzeG3k7AzSPss8CLvOsgLYXsaCxASwu
+CVslxZjpQSD1jfGzIOzb+ivM3OdO553mFTh1h8mAyMWdo6jTwkUNHgCel3HnRWUBeFBYc44UcKFT
+1WHl34PaWe14iMRAUoSBZX8FkfMobZu3oLM+vfvXVcNYGEpSsMEgSlDtrpLSr4uVzS2NxnjAA9cP
+Jbe+nGVVVZUQrvqeN9aPpYo9ccG/i+Uq4DOO6mnL4cqxqNX3y8oIQ8/9RRQi7/ooifw34baRVQlk
+uk41UM8OCwgqej1FQmEhqk4V/8s6Gok17s3708PxhW2P3m7KM9ra+y89NcuJWAatepwMbiLP93jr
+eDUKabyYh+V7BkjZOiNWouq5Ou62Abf+UiULR8f51wmYhrwPLnSK/ZUclcF0WBZtjrVI56bngYtQ
+yxOhZ1BnCyMgNqs947UqcArWH8QVYt8cEfoGjsUlYU0qvOrZOmnRkSFRb6w7sDKEJVSp0RCObQsl
+z8pzC3SQ08yvhz+/YPlqHWpEjHfO+5ca3ABRyGNWEa2Hp/PbeM03faHXPizZeCebRoj6G+SoxTL+
+eBxTCvFxn2Btd1ubg8vaHtpVR3ApNkUHx45d3925zaV/d9AlAnYRRCwr5bDGJdVVfMdHGkyxb0mH
+PDFee4paqcw+ogXXg9/7pi7rVRrkAphbY5QcI/DXYC8STtRuysijF51pY80sNsYzgAd8Rj4poNlc
+Y75X6dtyQNSWEc0N3i0CnzRP7SDLEmHx78rwRzcIZSuTWSSR9ABX+XIZBOVDOfEe5DDkYdoDQdRs
++vYJU7H+1jNKLwRXopUGl1vVYzNQZfI6o763VEDUl+UmfaisYlRUsmGkKpN2Y1+xfwnLEmBL8YjR
+vTJg+2S9BArteX18NkpEbxcR8RhFvR5EmIPKjnAoUcMFB1wJp4NyRF6+3mb7o6P5pM20Z4Q6f+d6
+W7EBSeOH22FpgDolRQUgs/PaZ2VRMBkNjdmTXz/YdTXvk89mzGlrCvqAX8dDDUGoj3yCWs8b9Jwf
+A5yf8fm3B3BILDR7saQ2Itu+mWKVP6klFt+n3RE7LPjdE9yf0ohIKzychnsIYx07rAxyZ6c7fPmn
+la1kiM/MOcq++R1weJT5QgYInw3Lei2QJk7qYXweJTJxBpBfsxrl+2RN0E6aNB4S8yT2OhKs8Fll
+eWuSlZJSY7wH0ni9KJ7r6TATVPYR5CC/OO4tcGqNh6ju5MyB2q+a4qHiDGJeeD9S2pU/wSkRvcIf
+ZL5WgeChQUW3bzs3PPDLknwzJf11Iox1AZIn3biAlIsrtZnPtSC1FeECTV60L9n8zYJ4PHI1gwXp
+EyKpyHXKo8V/eRqOvGmD/cFsI1il7jpMCppNZ12bgkaAH3CpcDax39ZQN9J2PD3ICRnztGavrNFh
+k3EZQgMdrqFBx9drCvB0EgAq9mg7BR/Y8WpkyFKaMdghjHNvf1/dxhAWnkw6/TpKdvqrQ/WnBP68
+s3orxkvV4zg9hDRWpVgK5QX//6Cu+5dcmfWYNKKL6+TETwTDORrW5C9w73RCJcneC7U/F/HPgnXe
+RzxrdW48mBr1JkcCglvAs2LUYBrvWEdHzi63BDWzOJa+NaRVN6XIDIUSNYlOCdHJcVc18RzsiKvJ
+G8ZVklMv6PLWMM4dwbejA4noN0xgPO4SotmVubPwgvzl7s5e4ggytiWbwDVArDFjSPDbsa1h1j7K
+WvOwAzCVfQakVCkspSvomLEpFdK0c2+x5AnddAdv/gP1vEQ28wpvynPWIpa3sD7x0nphrwGcG4Mg
+lWGSAyuFgkKi7snzhWA1vxQI/9ZtvKkfjNEwh+1UptRMc6tATgf3p0xDrBvZc4EtJ2MLnj15rOBx
+NN1dl4FNLnGMJUFoVQOhiirvPT7facACZwdyaqxI7TrB0TCpz/KVLJr4bQvAHQUYq1+/Zk4aSnGC
+SAd8ZdEsxPQ0AnM1fQjpzL9oDNeBBbDOvGioIwBk3SUfK4Fj7WbnMxv7peA8b4FNDSux7UXffpBD
+gcgQTzY8nAVGf5Syz3hvjI74Zi96i0GthKTPgJcXL0yBIp6zJNi2Jxt+FxIo2GAw0fRokbiq50Hc
+R+6ho0lac1h16VWSGfGd60aWKXYLhS7HuvutrH/IBn1l0LG8QO35Wb7x0vMeMRX4W8BcQmZtlz4i
+CdqPke8OgdsDTCFLwr8DA5DS/CNBK0FYIt0wxCs925RMBq738JZstfCgT7Dg/a9Dblal+Yc2Yw2u
+jYzPQRz6XFmQvwK4++QNdZpFl2TQ2HyIiOAGqcXVswdfPhZggn8QSPzFIeRC79rsLFI+CD+M68lh
+kDE7btZOoOTu4rzL08dJrNv9Iq+w5mYntAUZ/96dmFVDNNY=
+`pragma protect end_protected