algorembrant commited on
Commit
beb61fe
·
verified ·
1 Parent(s): 9f5939d

Add files using upload-large-folder tool

Browse files
Concepts and Topics Folder/Basics/Basics 101.ipynb ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "e3d0a0d0",
6
+ "metadata": {},
7
+ "source": [
8
+ "#### 1 tick = 100 pips = $1 XAU unit\n",
9
+ "\n",
10
+ "Atleast that is true for XAUUSD market. Every ticcker,symbol,or instuments have diffirent 'quotes' such as tick calculations, number of digits on decimals, spread, comissions, and more factors other than that."
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "code",
15
+ "execution_count": null,
16
+ "id": "fddb4d38",
17
+ "metadata": {
18
+ "vscode": {
19
+ "languageId": "plaintext"
20
+ }
21
+ },
22
+ "outputs": [],
23
+ "source": [
24
+ "For example, these are the quotes from accross tradable symbols ini Exness cent accounts.\n",
25
+ "\n",
26
+ "For needed_tick_points, needed_pips_points, and needed_symbol_price_points data is about: {How much 'distance needed' equivalent of 1 unit risk (account's money as unit. It's 1 USC (cent, for cent accounts) or 1 USD (dollar, for dollar accounts) in Exness Broker) if using a 0.01 volume lot size.}\n",
27
+ " symbol needed_tick_points needed_pips_points needed_symbol_price_points bid ask spread_tick_points spread_pips_points spread_price_points price_difference digits volume_min volume_max volume_step swap_long swap_short\n",
28
+ "0 BTCUSDc 10000 1000.00000 100.00 87128.41 87146.41 1800 180.00000 18.00 0.18000 2 0.01000 1000.00000 0.01000 -1551.10000 0.00000\n",
29
+ "1 AUDCADc 138 13.80000 0.00138 0.91007 0.91029 22 2.20000 0.00022 0.15942 5 0.01000 200.00000 0.01000 -1.40000 -7.40000\n",
30
+ "2 AUDCHFc 80 8.00000 0.00080 0.52600 0.52609 9 0.90000 0.00009 0.11250 5 0.01000 200.00000 0.01000 0.00000 -8.20000\n",
31
+ "3 AUDJPYc 156 15.60000 0.156 102.991 103.010 19 1.90000 0.019 0.12179 3 0.01000 200.00000 0.01000 -0.20000 -1.90000\n",
32
+ "4 AUDNZDc 173 17.30000 0.00173 1.14628 1.14648 20 2.00000 0.00020 0.11561 5 0.01000 200.00000 0.01000 -1.40000 -8.50000\n",
33
+ "5 AUDUSDc 100 10.00000 0.00100 0.66055 0.66064 9 0.90000 0.00009 0.09000 5 0.01000 200.00000 0.01000 -1.50000 -0.10000\n",
34
+ "6 CADJPYc 156 15.60000 0.156 113.141 113.179 38 3.80000 0.038 0.24359 3 0.01000 200.00000 0.01000 0.00000 -7.90000\n",
35
+ "7 CHFJPYc 156 15.60000 0.156 195.788 195.812 24 2.40000 0.024 0.15385 3 0.01000 200.00000 0.01000 -6.00000 0.00000\n",
36
+ "8 EURAUDc 151 15.10000 0.00151 1.77401 1.77435 34 3.40000 0.00034 0.22517 5 0.01000 200.00000 0.01000 -13.80000 0.00000\n",
37
+ "9 EURCADc 138 13.80000 0.00138 1.61473 1.61502 29 2.90000 0.00029 0.21014 5 0.01000 200.00000 0.01000 -2.20000 -1.90000\n",
38
+ "10 EURCHFc 80 8.00000 0.00080 0.93319 0.93344 25 2.50000 0.00025 0.31250 5 0.01000 200.00000 0.01000 0.00000 -9.60000\n",
39
+ "11 EURGBPc 75 7.50000 0.00075 0.87809 0.87823 14 1.40000 0.00014 0.18667 5 0.01000 200.00000 0.01000 -8.50000 0.00000\n",
40
+ "12 EURJPYc 156 15.60000 0.156 182.730 182.754 24 2.40000 0.024 0.15385 3 0.01000 200.00000 0.01000 0.00000 -12.90000\n",
41
+ "13 EURNZDc 174 17.40000 0.00174 2.03362 2.03416 54 5.40000 0.00054 0.31034 5 0.01000 200.00000 0.01000 -8.80000 -2.90000\n",
42
+ "14 EURUSDc 100 10.00000 0.00100 1.17199 1.17207 8 0.80000 0.00008 0.08000 5 0.01000 200.00000 0.01000 -6.90000 0.00000\n",
43
+ "15 GBPAUDc 151 15.10000 0.00151 2.02023 2.02048 25 2.50000 0.00025 0.16556 5 0.01000 200.00000 0.01000 -0.50000 -5.10000\n",
44
+ "16 GBPCADc 138 13.80000 0.00138 1.83868 1.83916 48 4.80000 0.00048 0.34783 5 0.01000 200.00000 0.01000 0.00000 -11.60000\n",
45
+ "17 GBPCHFc 80 8.00000 0.00080 1.06266 1.06290 24 2.40000 0.00024 0.30000 5 0.01000 200.00000 0.01000 0.00000 -22.80000\n",
46
+ "18 GBPJPYc 156 15.60000 0.156 208.085 208.107 22 2.20000 0.022 0.14103 3 0.01000 200.00000 0.01000 0.00000 -27.50000\n",
47
+ "19 GBPNZDc 174 17.40000 0.00174 2.31576 2.31634 58 5.80000 0.00058 0.33333 5 0.01000 200.00000 0.01000 -1.30000 -19.70000\n",
48
+ "20 GBPUSDc 100 10.00000 0.00100 1.33461 1.33471 10 1.00000 0.00010 0.10000 5 0.01000 200.00000 0.01000 -1.00000 -1.60000\n",
49
+ "21 NZDJPYc 156 15.60000 0.156 89.827 89.870 43 4.30000 0.043 0.27564 3 0.01000 200.00000 0.01000 0.00000 -9.70000\n",
50
+ "22 NZDUSDc 100 10.00000 0.00100 0.57616 0.57634 18 1.80000 0.00018 0.18000 5 0.01000 200.00000 0.01000 -4.90000 0.00000\n",
51
+ "23 USDCADc 138 13.80000 0.00138 1.37797 1.37812 15 1.50000 0.00015 0.10870 5 0.01000 200.00000 0.01000 0.00000 -8.00000\n",
52
+ "24 USDCHFc 80 8.00000 0.00080 0.79625 0.79638 13 1.30000 0.00013 0.16250 5 0.01000 200.00000 0.01000 0.00000 -11.00000\n",
53
+ "25 USDHKDc 778 77.80000 0.00778 7.78015 7.78405 390 39.00000 0.00390 0.50129 5 0.01000 200.00000 0.01000 0.00000 -35.00000\n",
54
+ "26 USDJPYc 156 15.60000 0.156 155.913 155.923 10 1.00000 0.010 0.06410 3 0.01000 200.00000 0.01000 0.00000 -15.50000\n",
55
+ "27 XAGUSDc 20 2.00000 0.020 66.118 66.138 20 2.00000 0.020 1.00000 3 0.01000 200.00000 0.01000 -10.00000 0.00000\n",
56
+ "28 XAUUSDc 1000 100.00000 1.000 4323.456 4323.616 160 16.00000 0.160 0.16000 3 0.01000 200.00000 0.01000 -580.00000 0.00000"
57
+ ]
58
+ },
59
+ {
60
+ "cell_type": "markdown",
61
+ "id": "df5c1a3c",
62
+ "metadata": {},
63
+ "source": []
64
+ },
65
+ {
66
+ "cell_type": "markdown",
67
+ "id": "3843c075",
68
+ "metadata": {},
69
+ "source": [
70
+ "When doing a heavy backtest, these metrics are calculated at least to be able to conclude robustness of the strategy"
71
+ ]
72
+ },
73
+ {
74
+ "cell_type": "code",
75
+ "execution_count": null,
76
+ "id": "40ad323f",
77
+ "metadata": {
78
+ "vscode": {
79
+ "languageId": "plaintext"
80
+ }
81
+ },
82
+ "outputs": [],
83
+ "source": [
84
+ "inital balance:\n",
85
+ "ending balance: \n",
86
+ "\n",
87
+ "number of trading days:\n",
88
+ "duration of drawdown period (days):\n",
89
+ "\n",
90
+ "number of trades:\n",
91
+ "number of profitable trades:\n",
92
+ "number of unprofitable trades:\n",
93
+ "\n",
94
+ "winrate (%): \n",
95
+ "return (%): \n",
96
+ "maximum drawdown (%): \n",
97
+ "\n",
98
+ "winstreak trades\n",
99
+ "losestreak trades\n",
100
+ "\n",
101
+ "avereage winning trade duration\n",
102
+ "avereage losing trade duration\n",
103
+ "longest drawdown duratiotn\n",
104
+ "averange drawsown duration\n",
105
+ "\n",
106
+ "average risk (%):\n",
107
+ "average profit (%): \n",
108
+ "average loss (%): \n",
109
+ "\n",
110
+ "average symbol's +units:\n",
111
+ "average symbol's -units:\n",
112
+ "\n",
113
+ "average +R multiple:\n",
114
+ "average -R multiple:\n",
115
+ "\n",
116
+ "expected value: \n",
117
+ "sharpe ratio: \n",
118
+ "sortino ratio: \n",
119
+ "profit factor: \n",
120
+ "recovery factor: \n",
121
+ "\n",
122
+ "cagr:\n",
123
+ "calmar ratio:\n",
124
+ "\n",
125
+ "stability in forward looking sense:"
126
+ ]
127
+ },
128
+ {
129
+ "cell_type": "markdown",
130
+ "id": "84ffffcf",
131
+ "metadata": {},
132
+ "source": [
133
+ "Focus on individual trade results because that is the most genuine way to exploit your behaviour of approaching the market. Do not focus on daily metrics because it's not time yet."
134
+ ]
135
+ },
136
+ {
137
+ "cell_type": "markdown",
138
+ "id": "b0ed6a51",
139
+ "metadata": {},
140
+ "source": [
141
+ "How to Run Multiple Copies of MetaTrader5 on Your PC or VPS https://www.youtube.com/watch?v=Kwm3rqfbI2U\n",
142
+ "\n",
143
+ "How to Run LLMs Locally - Full Guide https://www.youtube.com/watch?v=km5-0jhv0JI"
144
+ ]
145
+ },
146
+ {
147
+ "cell_type": "markdown",
148
+ "id": "f92bdb42",
149
+ "metadata": {},
150
+ "source": [
151
+ " <img src=\"https://miro.medium.com/v2/resize:fit:421/1*WqY_Qs_gVXBVbyyvepOGPQ.png\" alt=\"Oanda\" height=\"23\"/>\n",
152
+ " <img src=\"https://i0.wp.com/topfxbrokersreview.com/wp-content/uploads/2022/07/Pepperstone-review.png\" alt=\"Pepperstone\" height=\"33\"/>\n",
153
+ " <img src=\"https://media.mytradingland.com/images/66c4d0b07555e.png\" alt=\"HF Markets\" height=\"15\"/>\n",
154
+ " <img src=\"https://tse3.mm.bing.net/th/id/OIP.XOuuYEj8eq8pUD2pFk9kFQHaCV?rs=1&pid=ImgDetMain&o=7&rm=3\" alt=\"XM Trading\" height=\"15\"/>\n",
155
+ " <img src=\"https://www.daytrading.com/wp-content/uploads/2021/01/XTB-Trading-Broker.png\" alt=\"XTB\" height=\"20\"/>\n",
156
+ " <img src=\"https://tokenist.com/wp-content/uploads/2020/03/Forex.com-Banner.jpg\" alt=\"Forex.com\" height=\"15\"/>"
157
+ ]
158
+ },
159
+ {
160
+ "cell_type": "markdown",
161
+ "id": "6da5c12c",
162
+ "metadata": {},
163
+ "source": []
164
+ },
165
+ {
166
+ "cell_type": "code",
167
+ "execution_count": null,
168
+ "id": "d836336f",
169
+ "metadata": {
170
+ "vscode": {
171
+ "languageId": "plaintext"
172
+ }
173
+ },
174
+ "outputs": [],
175
+ "source": [
176
+ "===== HEAVY BACKTEST SUMMARY (1% RISK PER TRADE, SL ≥ SPREAD×10) =====\n",
177
+ "\n",
178
+ " Profitable trades Unprofitable trades Max SL distance Min SL distance Avg SL distance Max TP distance Min TP distance Avg TP distance Avg +R multiple Winrate % Max DD % Drawdown absolute % Relative drawdown % Sharpe ratio Sortino ratio Consecutive (+) trades Consecutive (-) trades Net Return %\n",
179
+ "Timeframe \n",
180
+ "M4 16552 17361 42.806 1.600 3.422170 32.416 0.000 1.977847 -0.009423 48.807242 -99.679881 99.656876 99.679881 -0.162597 -0.230694 16552 17361 -99.026498\n",
181
+ "M5 14625 15309 39.800 1.600 3.611236 42.366 0.000 2.126612 0.003659 48.857486 -82.197418 71.677036 82.197418 0.060817 0.084676 14625 15309 -24.278719\n",
182
+ "M6 13109 13802 45.844 1.600 3.809075 45.705 0.000 2.285064 -0.004026 48.712422 -96.126322 96.035894 96.126322 -0.065858 -0.092903 13109 13802 -90.490769\n",
183
+ "M10 9202 9734 57.221 1.600 4.451503 56.334 0.000 2.762396 0.008995 48.595268 -69.297228 62.884651 69.297228 0.133447 0.190364 9202 9734 86.255420\n",
184
+ "M12 8026 8497 84.832 1.600 4.758507 83.945 0.000 2.976818 0.004777 48.574714 -74.854354 67.606027 74.854354 0.070069 0.102067 8026 8497 -16.078615\n",
185
+ "M15 6712 7059 59.728 1.600 5.167716 59.345 0.000 3.295081 -0.005517 48.740106 -89.918415 86.484689 89.918415 -0.074855 -0.101841 6712 7059 -81.745761\n",
186
+ "M20 5409 5488 58.114 1.600 5.767658 52.814 0.001 3.731856 0.010386 49.637515 -67.962905 12.385821 67.962905 0.133123 0.186065 5409 5488 35.053449\n",
187
+ "M30 3745 3859 63.063 1.601 6.788320 62.606 0.000 4.462068 0.005580 49.250395 -65.729544 45.245507 65.729544 0.069929 0.094027 3745 3859 -17.030833\n",
188
+ "H1 1945 2042 65.231 1.602 9.413281 62.269 0.001 6.420249 -0.014588 48.783547 -79.037662 68.077395 79.037662 -0.171058 -0.226640 1945 2042 -61.203277\n",
189
+ "H2 1061 1040 84.749 1.625 13.046021 79.253 0.002 8.858342 0.079830 50.499762 -34.107495 14.646739 34.107495 0.795211 1.146812 1061 1040 310.853510\n",
190
+ "H3 746 674 118.580 1.641 15.797608 114.394 0.004 10.715046 0.104634 52.535211 -34.345155 20.858117 34.345155 0.925820 1.345478 746 674 253.551021\n",
191
+ "H4 564 537 124.489 1.706 17.901163 114.791 0.002 12.231112 0.036647 51.226158 -32.550191 32.550191 32.550191 0.354188 0.475141 564 537 29.157263\n",
192
+ "H6 391 357 146.281 1.706 22.362922 142.095 0.015 15.440084 0.132572 52.272727 -43.292993 3.449685 43.292993 1.112273 1.522858 391 357 136.101619\n",
193
+ "H8 280 291 163.279 2.223 25.821186 159.915 0.005 17.638392 0.011653 49.036778 -43.616079 20.017672 43.616079 0.106926 0.151853 280 291 -1.742563\n",
194
+ "H12 194 199 164.346 2.529 31.623690 160.160 0.083 22.337674 0.076544 49.363868 -35.009527 0.000000 35.009527 0.557358 0.807148 194 199 23.370903\n",
195
+ "D1 103 112 279.131 2.529 41.776200 267.327 0.083 28.581972 0.091853 47.906977 -33.712446 6.216186 33.712446 0.491381 0.695918 103 112 11.133365\n",
196
+ "W1 19 16 268.503 11.829 102.531600 240.537 0.199 79.664057 0.412969 54.285714 -4.554427 1.438610 4.554427 3.241721 10.023275 19 16 14.755072\n",
197
+ "MN1 5 2 425.899 64.520 207.365571 414.975 22.776 181.196429 0.531283 71.428571 -1.424498 0.000000 1.424498 7.277972 17.261885 5 2 3.737523"
198
+ ]
199
+ },
200
+ {
201
+ "cell_type": "markdown",
202
+ "id": "b96950a4",
203
+ "metadata": {},
204
+ "source": [
205
+ "# How to delete internal files?\n",
206
+ "\n",
207
+ "type 'Run' in windows settings and press enter\n",
208
+ "type 'shell:AppsFolder' and OK\n",
209
+ "uninstall unwanted files\n",
210
+ "\n"
211
+ ]
212
+ },
213
+ {
214
+ "cell_type": "markdown",
215
+ "id": "3c9ae7ce",
216
+ "metadata": {},
217
+ "source": [
218
+ "# Portfolio diversiofication\n",
219
+ "file:///C:/Users/User/Desktop/eBooks/Giuseppe%20A.%20Paleologo_Advanced%20Portfolio,%20A%20Quant%E2%80%99s%20Guide%20for%20Fundamental%20Investors%20(2021).pdf\n",
220
+ "\n",
221
+ "Maximunum risk single-position\n",
222
+ "maximum losses, loss threshold\n",
223
+ "Determine your levearage\n"
224
+ ]
225
+ }
226
+ ],
227
+ "metadata": {
228
+ "language_info": {
229
+ "name": "python"
230
+ }
231
+ },
232
+ "nbformat": 4,
233
+ "nbformat_minor": 5
234
+ }
Concepts and Topics Folder/Basics/code promting.ipynb ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "26ad7a9a",
6
+ "metadata": {},
7
+ "source": [
8
+ "### **Foundation**\n",
9
+ "\n",
10
+ "Use Python to fetch XAUUSDc H1 candles data from MT5. UTC-based timezone. Use plotly whitethemed default candlestick chart. Identify the 'trading_daily_session' as from market-open to market-close, which includes pre-market and overnight time. Plot virtical-dashed line for every first open-candle of the 'trading_daily_session' and the closing-candle of the 'trading_daily_session'. To easily identify the 'trading_daily_session', simply locate the very first candle recorded in pre-market and the last candle recorded at overnight."
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "markdown",
15
+ "id": "bc4116cf",
16
+ "metadata": {},
17
+ "source": [
18
+ "```python\n",
19
+ "\n",
20
+ "# Parameters\n",
21
+ "symbol = \"XAUUSDc\"\n",
22
+ "timeframe = mt5.TIMEFRAME_H1\n",
23
+ "utc_timezone = pytz.UTC\n",
24
+ "lookback_days = 10 # fetch last 10 days of H1 candles\n"
25
+ ]
26
+ },
27
+ {
28
+ "cell_type": "markdown",
29
+ "id": "4bdfd191",
30
+ "metadata": {},
31
+ "source": [
32
+ "Use Python to fetch XAUUSDc H1 candles data from MT5. UTC based timezone. Identify the 'trading_day' as from market-open to market-close, which includes pre-market and overnight session."
33
+ ]
34
+ },
35
+ {
36
+ "cell_type": "markdown",
37
+ "id": "d31301b2",
38
+ "metadata": {},
39
+ "source": [
40
+ "Identify the 'trading_day' as from market-open to market-close, which includes pre-market and overnight session."
41
+ ]
42
+ },
43
+ {
44
+ "cell_type": "markdown",
45
+ "id": "48c97277",
46
+ "metadata": {},
47
+ "source": [
48
+ "Identify the 'trading_day' as from market-open to market-close, which includes pre-market and overnight sessions. Make a developing RSI indicator that starts calculating from the start of the trading day and resets at the close of the trading day. PLot the tivk-volume bars on separate pane, plot the RSI indicaor in seeparate pane."
49
+ ]
50
+ },
51
+ {
52
+ "cell_type": "markdown",
53
+ "id": "5a401c84",
54
+ "metadata": {},
55
+ "source": []
56
+ }
57
+ ],
58
+ "metadata": {
59
+ "language_info": {
60
+ "name": "python"
61
+ }
62
+ },
63
+ "nbformat": 4,
64
+ "nbformat_minor": 5
65
+ }
Documents/QRAT2025/diversification_model/img (1).png ADDED
Documents/QRAT2025/diversification_model/img (2).png ADDED
Documents/QRAT2025/diversification_model/img (3).png ADDED
Documents/QRAT2025/diversification_model/img (4).png ADDED
Documents/QRAT2025/livereport/ReportHistory-148362150 live1.png ADDED
Documents/QRAT2025/livereport/ReportHistory-183590578 Live3.png ADDED
Documents/QRAT2025/livereport/ReportHistory-186000559 live2.png ADDED
MQL5 Folder/#1EATB-Expert Advisor Trading Bot for MT5/#1EATB.mq5 ADDED
@@ -0,0 +1,530 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //+------------------------------------------------------------------+
2
+ //| #1EATB.mq5 |
3
+ //| Auto straddle + hedge on TP/SL, loops indefinitely |
4
+ //+------------------------------------------------------------------+
5
+ #property strict
6
+ #include <Trade/Trade.mqh>
7
+
8
+ input double InpRiskPercent = 1.0; // Risk percent per trade
9
+ input int InpPipsEntry = 50;
10
+ input int InpPipsSL = 100;
11
+ input int InpPipsTP = 1000;
12
+ input int InpSlippage = 10;
13
+ input ulong InpMagic = 7777;
14
+ input int InpTrailTriggerPips = 50; // Profit pips to start trailing
15
+ input int InpTrailDistancePips = 40; // Trailing distance
16
+
17
+ CTrade trade;
18
+
19
+ ulong buyStopTicket = 0;
20
+ ulong sellStopTicket = 0;
21
+
22
+ //+------------------------------------------------------------------+
23
+ double Pip()
24
+ {
25
+ double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT);
26
+ int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);
27
+ return (digits == 3 || digits == 5) ? point * 10.0 : point;
28
+ }
29
+ //+------------------------------------------------------------------+
30
+ double CalculateLotSize(double stopLossPips)
31
+ {
32
+ double equity = AccountInfoDouble(ACCOUNT_EQUITY);
33
+ double pipValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
34
+ double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
35
+ double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
36
+ double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
37
+
38
+ // StopLoss in money
39
+ double slMoney = stopLossPips * pipValue;
40
+
41
+ double riskMoney = equity * InpRiskPercent / 100.0;
42
+
43
+ double lots = riskMoney / slMoney;
44
+
45
+ // Normalize lot to step & min/max
46
+ lots = MathFloor(lots / lotStep) * lotStep;
47
+ if(lots < minLot) lots = minLot;
48
+ if(lots > maxLot) lots = maxLot;
49
+
50
+ return(lots);
51
+ }
52
+ //+------------------------------------------------------------------+
53
+ bool PlacePending(ENUM_ORDER_TYPE type, double price, double sl, double tp, ulong &ticket, string comment)
54
+ {
55
+ double stopLossPips = (type == ORDER_TYPE_BUY_STOP || type == ORDER_TYPE_BUY_LIMIT) ? (price - sl)/Pip()
56
+ : (sl - price)/Pip();
57
+ double lots = CalculateLotSize(stopLossPips);
58
+
59
+ MqlTradeRequest req;
60
+ MqlTradeResult res;
61
+ ZeroMemory(req);
62
+ ZeroMemory(res);
63
+
64
+ req.action = TRADE_ACTION_PENDING;
65
+ req.symbol = _Symbol;
66
+ req.type = type;
67
+ req.volume = lots;
68
+ req.price = price;
69
+ req.sl = sl;
70
+ req.tp = tp;
71
+ req.magic = InpMagic;
72
+ req.deviation = InpSlippage;
73
+ req.type_time = ORDER_TIME_GTC;
74
+ req.type_filling= ORDER_FILLING_FOK;
75
+ req.comment = comment;
76
+
77
+ if(!OrderSend(req, res))
78
+ {
79
+ Print("OrderSend failed: ", res.retcode, " ", res.comment);
80
+ ticket = 0;
81
+ return false;
82
+ }
83
+
84
+ ticket = res.order;
85
+ return true;
86
+ }
87
+ //+------------------------------------------------------------------+
88
+ void PlaceStraddle()
89
+ {
90
+ double pip = Pip();
91
+ double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
92
+ double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
93
+ int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);
94
+
95
+ double buyE = NormalizeDouble(ask + InpPipsEntry * pip, digits);
96
+ double buySL = NormalizeDouble(buyE - InpPipsSL * pip, digits);
97
+ double buyTP = NormalizeDouble(buyE + InpPipsTP * pip, digits);
98
+
99
+ double sellE = NormalizeDouble(bid - InpPipsEntry * pip, digits);
100
+ double sellSL = NormalizeDouble(sellE + InpPipsSL * pip, digits);
101
+ double sellTP = NormalizeDouble(sellE - InpPipsTP * pip, digits);
102
+
103
+ PlacePending(ORDER_TYPE_BUY_STOP, buyE, buySL, buyTP, buyStopTicket, "BUY_STOP_EA");
104
+ PlacePending(ORDER_TYPE_SELL_STOP, sellE, sellSL, sellTP, sellStopTicket, "SELL_STOP_EA");
105
+ }
106
+ //+------------------------------------------------------------------+
107
+ bool PendingOrderExists(ulong ticket)
108
+ {
109
+ if(ticket == 0) return false;
110
+
111
+ if(OrderSelect(ticket))
112
+ return true;
113
+
114
+ return false;
115
+ }
116
+ //+------------------------------------------------------------------+
117
+ bool PositionExists(string type)
118
+ {
119
+ for(int i = 0; i < PositionsTotal(); i++)
120
+ {
121
+ ulong ticket = PositionGetTicket(i);
122
+ if(ticket == 0) continue;
123
+ if(!PositionSelectByTicket(ticket)) continue;
124
+
125
+ if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;
126
+ if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;
127
+
128
+ ENUM_POSITION_TYPE ptype = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
129
+ if(type == "BUY" && ptype == POSITION_TYPE_BUY) return true;
130
+ if(type == "SELL" && ptype == POSITION_TYPE_SELL) return true;
131
+ }
132
+ return false;
133
+ }
134
+ //+------------------------------------------------------------------+
135
+ void CancelOrder(ulong &ticket)
136
+ {
137
+ if(ticket == 0) return;
138
+
139
+ MqlTradeRequest req;
140
+ MqlTradeResult res;
141
+
142
+ ZeroMemory(req);
143
+ ZeroMemory(res);
144
+
145
+ req.action = TRADE_ACTION_REMOVE;
146
+ req.order = ticket;
147
+ req.symbol = _Symbol;
148
+
149
+ if(OrderSend(req, res))
150
+ {
151
+ Print("Cancelled pending order: ", ticket);
152
+ ticket = 0;
153
+ }
154
+ else
155
+ Print("Failed to cancel order ", ticket, " ret=", res.retcode);
156
+ }
157
+ //+------------------------------------------------------------------+
158
+ void CheckAndRebuild()
159
+ {
160
+ bool buyPos = PositionExists("BUY");
161
+ bool sellPos = PositionExists("SELL");
162
+
163
+ bool buyActive = PendingOrderExists(buyStopTicket);
164
+ bool sellActive = PendingOrderExists(sellStopTicket);
165
+
166
+ // One triggered → cancel opposite pending
167
+ if(buyPos && sellActive)
168
+ CancelOrder(sellStopTicket);
169
+ if(sellPos && buyActive)
170
+ CancelOrder(buyStopTicket);
171
+
172
+ // Loop: if both positions closed → rebuild straddle
173
+ if(!buyPos && !sellPos && !buyActive && !sellActive)
174
+ {
175
+ Print("Both positions closed → placing new straddle");
176
+ PlaceStraddle();
177
+ }
178
+
179
+ // Check solo pending orders and cancel them
180
+ if(buyActive && !sellActive)
181
+ CancelOrder(buyStopTicket);
182
+ if(sellActive && !buyActive)
183
+ CancelOrder(sellStopTicket);
184
+ }
185
+ //+------------------------------------------------------------------+
186
+ void TrailStops()
187
+ {
188
+ double pip = Pip();
189
+
190
+ for(int i=0; i<PositionsTotal(); i++)
191
+ {
192
+ ulong ticket = PositionGetTicket(i);
193
+ if(ticket == 0) continue;
194
+ if(!PositionSelectByTicket(ticket)) continue;
195
+
196
+ if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;
197
+ if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;
198
+
199
+ double open = PositionGetDouble(POSITION_PRICE_OPEN);
200
+ double current = (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) ? SymbolInfoDouble(_Symbol, SYMBOL_BID)
201
+ : SymbolInfoDouble(_Symbol, SYMBOL_ASK);
202
+ double sl = PositionGetDouble(POSITION_SL);
203
+ ENUM_POSITION_TYPE type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
204
+
205
+ double profitPips = (type == POSITION_TYPE_BUY) ? (current - open)/pip
206
+ : (open - current)/pip;
207
+
208
+ if(profitPips >= InpTrailTriggerPips)
209
+ {
210
+ double newSL = (type == POSITION_TYPE_BUY) ? current - InpTrailDistancePips*pip
211
+ : current + InpTrailDistancePips*pip;
212
+
213
+ // Only move SL forward (do not move backward)
214
+ if((type == POSITION_TYPE_BUY && newSL > sl) || (type == POSITION_TYPE_SELL && newSL < sl))
215
+ {
216
+ trade.PositionModify(ticket, newSL, PositionGetDouble(POSITION_TP));
217
+ Print("Trailing SL modified for ticket ", ticket, " newSL=", newSL);
218
+ }
219
+ }
220
+ }
221
+ }
222
+ //+------------------------------------------------------------------+
223
+ int OnInit()
224
+ {
225
+ PlaceStraddle();
226
+ return(INIT_SUCCEEDED);
227
+ }
228
+ //+------------------------------------------------------------------+
229
+ void OnTick()
230
+ {
231
+ CheckAndRebuild();
232
+ TrailStops();
233
+ }
234
+ //+------------------------------------------------------------------+
235
+
236
+
237
+
238
+
239
+ version 2
240
+
241
+
242
+ //+------------------------------------------------------------------+
243
+ //| #1EATB.mq5 |
244
+ //| Auto straddle + hedge on TP/SL, loops indefinitely |
245
+ //| Pure MT5 functions, no MT4-style functions |
246
+ //| Trailing stop added & cancel solo pending orders |
247
+ //| Position sizing: risk 1% of account per order |
248
+ //+------------------------------------------------------------------+
249
+ #property strict
250
+ #include <Trade/Trade.mqh>
251
+
252
+ input double InpRiskPercent = 1.0; // Risk percent per trade
253
+ input int InpPipsEntry = 50;
254
+ input int InpPipsSL = 100;
255
+ input int InpPipsTP = 1000;
256
+ input int InpSlippage = 10;
257
+ input ulong InpMagic = 7777;
258
+ input int InpTrailTriggerPips = 50; // Profit pips to start trailing
259
+ input int InpTrailDistancePips = 40; // Trailing distance
260
+
261
+ CTrade trade;
262
+
263
+ ulong buyStopTicket = 0;
264
+ ulong sellStopTicket = 0;
265
+
266
+ // Track whether SL correction was done per ticket
267
+ bool buySlCorrected = false;
268
+ bool sellSlCorrected = false;
269
+
270
+ //+------------------------------------------------------------------+
271
+ double Pip()
272
+ {
273
+ double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT);
274
+ int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);
275
+ return (digits == 3 || digits == 5) ? point * 10.0 : point;
276
+ }
277
+ //+------------------------------------------------------------------+
278
+ double CalculateLotSize(double stopLossPips)
279
+ {
280
+ double equity = AccountInfoDouble(ACCOUNT_EQUITY);
281
+ double pipValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
282
+ double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
283
+ double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
284
+ double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
285
+
286
+ // StopLoss in money
287
+ double slMoney = stopLossPips * pipValue;
288
+
289
+ double riskMoney = equity * InpRiskPercent / 100.0;
290
+
291
+ double lots = riskMoney / slMoney;
292
+
293
+ // Normalize lot to step & min/max
294
+ lots = MathFloor(lots / lotStep) * lotStep;
295
+ if(lots < minLot) lots = minLot;
296
+ if(lots > maxLot) lots = maxLot;
297
+
298
+ return(lots);
299
+ }
300
+ //+------------------------------------------------------------------+
301
+ bool PlacePending(ENUM_ORDER_TYPE type, double price, double sl, double tp, ulong &ticket, string comment)
302
+ {
303
+ double stopLossPips = (type == ORDER_TYPE_BUY_STOP || type == ORDER_TYPE_BUY_LIMIT) ? (price - sl)/Pip()
304
+ : (sl - price)/Pip();
305
+ double lots = CalculateLotSize(stopLossPips);
306
+
307
+ MqlTradeRequest req;
308
+ MqlTradeResult res;
309
+ ZeroMemory(req);
310
+ ZeroMemory(res);
311
+
312
+ req.action = TRADE_ACTION_PENDING;
313
+ req.symbol = _Symbol;
314
+ req.type = type;
315
+ req.volume = lots;
316
+ req.price = price;
317
+ req.sl = sl;
318
+ req.tp = tp;
319
+ req.magic = InpMagic;
320
+ req.deviation = InpSlippage;
321
+ req.type_time = ORDER_TIME_GTC;
322
+ req.type_filling= ORDER_FILLING_FOK;
323
+ req.comment = comment;
324
+
325
+ if(!OrderSend(req, res))
326
+ {
327
+ Print("OrderSend failed: ", res.retcode, " ", res.comment);
328
+ ticket = 0;
329
+ return false;
330
+ }
331
+
332
+ ticket = res.order;
333
+ return true;
334
+ }
335
+ //+------------------------------------------------------------------+
336
+ void PlaceStraddle()
337
+ {
338
+ double pip = Pip();
339
+ double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
340
+ double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
341
+ int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);
342
+
343
+ double buyE = NormalizeDouble(ask + InpPipsEntry * pip, digits);
344
+ double buySL = NormalizeDouble(buyE - InpPipsSL * pip, digits);
345
+ double buyTP = NormalizeDouble(buyE + InpPipsTP * pip, digits);
346
+
347
+ double sellE = NormalizeDouble(bid - InpPipsEntry * pip, digits);
348
+ double sellSL = NormalizeDouble(sellE + InpPipsSL * pip, digits);
349
+ double sellTP = NormalizeDouble(sellE - InpPipsTP * pip, digits);
350
+
351
+ PlacePending(ORDER_TYPE_BUY_STOP, buyE, buySL, buyTP, buyStopTicket, "BUY_STOP_EA");
352
+ PlacePending(ORDER_TYPE_SELL_STOP, sellE, sellSL, sellTP, sellStopTicket, "SELL_STOP_EA");
353
+
354
+ buySlCorrected = false; // reset SL correction flag
355
+ sellSlCorrected = false;
356
+ }
357
+ //+------------------------------------------------------------------+
358
+ bool PendingOrderExists(ulong ticket)
359
+ {
360
+ if(ticket == 0) return false;
361
+
362
+ if(OrderSelect(ticket))
363
+ return true;
364
+
365
+ return false;
366
+ }
367
+ //+------------------------------------------------------------------+
368
+ bool PositionExists(string type)
369
+ {
370
+ for(int i = 0; i < PositionsTotal(); i++)
371
+ {
372
+ ulong ticket = PositionGetTicket(i);
373
+ if(ticket == 0) continue;
374
+ if(!PositionSelectByTicket(ticket)) continue;
375
+
376
+ if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;
377
+ if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;
378
+
379
+ ENUM_POSITION_TYPE ptype = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
380
+ if(type == "BUY" && ptype == POSITION_TYPE_BUY) return true;
381
+ if(type == "SELL" && ptype == POSITION_TYPE_SELL) return true;
382
+ }
383
+ return false;
384
+ }
385
+ //+------------------------------------------------------------------+
386
+ void CancelOrder(ulong &ticket)
387
+ {
388
+ if(ticket == 0) return;
389
+
390
+ MqlTradeRequest req;
391
+ MqlTradeResult res;
392
+
393
+ ZeroMemory(req);
394
+ ZeroMemory(res);
395
+
396
+ req.action = TRADE_ACTION_REMOVE;
397
+ req.order = ticket;
398
+ req.symbol = _Symbol;
399
+
400
+ if(OrderSend(req, res))
401
+ {
402
+ Print("Cancelled pending order: ", ticket);
403
+ ticket = 0;
404
+ }
405
+ else
406
+ Print("Failed to cancel order ", ticket, " ret=", res.retcode);
407
+ }
408
+ //+------------------------------------------------------------------+
409
+ void CheckAndRebuild()
410
+ {
411
+ bool buyPos = PositionExists("BUY");
412
+ bool sellPos = PositionExists("SELL");
413
+
414
+ bool buyActive = PendingOrderExists(buyStopTicket);
415
+ bool sellActive = PendingOrderExists(sellStopTicket);
416
+
417
+ // One triggered → cancel opposite pending
418
+ if(buyPos && sellActive)
419
+ CancelOrder(sellStopTicket);
420
+ if(sellPos && buyActive)
421
+ CancelOrder(buyStopTicket);
422
+
423
+ // Loop: if both positions closed → rebuild straddle
424
+ if(!buyPos && !sellPos && !buyActive && !sellActive)
425
+ {
426
+ Print("Both positions closed → placing new straddle");
427
+ PlaceStraddle();
428
+ }
429
+
430
+ // Check solo pending orders and cancel them
431
+ if(buyActive && !sellActive)
432
+ CancelOrder(buyStopTicket);
433
+ if(sellActive && !buyActive)
434
+ CancelOrder(sellStopTicket);
435
+ }
436
+ //+------------------------------------------------------------------+
437
+ void CorrectSLOnce()
438
+ {
439
+ double pip = Pip();
440
+
441
+ for(int i=0; i<PositionsTotal(); i++)
442
+ {
443
+ ulong ticket = PositionGetTicket(i);
444
+ if(ticket == 0) continue;
445
+ if(!PositionSelectByTicket(ticket)) continue;
446
+
447
+ if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;
448
+ if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;
449
+
450
+ ENUM_POSITION_TYPE type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
451
+ double open = PositionGetDouble(POSITION_PRICE_OPEN);
452
+ double currentSL = PositionGetDouble(POSITION_SL);
453
+ int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);
454
+
455
+ // BUY position
456
+ if(type == POSITION_TYPE_BUY && !buySlCorrected)
457
+ {
458
+ double desiredSL = NormalizeDouble(open - InpPipsSL * pip, digits);
459
+ if(MathAbs(currentSL - desiredSL) > 0)
460
+ {
461
+ trade.PositionModify(ticket, desiredSL, PositionGetDouble(POSITION_TP));
462
+ buySlCorrected = true;
463
+ Print("Corrected BUY SL for ticket ", ticket, " to ", desiredSL);
464
+ }
465
+ }
466
+
467
+ // SELL position
468
+ if(type == POSITION_TYPE_SELL && !sellSlCorrected)
469
+ {
470
+ double desiredSL = NormalizeDouble(open + InpPipsSL * pip, digits);
471
+ if(MathAbs(currentSL - desiredSL) > 0)
472
+ {
473
+ trade.PositionModify(ticket, desiredSL, PositionGetDouble(POSITION_TP));
474
+ sellSlCorrected = true;
475
+ Print("Corrected SELL SL for ticket ", ticket, " to ", desiredSL);
476
+ }
477
+ }
478
+ }
479
+ }
480
+ //+------------------------------------------------------------------+
481
+ void TrailStops()
482
+ {
483
+ double pip = Pip();
484
+
485
+ for(int i=0; i<PositionsTotal(); i++)
486
+ {
487
+ ulong ticket = PositionGetTicket(i);
488
+ if(ticket == 0) continue;
489
+ if(!PositionSelectByTicket(ticket)) continue;
490
+
491
+ if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;
492
+ if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;
493
+
494
+ double open = PositionGetDouble(POSITION_PRICE_OPEN);
495
+ double current = (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) ? SymbolInfoDouble(_Symbol, SYMBOL_BID)
496
+ : SymbolInfoDouble(_Symbol, SYMBOL_ASK);
497
+ double sl = PositionGetDouble(POSITION_SL);
498
+ ENUM_POSITION_TYPE type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
499
+
500
+ double profitPips = (type == POSITION_TYPE_BUY) ? (current - open)/pip
501
+ : (open - current)/pip;
502
+
503
+ if(profitPips >= InpTrailTriggerPips)
504
+ {
505
+ double newSL = (type == POSITION_TYPE_BUY) ? current - InpTrailDistancePips*pip
506
+ : current + InpTrailDistancePips*pip;
507
+
508
+ // Only move SL forward (do not move backward)
509
+ if((type == POSITION_TYPE_BUY && newSL > sl) || (type == POSITION_TYPE_SELL && newSL < sl))
510
+ {
511
+ trade.PositionModify(ticket, newSL, PositionGetDouble(POSITION_TP));
512
+ Print("Trailing SL modified for ticket ", ticket, " newSL=", newSL);
513
+ }
514
+ }
515
+ }
516
+ }
517
+ //+------------------------------------------------------------------+
518
+ int OnInit()
519
+ {
520
+ PlaceStraddle();
521
+ return(INIT_SUCCEEDED);
522
+ }
523
+ //+------------------------------------------------------------------+
524
+ void OnTick()
525
+ {
526
+ CheckAndRebuild();
527
+ CorrectSLOnce(); // <-- NEW: adjust SL after fill if needed
528
+ TrailStops();
529
+ }
530
+ //+------------------------------------------------------------------+
MQL5 Folder/#1EATB-Expert Advisor Trading Bot for MT5/LiveTest1 Results/ReportHistory-257199749 alltime.png ADDED
MQL5 Folder/#1EATB-Expert Advisor Trading Bot for MT5/LiveTest2 Results/ReportHistory-263204408 LiveTest2 runall.png ADDED
MQL5 Folder/#1EATB-Expert Advisor Trading Bot for MT5/MT5-EA_1min hedge stoporders.ipynb ADDED
@@ -0,0 +1,435 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "5ea44701",
6
+ "metadata": {
7
+ "vscode": {
8
+ "languageId": "plaintext"
9
+ }
10
+ },
11
+ "source": [
12
+ "# StraddleHedgeLoopEA.mq5\n",
13
+ "\n",
14
+ "**Auto straddle + hedge EA for MT5**\n",
15
+ "This EA automatically places a straddle of pending orders, hedges positions on take-profit or stop-loss, manages trailing stops, cancels solo pending orders, and loops indefinitely. It is written purely with **MT5 functions** — no MT4-style functions are used. The EA also calculates position size based on **1% account risk per trade**.\n",
16
+ "\n",
17
+ "---\n",
18
+ "\n",
19
+ "## Features\n",
20
+ "\n",
21
+ "1. **Automatic Straddle Orders**\n",
22
+ "\n",
23
+ " * Places **Buy Stop** above the current price.\n",
24
+ " * Places **Sell Stop** below the current price.\n",
25
+ " * Pending orders have individually calculated **stop-loss (SL) and take-profit (TP)** levels.\n",
26
+ "\n",
27
+ "2. **Risk Management**\n",
28
+ "\n",
29
+ " * Calculates **lot size** based on 1% account equity risk.\n",
30
+ " * Ensures lot size respects broker's **minimum, maximum, and step**.\n",
31
+ "\n",
32
+ "3. **Hedging**\n",
33
+ "\n",
34
+ " * When a pending order triggers:\n",
35
+ "\n",
36
+ " * Cancels the opposite pending order.\n",
37
+ " * Rebuilds straddle if both positions are closed.\n",
38
+ "\n",
39
+ "4. **Trailing Stop**\n",
40
+ "\n",
41
+ " * Activates after a configurable profit in pips (`InpTrailTriggerPips`).\n",
42
+ " * Moves stop-loss to lock in profits while maintaining a fixed trailing distance (`InpTrailDistancePips`).\n",
43
+ " * Prevents stop-loss from moving backward.\n",
44
+ "\n",
45
+ "5. **Solo Pending Order Protection**\n",
46
+ "\n",
47
+ " * Cancels a pending order if it is left alone without its hedge pair.\n",
48
+ "\n",
49
+ "---\n",
50
+ "\n",
51
+ "## Input Parameters\n",
52
+ "\n",
53
+ "| Parameter | Type | Default | Description |\n",
54
+ "| ---------------------- | ------ | ------- | ------------------------------------------------------------------ |\n",
55
+ "| `InpRiskPercent` | double | 1.0 | Percent of account equity to risk per trade. |\n",
56
+ "| `InpPipsEntry` | int | 100 | Distance in pips from current price to place Buy/Sell Stop. |\n",
57
+ "| `InpPipsSL` | int | 100 | Stop-loss distance in pips. |\n",
58
+ "| `InpPipsTP` | int | 200 | Take-profit distance in pips. |\n",
59
+ "| `InpSlippage` | int | 10 | Maximum allowed slippage in points. |\n",
60
+ "| `InpMagic` | ulong | 7777 | Magic number to identify EA’s trades. |\n",
61
+ "| `InpTrailTriggerPips` | int | 50 | Profit in pips required before trailing stop activates. |\n",
62
+ "| `InpTrailDistancePips` | int | 40 | Distance in pips to maintain from current price for trailing stop. |\n",
63
+ "\n",
64
+ "---\n",
65
+ "\n",
66
+ "## Core Functions\n",
67
+ "\n",
68
+ "### 1. `Pip()`\n",
69
+ "\n",
70
+ "Calculates the pip size based on the symbol’s decimal digits. Handles 3/5 digit symbols correctly.\n",
71
+ "\n",
72
+ "---\n",
73
+ "\n",
74
+ "### 2. `CalculateLotSize(double stopLossPips)`\n",
75
+ "\n",
76
+ "Calculates lot size based on the desired account risk percentage and the stop-loss in pips.\n",
77
+ "\n",
78
+ "* Ensures lot respects broker min/max and step size.\n",
79
+ "* Returns the calculated lot size.\n",
80
+ "\n",
81
+ "---\n",
82
+ "\n",
83
+ "### 3. `PlacePending(ENUM_ORDER_TYPE type, double price, double sl, double tp, ulong &ticket, string comment)`\n",
84
+ "\n",
85
+ "Places a pending order (Buy Stop or Sell Stop) with the correct lot size.\n",
86
+ "\n",
87
+ "* Updates the order ticket if successfully placed.\n",
88
+ "* Prints error message if order fails.\n",
89
+ "\n",
90
+ "---\n",
91
+ "\n",
92
+ "### 4. `PlaceStraddle()`\n",
93
+ "\n",
94
+ "Places a **Buy Stop** above and a **Sell Stop** below the current price.\n",
95
+ "\n",
96
+ "* Calculates entry, SL, and TP based on `InpPipsEntry`, `InpPipsSL`, and `InpPipsTP`.\n",
97
+ "* Stores the pending order tickets in `buyStopTicket` and `sellStopTicket`.\n",
98
+ "\n",
99
+ "---\n",
100
+ "\n",
101
+ "### 5. `PendingOrderExists(ulong ticket)`\n",
102
+ "\n",
103
+ "Checks if a pending order with a specific ticket exists. Returns `true` if exists, otherwise `false`.\n",
104
+ "\n",
105
+ "---\n",
106
+ "\n",
107
+ "### 6. `PositionExists(string type)`\n",
108
+ "\n",
109
+ "Checks if a position exists for a given type (\"BUY\" or \"SELL\") with the EA’s magic number. Returns `true` if the position exists.\n",
110
+ "\n",
111
+ "---\n",
112
+ "\n",
113
+ "### 7. `CancelOrder(ulong &ticket)`\n",
114
+ "\n",
115
+ "Cancels a pending order by ticket number.\n",
116
+ "\n",
117
+ "* Resets ticket to `0` if successful.\n",
118
+ "* Prints status messages.\n",
119
+ "\n",
120
+ "---\n",
121
+ "\n",
122
+ "### 8. `CheckAndRebuild()`\n",
123
+ "\n",
124
+ "Main logic loop:\n",
125
+ "\n",
126
+ "* Cancels opposite pending order if one position is active.\n",
127
+ "* Rebuilds straddle if both positions are closed.\n",
128
+ "* Cancels solo pending orders to prevent orphan orders.\n",
129
+ "\n",
130
+ "---\n",
131
+ "\n",
132
+ "### 9. `TrailStops()`\n",
133
+ "\n",
134
+ "Manages trailing stops:\n",
135
+ "\n",
136
+ "* Iterates through all positions of the EA.\n",
137
+ "* Moves SL in the direction of profit once profit threshold is reached.\n",
138
+ "* Only moves SL forward (never backward).\n",
139
+ "\n",
140
+ "---\n",
141
+ "\n",
142
+ "## Event Handlers\n",
143
+ "\n",
144
+ "### `OnInit()`\n",
145
+ "\n",
146
+ "* Places initial straddle on EA startup.\n",
147
+ "\n",
148
+ "### `OnTick()`\n",
149
+ "\n",
150
+ "* Executes each tick:\n",
151
+ "\n",
152
+ " 1. Checks positions and pending orders, rebuilds straddle if needed.\n",
153
+ " 2. Updates trailing stops.\n",
154
+ "\n",
155
+ "---\n",
156
+ "\n",
157
+ "## How It Works\n",
158
+ "\n",
159
+ "1. On EA initialization, a straddle of Buy Stop and Sell Stop orders is placed relative to the current price.\n",
160
+ "2. When a pending order is triggered:\n",
161
+ "\n",
162
+ " * The opposite pending order is cancelled.\n",
163
+ " * Trailing stops are managed according to profit thresholds.\n",
164
+ "3. Once both positions are closed, a new straddle is automatically placed.\n",
165
+ "4. Solo pending orders (without a hedge pair) are cancelled automatically.\n",
166
+ "\n",
167
+ "---\n",
168
+ "\n",
169
+ "## Notes\n",
170
+ "\n",
171
+ "* Designed for **1-minute timeframe** or higher.\n",
172
+ "* Works on **all symbol types** supported by MT5.\n",
173
+ "* Fully MT5-native; avoids MT4 legacy functions.\n",
174
+ "* Risk management strictly follows 1% account risk per trade.\n"
175
+ ]
176
+ },
177
+ {
178
+ "cell_type": "code",
179
+ "execution_count": null,
180
+ "id": "f5618f2c",
181
+ "metadata": {
182
+ "vscode": {
183
+ "languageId": "plaintext"
184
+ }
185
+ },
186
+ "outputs": [],
187
+ "source": [
188
+ "//+------------------------------------------------------------------+\n",
189
+ "//| StraddleHedgeLoopEA.mq5 |\n",
190
+ "//| Auto straddle + hedge on TP/SL, loops indefinitely |\n",
191
+ "//| Pure MT5 functions, no MT4-style functions |\n",
192
+ "//| Trailing stop added & cancel solo pending orders |\n",
193
+ "//| Position sizing: risk 1% of account per order |\n",
194
+ "//+------------------------------------------------------------------+\n",
195
+ "#property strict\n",
196
+ "#include <Trade/Trade.mqh>\n",
197
+ "\n",
198
+ "input double InpRiskPercent = 1.0; // Risk percent per trade\n",
199
+ "input int InpPipsEntry = 100;\n",
200
+ "input int InpPipsSL = 100;\n",
201
+ "input int InpPipsTP = 200;\n",
202
+ "input int InpSlippage = 10;\n",
203
+ "input ulong InpMagic = 7777;\n",
204
+ "input int InpTrailTriggerPips = 50; // Profit pips to start trailing\n",
205
+ "input int InpTrailDistancePips = 40; // Trailing distance\n",
206
+ "\n",
207
+ "CTrade trade;\n",
208
+ "\n",
209
+ "ulong buyStopTicket = 0;\n",
210
+ "ulong sellStopTicket = 0;\n",
211
+ "\n",
212
+ "//+------------------------------------------------------------------+\n",
213
+ "double Pip()\n",
214
+ "{\n",
215
+ " double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT);\n",
216
+ " int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);\n",
217
+ " return (digits == 3 || digits == 5) ? point * 10.0 : point;\n",
218
+ "}\n",
219
+ "//+------------------------------------------------------------------+\n",
220
+ "double CalculateLotSize(double stopLossPips)\n",
221
+ "{\n",
222
+ " double equity = AccountInfoDouble(ACCOUNT_EQUITY);\n",
223
+ " double pipValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);\n",
224
+ " double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);\n",
225
+ " double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);\n",
226
+ " double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);\n",
227
+ "\n",
228
+ " // StopLoss in money\n",
229
+ " double slMoney = stopLossPips * pipValue;\n",
230
+ "\n",
231
+ " double riskMoney = equity * InpRiskPercent / 100.0;\n",
232
+ "\n",
233
+ " double lots = riskMoney / slMoney;\n",
234
+ "\n",
235
+ " // Normalize lot to step & min/max\n",
236
+ " lots = MathFloor(lots / lotStep) * lotStep;\n",
237
+ " if(lots < minLot) lots = minLot;\n",
238
+ " if(lots > maxLot) lots = maxLot;\n",
239
+ "\n",
240
+ " return(lots);\n",
241
+ "}\n",
242
+ "//+------------------------------------------------------------------+\n",
243
+ "bool PlacePending(ENUM_ORDER_TYPE type, double price, double sl, double tp, ulong &ticket, string comment)\n",
244
+ "{\n",
245
+ " double stopLossPips = (type == ORDER_TYPE_BUY_STOP || type == ORDER_TYPE_BUY_LIMIT) ? (price - sl)/Pip()\n",
246
+ " : (sl - price)/Pip();\n",
247
+ " double lots = CalculateLotSize(stopLossPips);\n",
248
+ "\n",
249
+ " MqlTradeRequest req;\n",
250
+ " MqlTradeResult res;\n",
251
+ " ZeroMemory(req);\n",
252
+ " ZeroMemory(res);\n",
253
+ "\n",
254
+ " req.action = TRADE_ACTION_PENDING;\n",
255
+ " req.symbol = _Symbol;\n",
256
+ " req.type = type;\n",
257
+ " req.volume = lots;\n",
258
+ " req.price = price;\n",
259
+ " req.sl = sl;\n",
260
+ " req.tp = tp;\n",
261
+ " req.magic = InpMagic;\n",
262
+ " req.deviation = InpSlippage;\n",
263
+ " req.type_time = ORDER_TIME_GTC;\n",
264
+ " req.type_filling= ORDER_FILLING_FOK;\n",
265
+ " req.comment = comment;\n",
266
+ "\n",
267
+ " if(!OrderSend(req, res))\n",
268
+ " {\n",
269
+ " Print(\"OrderSend failed: \", res.retcode, \" \", res.comment);\n",
270
+ " ticket = 0;\n",
271
+ " return false;\n",
272
+ " }\n",
273
+ "\n",
274
+ " ticket = res.order;\n",
275
+ " return true;\n",
276
+ "}\n",
277
+ "//+------------------------------------------------------------------+\n",
278
+ "void PlaceStraddle()\n",
279
+ "{\n",
280
+ " double pip = Pip();\n",
281
+ " double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);\n",
282
+ " double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);\n",
283
+ " int digits = (int)SymbolInfoInteger(_Symbol, SYMBOL_DIGITS);\n",
284
+ "\n",
285
+ " double buyE = NormalizeDouble(ask + InpPipsEntry * pip, digits);\n",
286
+ " double buySL = NormalizeDouble(buyE - InpPipsSL * pip, digits);\n",
287
+ " double buyTP = NormalizeDouble(buyE + InpPipsTP * pip, digits);\n",
288
+ "\n",
289
+ " double sellE = NormalizeDouble(bid - InpPipsEntry * pip, digits);\n",
290
+ " double sellSL = NormalizeDouble(sellE + InpPipsSL * pip, digits);\n",
291
+ " double sellTP = NormalizeDouble(sellE - InpPipsTP * pip, digits);\n",
292
+ "\n",
293
+ " PlacePending(ORDER_TYPE_BUY_STOP, buyE, buySL, buyTP, buyStopTicket, \"BUY_STOP_EA\");\n",
294
+ " PlacePending(ORDER_TYPE_SELL_STOP, sellE, sellSL, sellTP, sellStopTicket, \"SELL_STOP_EA\");\n",
295
+ "}\n",
296
+ "//+------------------------------------------------------------------+\n",
297
+ "bool PendingOrderExists(ulong ticket)\n",
298
+ "{\n",
299
+ " if(ticket == 0) return false;\n",
300
+ "\n",
301
+ " if(OrderSelect(ticket))\n",
302
+ " return true;\n",
303
+ "\n",
304
+ " return false;\n",
305
+ "}\n",
306
+ "//+------------------------------------------------------------------+\n",
307
+ "bool PositionExists(string type)\n",
308
+ "{\n",
309
+ " for(int i = 0; i < PositionsTotal(); i++)\n",
310
+ " {\n",
311
+ " ulong ticket = PositionGetTicket(i);\n",
312
+ " if(ticket == 0) continue;\n",
313
+ " if(!PositionSelectByTicket(ticket)) continue;\n",
314
+ "\n",
315
+ " if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;\n",
316
+ " if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;\n",
317
+ "\n",
318
+ " ENUM_POSITION_TYPE ptype = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);\n",
319
+ " if(type == \"BUY\" && ptype == POSITION_TYPE_BUY) return true;\n",
320
+ " if(type == \"SELL\" && ptype == POSITION_TYPE_SELL) return true;\n",
321
+ " }\n",
322
+ " return false;\n",
323
+ "}\n",
324
+ "//+------------------------------------------------------------------+\n",
325
+ "void CancelOrder(ulong &ticket)\n",
326
+ "{\n",
327
+ " if(ticket == 0) return;\n",
328
+ "\n",
329
+ " MqlTradeRequest req;\n",
330
+ " MqlTradeResult res;\n",
331
+ "\n",
332
+ " ZeroMemory(req);\n",
333
+ " ZeroMemory(res);\n",
334
+ "\n",
335
+ " req.action = TRADE_ACTION_REMOVE;\n",
336
+ " req.order = ticket;\n",
337
+ " req.symbol = _Symbol;\n",
338
+ "\n",
339
+ " if(OrderSend(req, res))\n",
340
+ " {\n",
341
+ " Print(\"Cancelled pending order: \", ticket);\n",
342
+ " ticket = 0;\n",
343
+ " }\n",
344
+ " else\n",
345
+ " Print(\"Failed to cancel order \", ticket, \" ret=\", res.retcode);\n",
346
+ "}\n",
347
+ "//+------------------------------------------------------------------+\n",
348
+ "void CheckAndRebuild()\n",
349
+ "{\n",
350
+ " bool buyPos = PositionExists(\"BUY\");\n",
351
+ " bool sellPos = PositionExists(\"SELL\");\n",
352
+ "\n",
353
+ " bool buyActive = PendingOrderExists(buyStopTicket);\n",
354
+ " bool sellActive = PendingOrderExists(sellStopTicket);\n",
355
+ "\n",
356
+ " // One triggered → cancel opposite pending\n",
357
+ " if(buyPos && sellActive)\n",
358
+ " CancelOrder(sellStopTicket);\n",
359
+ " if(sellPos && buyActive)\n",
360
+ " CancelOrder(buyStopTicket);\n",
361
+ "\n",
362
+ " // Loop: if both positions closed → rebuild straddle\n",
363
+ " if(!buyPos && !sellPos && !buyActive && !sellActive)\n",
364
+ " {\n",
365
+ " Print(\"Both positions closed → placing new straddle\");\n",
366
+ " PlaceStraddle();\n",
367
+ " }\n",
368
+ "\n",
369
+ " // Check solo pending orders and cancel them\n",
370
+ " if(buyActive && !sellActive)\n",
371
+ " CancelOrder(buyStopTicket);\n",
372
+ " if(sellActive && !buyActive)\n",
373
+ " CancelOrder(sellStopTicket);\n",
374
+ "}\n",
375
+ "//+------------------------------------------------------------------+\n",
376
+ "void TrailStops()\n",
377
+ "{\n",
378
+ " double pip = Pip();\n",
379
+ "\n",
380
+ " for(int i=0; i<PositionsTotal(); i++)\n",
381
+ " {\n",
382
+ " ulong ticket = PositionGetTicket(i);\n",
383
+ " if(ticket == 0) continue;\n",
384
+ " if(!PositionSelectByTicket(ticket)) continue;\n",
385
+ "\n",
386
+ " if(PositionGetInteger(POSITION_MAGIC) != (long)InpMagic) continue;\n",
387
+ " if(PositionGetString(POSITION_SYMBOL) != _Symbol) continue;\n",
388
+ "\n",
389
+ " double open = PositionGetDouble(POSITION_PRICE_OPEN);\n",
390
+ " double current = (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) ? SymbolInfoDouble(_Symbol, SYMBOL_BID)\n",
391
+ " : SymbolInfoDouble(_Symbol, SYMBOL_ASK);\n",
392
+ " double sl = PositionGetDouble(POSITION_SL);\n",
393
+ " ENUM_POSITION_TYPE type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);\n",
394
+ "\n",
395
+ " double profitPips = (type == POSITION_TYPE_BUY) ? (current - open)/pip\n",
396
+ " : (open - current)/pip;\n",
397
+ "\n",
398
+ " if(profitPips >= InpTrailTriggerPips)\n",
399
+ " {\n",
400
+ " double newSL = (type == POSITION_TYPE_BUY) ? current - InpTrailDistancePips*pip\n",
401
+ " : current + InpTrailDistancePips*pip;\n",
402
+ "\n",
403
+ " // Only move SL forward (do not move backward)\n",
404
+ " if((type == POSITION_TYPE_BUY && newSL > sl) || (type == POSITION_TYPE_SELL && newSL < sl))\n",
405
+ " {\n",
406
+ " trade.PositionModify(ticket, newSL, PositionGetDouble(POSITION_TP));\n",
407
+ " Print(\"Trailing SL modified for ticket \", ticket, \" newSL=\", newSL);\n",
408
+ " }\n",
409
+ " }\n",
410
+ " }\n",
411
+ "}\n",
412
+ "//+------------------------------------------------------------------+\n",
413
+ "int OnInit()\n",
414
+ "{\n",
415
+ " PlaceStraddle();\n",
416
+ " return(INIT_SUCCEEDED);\n",
417
+ "}\n",
418
+ "//+------------------------------------------------------------------+\n",
419
+ "void OnTick()\n",
420
+ "{\n",
421
+ " CheckAndRebuild();\n",
422
+ " TrailStops();\n",
423
+ "}\n",
424
+ "//+------------------------------------------------------------------+\n"
425
+ ]
426
+ }
427
+ ],
428
+ "metadata": {
429
+ "language_info": {
430
+ "name": "python"
431
+ }
432
+ },
433
+ "nbformat": 4,
434
+ "nbformat_minor": 5
435
+ }
MQL5 Folder/0_00-3_00 Range/03 Hedge.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
MQL5 Folder/0_00-3_00 Range/03 range hedge minimum.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
MQL5 Folder/Revised 0-3/best/highest performing.mq5 ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #property strict
2
+ #include <Trade/Trade.mqh>
3
+
4
+ CTrade trade;
5
+
6
+ // =====================
7
+ // INPUTS
8
+ // =====================
9
+ input double RiskPercent = 1.0; // 1% risk per trade
10
+ input int TimerSec = 5; // timer interval in seconds
11
+
12
+ // =====================
13
+ // GLOBALS
14
+ // =====================
15
+ string TradeSymbol;
16
+ datetime lastEntryBarTime = 0; // track last original entry bar
17
+ datetime lastTrailBarTime = 0; // track last trailing bar
18
+ bool originalEntryDone = false; // flag for original entry per day
19
+ bool reverseEntryDone = false; // flag for reverse entry per day
20
+ double initialSL = 0.0; // store initial SL
21
+
22
+ // =====================
23
+ // INIT
24
+ // =====================
25
+ int OnInit()
26
+ {
27
+ TradeSymbol = _Symbol;
28
+ if(!SymbolSelect(TradeSymbol, true))
29
+ return INIT_FAILED;
30
+
31
+ EventSetTimer(TimerSec);
32
+ return INIT_SUCCEEDED;
33
+ }
34
+
35
+ // =====================
36
+ void OnDeinit(const int reason)
37
+ {
38
+ EventKillTimer();
39
+ }
40
+
41
+ // =====================
42
+ void OnTimer()
43
+ {
44
+ ResetFlags(); // reset daily flags if new day
45
+ HandleEntry();
46
+ HandleReverseEntry();
47
+ HandleTrailing();
48
+ }
49
+
50
+ // ============================================================
51
+ // ORIGINAL ENTRY LOGIC
52
+ // ============================================================
53
+ void HandleEntry()
54
+ {
55
+ if(PositionSelect(TradeSymbol) || originalEntryDone)
56
+ return;
57
+
58
+ datetime barTime = iTime(TradeSymbol, PERIOD_H3, 1);
59
+ if(barTime == 0 || barTime == lastEntryBarTime)
60
+ return;
61
+
62
+ lastEntryBarTime = barTime;
63
+
64
+ MqlDateTime t;
65
+ TimeToStruct(barTime, t);
66
+ if(t.hour != 0) // only 0:00–3:00 H3 candle
67
+ return;
68
+
69
+ double open = iOpen(TradeSymbol, PERIOD_H3, 1);
70
+ double close = iClose(TradeSymbol, PERIOD_H3, 1);
71
+ double low = iLow(TradeSymbol, PERIOD_H3, 1);
72
+ double high = iHigh(TradeSymbol, PERIOD_H3, 1);
73
+
74
+ trade.SetDeviationInPoints(20);
75
+ trade.SetTypeFillingBySymbol(TradeSymbol);
76
+
77
+ // ---------------- BUY ----------------
78
+ if(close > open)
79
+ {
80
+ double entry = SymbolInfoDouble(TradeSymbol, SYMBOL_ASK);
81
+ double sl = low;
82
+ double vol = CalculateRiskVolume(entry, sl);
83
+ if(vol > 0)
84
+ {
85
+ if(trade.Buy(vol, TradeSymbol, entry, sl, 0.0))
86
+ {
87
+ initialSL = sl;
88
+ originalEntryDone = true;
89
+ }
90
+ }
91
+ }
92
+
93
+ // ---------------- SELL ----------------
94
+ if(close < open)
95
+ {
96
+ double entry = SymbolInfoDouble(TradeSymbol, SYMBOL_BID);
97
+ double sl = high;
98
+ double vol = CalculateRiskVolume(entry, sl);
99
+ if(vol > 0)
100
+ {
101
+ if(trade.Sell(vol, TradeSymbol, entry, sl, 0.0))
102
+ {
103
+ initialSL = sl;
104
+ originalEntryDone = true;
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ // ============================================================
111
+ // REVERSE ENTRY LOGIC
112
+ // ============================================================
113
+ void HandleReverseEntry()
114
+ {
115
+ if(PositionSelect(TradeSymbol) || !originalEntryDone || reverseEntryDone)
116
+ return;
117
+
118
+ double bid = SymbolInfoDouble(TradeSymbol, SYMBOL_BID);
119
+ double ask = SymbolInfoDouble(TradeSymbol, SYMBOL_ASK);
120
+
121
+ if(initialSL == 0.0)
122
+ return;
123
+
124
+ // Previous H3 candle (-2)
125
+ double prevOpen = iOpen(TradeSymbol, PERIOD_H3, 2);
126
+ double prevClose = iClose(TradeSymbol, PERIOD_H3, 2);
127
+ double prevLow = iLow(TradeSymbol, PERIOD_H3, 2);
128
+ double prevHigh = iHigh(TradeSymbol, PERIOD_H3, 2);
129
+
130
+ // ---------------- BUY Reverse ----------------
131
+ if(bid <= initialSL && iClose(TradeSymbol, PERIOD_H3, 1) < iOpen(TradeSymbol, PERIOD_H3, 1))
132
+ {
133
+ double sl = prevHigh;
134
+ double vol = CalculateRiskVolume(bid, sl);
135
+ if(vol > 0)
136
+ {
137
+ if(trade.Sell(vol, TradeSymbol, bid, sl, 0.0))
138
+ {
139
+ initialSL = sl;
140
+ reverseEntryDone = true;
141
+ }
142
+ }
143
+ }
144
+
145
+ // ---------------- SELL Reverse ----------------
146
+ if(ask >= initialSL && iClose(TradeSymbol, PERIOD_H3, 1) > iOpen(TradeSymbol, PERIOD_H3, 1))
147
+ {
148
+ double sl = prevLow;
149
+ double vol = CalculateRiskVolume(ask, sl);
150
+ if(vol > 0)
151
+ {
152
+ if(trade.Buy(vol, TradeSymbol, ask, sl, 0.0))
153
+ {
154
+ initialSL = sl;
155
+ reverseEntryDone = true;
156
+ }
157
+ }
158
+ }
159
+ }
160
+
161
+ // ============================================================
162
+ // TRAILING LOGIC (STRICT BULLISH/BEARISH RULE)
163
+ // ============================================================
164
+ void HandleTrailing()
165
+ {
166
+ if(!PositionSelect(TradeSymbol))
167
+ return;
168
+
169
+ datetime barTime = iTime(TradeSymbol, PERIOD_H3, 1);
170
+ if(barTime == 0 || barTime == lastTrailBarTime)
171
+ return;
172
+
173
+ lastTrailBarTime = barTime;
174
+
175
+ long type = PositionGetInteger(POSITION_TYPE);
176
+ double currentSL = PositionGetDouble(POSITION_SL);
177
+
178
+ double open = iOpen(TradeSymbol, PERIOD_H3, 1);
179
+ double close = iClose(TradeSymbol, PERIOD_H3, 1);
180
+ double low = iLow(TradeSymbol, PERIOD_H3, 1);
181
+ double high = iHigh(TradeSymbol, PERIOD_H3, 1);
182
+
183
+ // ---------------- BUY ----------------
184
+ if(type == POSITION_TYPE_BUY)
185
+ {
186
+ // Only trail after bullish candle
187
+ if(close > open && low > currentSL)
188
+ trade.PositionModify(TradeSymbol, low, 0.0);
189
+ }
190
+
191
+ // ---------------- SELL ----------------
192
+ if(type == POSITION_TYPE_SELL)
193
+ {
194
+ // Only trail after bearish candle
195
+ if(close < open && high < currentSL)
196
+ trade.PositionModify(TradeSymbol, high, 0.0);
197
+ }
198
+ }
199
+
200
+ // ============================================================
201
+ // RISK-BASED LOT CALCULATION
202
+ // ============================================================
203
+ double CalculateRiskVolume(double entry, double stop)
204
+ {
205
+ double distance = MathAbs(entry - stop);
206
+ if(distance <= 0)
207
+ return 0;
208
+
209
+ // spread x 10 rule
210
+ int spread_points = (int)SymbolInfoInteger(TradeSymbol, SYMBOL_SPREAD);
211
+ double spread = spread_points * SymbolInfoDouble(TradeSymbol, SYMBOL_POINT);
212
+ if(distance < spread * 10)
213
+ return 0;
214
+
215
+ double balance = AccountInfoDouble(ACCOUNT_BALANCE);
216
+ double riskAmt = balance * (RiskPercent / 100.0);
217
+
218
+ double tickSize = SymbolInfoDouble(TradeSymbol, SYMBOL_TRADE_TICK_SIZE);
219
+ double tickValue = SymbolInfoDouble(TradeSymbol, SYMBOL_TRADE_TICK_VALUE);
220
+
221
+ double costPerLot = (distance / tickSize) * tickValue;
222
+ if(costPerLot <= 0)
223
+ return 0;
224
+
225
+ double volume = riskAmt / costPerLot;
226
+
227
+ double minLot = SymbolInfoDouble(TradeSymbol, SYMBOL_VOLUME_MIN);
228
+ double maxLot = SymbolInfoDouble(TradeSymbol, SYMBOL_VOLUME_MAX);
229
+ double stepLot = SymbolInfoDouble(TradeSymbol, SYMBOL_VOLUME_STEP);
230
+
231
+ volume = MathFloor(volume / stepLot) * stepLot;
232
+ volume = MathMax(volume, minLot);
233
+ volume = MathMin(volume, maxLot);
234
+
235
+ return volume;
236
+ }
237
+
238
+ // ============================================================
239
+ // DAILY RESET OF FLAGS
240
+ // ============================================================
241
+ void ResetFlags()
242
+ {
243
+ static datetime lastResetTime = 0;
244
+ datetime now = TimeCurrent();
245
+ MqlDateTime t;
246
+ TimeToStruct(now, t);
247
+
248
+ // Reset once per day at 0:00 H3 candle
249
+ if(t.hour == 0 && lastResetTime < now - 3600) // ensure reset only once
250
+ {
251
+ originalEntryDone = false;
252
+ reverseEntryDone = false;
253
+ initialSL = 0.0;
254
+ lastResetTime = now;
255
+ }
256
+ }
Pinescript Folder/OB-OS Multi-Indicator Dashboard/OB/OS Multi-Indicator Dashboard.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
Pinescript Folder/VROC buy&sell/vroc buysell.ipynb ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "79f94a60",
7
+ "metadata": {
8
+ "vscode": {
9
+ "languageId": "plaintext"
10
+ }
11
+ },
12
+ "outputs": [],
13
+ "source": [
14
+ "//@version=5\n",
15
+ "indicator(\"Buy/Sell Side VROC\", overlay=false)\n",
16
+ "\n",
17
+ "// Input: length for periods ago\n",
18
+ "length = input.int(14, minval=1, title=\"VROC Period\")\n",
19
+ "\n",
20
+ "// Calculate VROC\n",
21
+ "vroc_raw = (volume - volume[length]) / volume[length] * 1500\n",
22
+ "\n",
23
+ "// Determine direction: Buy Side if price closed higher, Sell Side if lower\n",
24
+ "priceUp = close > close[length]\n",
25
+ "priceDown = close < close[length]\n",
26
+ "\n",
27
+ "// Separate Buy Side and Sell Side VROC\n",
28
+ "vroc_buy = priceUp ? vroc_raw : na\n",
29
+ "vroc_sell = priceDown ? vroc_raw : na\n",
30
+ "\n",
31
+ "// Plot VROC as bar-style columns\n",
32
+ "plot(vroc_buy, color=color.green, title=\"Buy Side VROC\", style=plot.style_columns)\n",
33
+ "plot(vroc_sell, color=color.red, title=\"Sell Side VROC\", style=plot.style_columns)\n",
34
+ "\n",
35
+ "// Zero line for reference\n",
36
+ "hline(0, \"Zero Line\", color=color.gray, linestyle=hline.style_dotted)\n"
37
+ ]
38
+ },
39
+ {
40
+ "attachments": {
41
+ "image.png": {
42
+ "image/png": "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1ykBCUhAAhKQgAQkIIEiELAGLsIumIMEJFBlAq5NAhKQgAQkIAEJSKA4BKyBi7MXZiIBCUigagRcjwQkIAEJSEACEigaAWvgou2I+UhAAhKQQBUIuAYJSEACEpCABIpJwBq4mPtiVhKQgAQkIIGyEjBvCUhAAhKQQJEJWAMXeXfMTQISkIAEJCCBMhEwVwlIQAISKD4Ba+Di75EZSkACEpCABCQggaITMD8JSEACZSFgDVyWnTJPCUhAAhKQgAQkIIEiEjAnCUigXASsgcu1X2YrAQlIQAISkIAEJCCBohAwDwmUkYA1cBl3zZwlIAEJSEACEpCABCQggVEScO7yErAGLu/embkEJCABCUhAAhKQgAQkIIHBEpiYmFi7dm16Duxz586Nj4/PnDlzwYIFJ0+epAXB4HDPnj3YyMTExOzZs/HBE39a0tLYu2XLFpwRjPBctWoVh0gSM9r71NbAfQJ0uAQkIAEJSEACEpCABCQggWoSoKy94447zpw5k1netm3bVq9eferUqRtvvHH79u30UuXeeeedV1555U033RSHmzdv3r17Nz5jY2P405gIzpleSuIDBw4cP3788OHDO3bs4DDqXobv379/48aNZJIM79Popwbuc2qHS0ACEpCABCQgAQlIQAISkEBxCWzYsIEqtzG/NWvWLFmyJN1OlUutu2vXrunTp9N+5MgR9Lx589DLli2jssVIpLGXQnfRokWMnTVrFi+TqXh37tzJQIYQZO7cubRg5yLWwL1hdJQEJCABCUhAAhKQgAQkIIEqE9iyZcv8+fOjEJ3W8IeilGKV3jVr1vBed+/evbwQnvncT0fTe/r06WTQsWPH8EkOG3sPHTqU9GIcPHiQIRghhGJI2P1ra+D+GdYtguuVgAQkIAEJSEACEpCABCpOYGJi4sCBAytXrpxqnbywpXDlbS2l8tmzZylTeZd7avKno3l7PNWoIrRbAxdhF8yhLATMUwISkIAEJCABCUhAAtUnwDvbdevW3X///XPmzLntttt4wUuh23TZq1atolR+5plnZsyYQVWMD2+G0di0YISMjY1Nn/wZ6Ths7OWVcnSFvu666xgSNppQDMHIRayBc8FoEAlUnoALlIAEJCABCUhAAhKoCwHq1V27dvFSF6EApgxes2bNyZMnqVSjGF67di0visHBu9/LLrvs8ssvx44W3gxjU7Ie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"
43
+ }
44
+ },
45
+ "cell_type": "markdown",
46
+ "id": "64c861ce",
47
+ "metadata": {},
48
+ "source": [
49
+ "![image.png](attachment:image.png)"
50
+ ]
51
+ },
52
+ {
53
+ "cell_type": "markdown",
54
+ "id": "c88ca9f2",
55
+ "metadata": {},
56
+ "source": []
57
+ }
58
+ ],
59
+ "metadata": {
60
+ "language_info": {
61
+ "name": "python"
62
+ }
63
+ },
64
+ "nbformat": 4,
65
+ "nbformat_minor": 5
66
+ }
Pinescript Folder/VWAP witih buy&sell spread/VWAP with buy&sell spread.ipynb ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "7e6c12f0",
7
+ "metadata": {
8
+ "vscode": {
9
+ "languageId": "plaintext"
10
+ }
11
+ },
12
+ "outputs": [],
13
+ "source": [
14
+ "//@version=6\n",
15
+ "indicator('VWAP with Buy/Sell Delta VWAP (1-Min Data)', overlay = true)\n",
16
+ "\n",
17
+ "//vwap logic\n",
18
+ "// VWAP calculation from 1-minute data\n",
19
+ "f_vwap_calc() =>\n",
20
+ " var float cumPV = 0.0\n",
21
+ " var float cumVol = 0.0\n",
22
+ " var float cumPV_buy = 0.0\n",
23
+ " var float cumVol_buy = 0.0\n",
24
+ " var float cumPV_sell = 0.0\n",
25
+ " var float cumVol_sell = 0.0\n",
26
+ "\n",
27
+ " // Reset on new day\n",
28
+ " if bool(ta.change(time('D')))\n",
29
+ " cumPV := 0.0\n",
30
+ " cumVol := 0.0\n",
31
+ " cumPV_buy := 0.0\n",
32
+ " cumVol_buy := 0.0\n",
33
+ " cumPV_sell := 0.0\n",
34
+ " cumVol_sell := 0.0\n",
35
+ " cumVol_sell\n",
36
+ "\n",
37
+ " buyVol = close > open ? volume : 0.0\n",
38
+ " sellVol = close < open ? volume : 0.0\n",
39
+ "\n",
40
+ " cumPV := cumPV + close * volume\n",
41
+ " cumVol := cumVol + volume\n",
42
+ "\n",
43
+ " cumPV_buy := cumPV_buy + close * buyVol\n",
44
+ " cumVol_buy := cumVol_buy + buyVol\n",
45
+ "\n",
46
+ " cumPV_sell := cumPV_sell + close * sellVol\n",
47
+ " cumVol_sell := cumVol_sell + sellVol\n",
48
+ "\n",
49
+ " vwap = cumVol != 0 ? cumPV / cumVol : na\n",
50
+ " buyVWAP = cumVol_buy != 0 ? cumPV_buy / cumVol_buy : na\n",
51
+ " sellVWAP = cumVol_sell != 0 ? cumPV_sell / cumVol_sell : na\n",
52
+ "\n",
53
+ " [vwap, buyVWAP, sellVWAP]\n",
54
+ "\n",
55
+ "// Pull 1-minute VWAP values\n",
56
+ "[vwap_1m, buyVWAP_1m, sellVWAP_1m] = request.security(syminfo.tickerid, '1', f_vwap_calc())\n",
57
+ "\n",
58
+ "// Only show on intraday charts\n",
59
+ "showVWAP = not timeframe.isdaily and not timeframe.isweekly and not timeframe.ismonthly\n",
60
+ "\n",
61
+ "// Plot VWAPs with conditional display\n",
62
+ "plot_vwap = plot(showVWAP ? vwap_1m : na, color = color.rgb(255, 153, 0, 100), linewidth = 1, title = 'VWAP (1m)')\n",
63
+ "plot_buy_vwap = plot(showVWAP ? buyVWAP_1m : na, color = color.rgb(0, 137, 123, 90), linewidth = 1, title = 'Buy Delta VWAP (1m)')\n",
64
+ "plot_sell_vwap = plot(showVWAP ? sellVWAP_1m : na, color = color.rgb(255, 82, 82, 90), linewidth = 1, title = 'Sell Delta VWAP (1m)')\n",
65
+ "\n",
66
+ "// Fill areas\n",
67
+ "fill(plot_vwap, plot_buy_vwap, color = showVWAP ? color.new(color.teal, 85) : na, title = 'Buy VWAP Fill')\n",
68
+ "fill(plot_vwap, plot_sell_vwap, color = showVWAP ? color.new(color.red, 85) : na, title = 'Sell VWAP Fill')\n"
69
+ ]
70
+ },
71
+ {
72
+ "attachments": {
73
+ "image.png": {
74
+ "image/png": "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TKIGh6hEQbPSVnSHSQCCpQs8ajAIhkIXlGuw3TXwAL9IgARIgARIgARIgARIgAQaRIDDkkD7EHjllVeWl5eHh4evXLlSmnUwGHziiSfQ+pM/+ZNohUfY9PQ0/OOPP/7ee+9duHDBbDajCYP81m/9Vi6XQ1mstPX1119/5513pBUjXLp0CV3QETUYBEOhC8qltqsq3l0D7zoEA0iABEiABEiABEiABEiABEigagLs0FYE5ufnr127duLEiZ2yttvt169ff/PNN8+dO4eYkydPzs3N3bhx4zvf+Q4ULGp0YtTAOjkRTIMESIAESIAESIAESIAESKBrCLTbQiORyAsvvPDWW285nc6nn34a27AidEvXAekLqXz79u3FxUVEQhi//PLLX/va16xbX1q82+22WCzaIcLQrh2i9eDBg9ohCthJRiUKYghGFylX66mBqyXGeBIgARIgARIgARIgARIgARLoLgLQqxcvXvRvfUEAQ9yeOnVqdXUVSlXE8OnTp7FRDChXr14dHh7u7++/c+eO1GArGPJ1//79CwsLN2/eVBQFe8XHjh2Drj569Cg0M3pB0Ba1Yg/58uXLiMEskNOHDh1CDToiWAY5cOAAyjUYNXAN0NiFBEiABEiABEiABEiABEiABLqdAITr8ePHIXEB4ktf+hI2im0222uvvXbmzBk0YfsXUrmw5sUXXzx8+DBqEH/kyBF4zRBf1IoAKGdsO0P6Pvfccwg4ceIExDC6P/XUU5DckOVa96oKrdTAVSXKYBIgARIgARIgARIgARIgARIggZYTgDo9f/68pAGBih1dlKFIZaP4+vXr0KuoQdjWtrG/tEa6SxcpF8ZrNSjICBgKARKPmpWVFWwLo6Y2owaujdtee7E/CZAACZAACZAACZAACZAACbQ1gfn5+StXrohAbaOFUAO30cnqkFS5DBIgARIgARIgARIgARIggQ4ggM3Ys2fPtt1CqIHb7pQx4TYmwNRJgARIgARIgARIgARIgARaS4AauLX8OTsJdAsBrpMESIAESIAESIAESIAE9ECAGlgPZ4E5kAAJdDIBro0ESIAESIAESIAESEA/BKiB9XMumAkJkAAJdBoBrocESIAESIAESIAE9EaAGlhvZ4T5kAAJkAAJdAIBroEESIAESIAESECfBKiB9XlemBUJkAAJkAAJtCsB5k0CJEACJEACeiZADazns8PcSIAESIAESIAE2okAcyUBEiABEtA/AWpg/Z8jZkgCJEACJEACJEACeifA/EiABEigXQhQA7fLmWKeJEACJEACJEACJEACeiTAnEiABNqLADVwe50vZksCJEACJEACJEACJEACeiHAPEigHQlQA7fjWWPOJEACJEACJEACJEACJEACrSTAuduXADVw+547Zk4CJEACJEACJEACJEACJEACzSbQ7vNRA7f7GWT+JEACJEACJEACJEACJEACJEAClRLYiwaudA7GkQAJkAAJkAAJkAAJkAAJkAAJkIAeCFAD13YW2IsESIAESIAESIAESIAESIAESKD9CFADt985a3XGnJ8ESIAESIAESIAESIAESIAE2pUANXC7njnm3QoCnJMESIAESIAESIAESIAESKC9CVADt/f5Y/Yk0CwCnIcESIAESIAESIAESIAEOoEANXAnnEWugQRIoJEEODYJkAAJkAAJkAAJkEDnEKAG7pxzyZWQAAmQQL0JcDwSIAESIAESIAES6DQC1MCddka5HhIgARIggXoQ4BgkQAIkQAIkQAKdSYAauDPPK1dFAiRAAiRAArUSYD8SIAESIAES6GQC1MCdfHa5NhIgARIgARIggWoIMJYESIAESKDzCVADd/455gpJgARIgARIgARIYDcCbCcBEiCBbiFADdwtZ5rrJAESIAESIAESIAES2I4A60iABLqLADVwd51vrpYESIAESIAESIAESIAE7hHg/yTQjQSogbvxrHPNJEACJEACJEACJEACJNDdBLj67iVADdy9554rJwESIAESIAESIAESIAES6D4Ce13x/Pz86dOni0aJRCJHjx612WwHDx5cXV2VVhRweOnSJTmcn593OByIQSTipVLzpa3nzp1DMAwFCTt58iQOYdqYUl+VpwauCheDSYAESIAESIAESIAESIAESKB7CUDWPvPMM8FgsAjBq6+++txzz/n9/ieffPLChQtohcr93Oc+Nzs7++lPf1oOz549+/bbbyPG7XYjHpWaIbioFZL42rVrS0tLN27ceOONN3Aouhfdr169+tJLLyETrXvFhXwgNXCeAv+RAAmQAAmQAAmQAAmQAAmQAAnsSuDMmTNQuaVhp06dOnLkSGE9VC607sWLFy0WC+pv3rwJf+DAAfhjx45B2aKgWWkrhO4TTzyBvna7HZvJULxvvvkmOqILBpmZmUENyjVYt2rgGlCxCwmQAAmQAAmQAAmQAAmQAAl0MYFz587Nzc2JEFVKviBKIVbReurUKezrXr58GRvCtnvvjkZrIBDQOi0uLiJGOyxtvX79utaKwjvvvIMuKIhhKHSRcrWeGrhaYu0fzxWQAAmQAAmQAAmQAAmQAAmQQJUE5ufnr127duLEiZ36YcMWwhW7tZDKoVAIMhV7uf6td0dj93inXs2vpwZuPnPO2DoCnJkESIAESIAESIAESIAESKB6AtizfeGFF9566y2n0/n0009jgxdCd9thTp48Cakci8WsVitUMWKwMwyPMmpQEHO73Zat90jLYWkrtpSlSfzjjz+OLlKGx1DogkINRg1cAzR2IYE2JMCUSYAESIAESIAESIAESKBWAtCrFy9exKYuDAIYMvjUqVOrq6tQqiKGT58+jY1iDI+93+Hh4cnJSZSlBjvDKEOyLiwsyOd+UQNhDF199OhRaOZtW+fm5i5fvowYzLK4uHjo0CHUoCOCZZADWx8txmG1Rg1cLTHGkwAJtBsB5ksCJEACJEACJEACJNAAApC1x48fl6dbfelLX8JGsc1me+21186cOQPN/JWvfOXZZ59FDRTsV7/6VQS/+OKLhw8fRg1yKXqAVmkrArDxi21nSN/nnnsOASdOnMBQ6P7UU09BcmMKjFODUQPXAI1dSIAESKBNCDBNEiABEiABEiABEqg3AajT8+fPy6gQqNjRRRmKVDaKr1+/Dr2KGuzcrqysYN8Y9WhFDTriECbdUYkmKZe2ogZNCIahIw4lHocYFoOjpjajBq6NG3uRAAmQAAnomwCzIwESIAESIAESaDCB+fn5K1euiEBt8FT1HJ4auJ40ORYJkAAJkAAJtJ4AMyABEiABEiCBphDAZuzZs2ebMlU9J6EGridNjkUCJEACJEACJNBKApybBEiABEiABHYjQA28GyG2kwAJkAAJkAAJkID+CTBDEiABEiCByghQA1fGiVEkQAIkQAIkQAIkQAL6JMCsSIAESKAaAtTA1dBiLAmQAAmQAAmQAAmQAAnohwAzIQESqJ4ANXD1zNiDBEiABEiABEiABEiABEigtQQ4OwnUSoAauFZy7EcCJEACJEACJEACJEACJEACzSfAGfdGgBp4b/zYmwRIgARIgARIgARIgARIgARIoDkE6jELNXA9KHIMEiABEiABEiCBlhLof+XLLZ2fk5MACZAACbQNgXbVwG0DmImSAAmQAAmQAAmQAAmQAAmQAAnohgA1sG5ORcWJMJAESIAESIAESIAESIAESIAESKA2AtTAtXFjr9YQ4KwkQAIkQAIksCuB0I/99K4xDCABEiABEuhaAtTAXXvqufA2I8B0SYAESIAESIAESIAESIAE9k6AGnjvDDkCCZBAYwlwdBIgARIgARIgARIgARKoFwFq4HqR5DgkQAIkUH8CHJEESIAE9Emg8EHcfPO5Ps8RsyIBEtiJADXwTmRYTwIkQAIk0EoCnJsESIAESIAESIAEGkGAGrgRVDkmCZAACZAACdROgD1JQLcECrd/dZskEyMBEiCB8gSogcvzYSsJkAAJkAAJkEDzCHCmLiTAt1J34UnnkkmgtQSogVvLn7OTAAmQAAmQAAmQQJ5AB/zjLnEHnEQugQS6gQA1cDecZa6RBEiABEiABEiABHYkUO1OrGhd8dJX/I4T7NbAdhIgARJoJgFq4GbS5lwkQAIkQAIkQAL1JyBiTLyIMfH1n6m7RxTC4rubRD1Xz7FIgASaT4AauPnMOSMJkAAJkAAJkEDtBKjBamdXU8+6A8eAYkhHXq0o9KikdQkBLpMEWkWAGrhV5DkvCZAACZAACZDAXgmIdtrrKF3ZHyq0knVLmHgtPvb5L6IsHgUaCZBAtQQY31oC1MCt5c/ZSYAESIAESIAESKA9CIjoFV/3jOXlDPF1H5wDkgAJ6IeAHjKhBtbDWWAOJEACJEACJEACJNB6AkX7vU1IaOi738Ys4lHQjGJYQ8ECCZBA3Qm0SgPXfSEckARIgARIgARIgARIYBcClatcqtBdULKZBEigbQlQAzf/1HFGEiABEiABEiABEmglAVHC4kXrwsuheBwiP/EoaLbHN0LL4NpoLJAACZBASwhQA7cEe9dOyoWTAAmQAAmQAAm0jIBIUHiRsuLlfcjiK89M+paJL9XPOwVXO/VO47CeBEiABCokQA1cISiGkcAeCbA7CZAACZAACeiagMha8TUkCmmNXuJFAItHpZg0iZcaehIggTYlMD8/f/r06aLkI5HI0aNHbTbbwYMHV1dXC1sRjC6ogXc4HIhBJOJRU2ilrefOnUMwDAWJPHnyJA5hly5dkpoaPDVwDdDYhQRIoCoCDCYBEiABEtA1gbrsxIp4Fl9+tYgRKx/GVhIgAX0SgL595plngsFgUXqvvvrqc8895/f7n3zyyQsXLmitkK/f+MY3cAjRe/bs2bfffhsxbrcb8ajUrLR1fn7+2rVrS0tLN27ceOONN3Aouhfdr169+tJLLyETrXtVBWrgqnAxmARIgASqIsBgEiABEuhwAtDPYjutkxu/O5FhPQm0KYEzZ85A5ZYmf+rUqc5ApDgAABAASURBVCNHjhTVQ7hevnz5U5/6FOpv3rwJf+DAAfhjx45B2aKgWWkrhO4TTzxhsVjsdrvsLb/55pvoiC4YZGZmhhoYKGgkQAIkQAL6IcBMSKAhBERQiZe32opvyGQclARIgARI4OMEsKk7NzcnQlQp+YIohVhF66lTp9CIwxdeeOE3fuM3rFarHAYCARTEFhcXsfcrZXgEF7Vev34d9Zq988476KIdIhhdtMOqCtwHrgoXg0mABEiABEhgVwIMaBIBbD9iJvEo0PZOIPb5L+5lkNLu8mqF+L2MzL4kQAJ6IIBN3WvXrp04cWKnZLBhC+GK3VpIZcRgx/i5555DJcq6MmpgXZ0OJkMCJEACJEACbU2gNcmL9BLfmgw4awUE5ASJryCcISRAAvoigD1bbOq+9dZbTqfz6aefvnDhggjd0ixPnjwJqQwljBhEIh69nnnmGbPZLBvC0sXtdlssFinDQyoXtWJLGfWaPf744+iiHSIYXbTDqgrUwFXhYjAJkAAJkAAJkEBjCWz73uZ22EhsLJa6j65nLSrXgPi6L5wDkgAJ1EYAevXixYv+rS8Rt6dOnVpdXYVSFTGsPfz56tWrw8PDx44d24r1Ly0tfeYzn/nmN7/5iU98YmFhQT73C4WMAOjqo0ePQjMjJQjaota5ubnLly8jBrMsLi4eOnQINeiIYBnkwNZHi3FYrVEDV0uM8SRAAiRAAiRAAvUhUKhsC8v1GZ2jNI9A8UzyBnV4UdriEaQVUKaRAAl0AAEI1+PHj8vTrb70pS9ho9hms7322mtnzpwpXR2CX3zxxcOHDyMGrUUP0CptRQA2frGNDOkr76k+ceIExDC6P/XUU5DckOUYpwajBq4BGruQAAmQAAmQAAnoggBUli7y6LgkBCw8VKtYo5eIuTCFeBTax5gpCXQjAajT8+fPy8ohULGjizIUqWwUX79+HYIWNWKof/3117GLi0N0lM1h6Y4mdJFyaStq0CTx6IhDiUfNysqKDIjKGowauAZo7EICJEACJEACJEACJEACXU6AyycBZX5+/sqVKyJQ2wgHNXAbnSymSgIkQAIkQAIkQALtQYA7uu1xnphljQTY7SMC2Iw9e/bsRwft8x81cPucK2ZKAiRAAiRAAiRAAl1GgE/G6rITzuXqn0AnZEgN3AlnkWsgARIgARIggbYmIA/EghfBI76tV8TkSYAESIAEdEugVg2s2wUxMRIgARIgARIggc4iAG2MBYlHgUYCJEACJEACeyFADVw9PfYgARIgARIgARJoEYHY57+ImcWjQNM/AZ4s/Z8jZkgC3UaAGrjbzvje1sveJEACJEACJEACJNAiAnyTfIvAt2Zanu7WcO+OWamBu+M8c5V7J8ARSIAESIAE6kpA3tssvq4Dc7D2JJDLIe9ENBIN+FEQiyeTUqAnARIggToSoAauI0wORQIdSoDLIgESIIEGE5C3y4ovnIobQYU0Oq+czmbDqaQ/FNpYW1u7u4gFhmOxNP67Z76NNRTXfJ5YKpmXyDigkQAJkMCeCVAD7xkhByABEuhgAlwaCZAACXQrgaHvfrsRS09lM55Y9O7mxp2F26u3b0cWFrLBwJDFMj49jRnHxsaHrTZtXofTjfKgqgbXVhdWllDObm0Xo0AjARIggZoJUAPXjI4dSYAESKCjCXBxJEACJLB3AplMNp1OxuPRSMTn9W6ur20uLhiWV0bi8RnbmGtmZuqBB0edrr7BQaPRtNNsFtvolNM93W9BwIdrK2G+QRogaCRAAnsgYNhDX3YlARIgARIggU4kwDXpg4C8EVp8YUalb5kubGW5NQRyuUQsFo9Go6FQ0OfdWFtZW767dufDtcWFzeWlkNebikZ6VNUyYMHW7siDD1pcbnV4WDGbFVWtKGFVNdtsiHSqxs2VpVt+jy8eS2YyqKF1GIHSb/kOWyCXowcC1MB6OAvMgQRIgARIgAT0QaDVWQxtvf9WfKtz4fy7EEhls9F4LODZ9K6urC3dDQUD4UgokU7mjMb+4eHhkbFRt3tidt/kzOzY9LR1YtIyMtI/OKiYdtzvLZ1P5JB4ae2dmNg3bJv2BoJrqze9GxDD/nhMmuhJgARIoEIC1MAVgmIYCZAACZAACZBAfQjo9FnQ9VmcHkepL/BMLueJx+6srWwu3IltbprM5j7byITTNT5lH5+YGhkZsw5bB/st/f39ZoPRUOE2r/KxL3kRRPzHGnBgMCgjIwMu1+zwyGORhG3Tv7S5vh6L8IlZYEMjARKokAA1cIWgGEYCJEACJEACJKBfAnyD9J7OTcWdw7HoytKiYWXFrRgd084xl9sybB3o66tN65aZdnsBrHXo6VFGbKrbNT46ciCVXQ0HPgz4wvycsMan3Qr1fZmm3VbPfFtAgBq4BdA5JQmQAAmQAAl0LQG52RVfCEETsbuIn8I+LJcQKAVbElJLRSabCYeCGyvLCa9vyjY6MjNrmJpUIERrGax+fYxGZXS0Z2Tk4VDCm4iuREPpbLbq0dmhHQgUvh++HfJt+xzxk6S9zPr1r7z0//vDyrlTA1fOipEkQAIkQAIkQAJ1IyCiV3zdBu2mgSpUBbiRBRXxKFRroWDA59n0rCxnUynryOiY02keHFQgPqsdqHHxw8O9vb2PxbOxTHo5EsrxjydVjpqRJNApBJKZzP9j/juVr4YauHJWjCQBEiABEiABEiCBVhKoWcpK0njFQUwOd/HpdMLrCfp9Sk6ZmHYNj4719PXt0qUlzQaDOjHel0o/kMz5ErG1WKQlWXDSNiPAdDuOAGRw5WuiBq6cFSNJgARIgARIgARIQHcE9iiMt1lPJqMEAqGlpYVoZGzaNTI+rqqV/QWjbcZqSlVPjzo2OhAMzmbUtWjIyydFN4U6J2lXAsxbUaiBeRWQAAmQAAmQAAmQQEcRCP3YT4tVvapsVgmHE0vL73s2Fgf7ZxzTfdX8KaOqp6tHh49eArBZDVOTw6HIdM6wFAmsR8L1GJtjkAAJbE/gi3/+8H/5ayeK2g5P73//b/692Oe/uP7sr/3igcfR+qd/41dxCHvr6C/hUAtATeD4CxgElYWGMDTBUJB6GaEwWGoQ8y//wl+VmCr8vVBq4Hsk+D8JkAAJkAAJkAAJtDMBUYPiq15HLpfw+XwLH972bN629A7ZHTPDtl5jFX/Lt+oZ99ABCn+b3jabYdQ2FoiMZpTVWNgTi24TwyoSaCmB7S/dlqZUw+TQt3/nkz9e+vPh9I88+e3FW/gRdDcceObhP4cwDP7U733jc//pzcfHpjTF+29u/BlirK995cv/9SoCNEMAwhCMLvuGbDiEyl2NhhH8xysLx/Y/ikjUwKPmH/3pf/6r+x6RKVBTrXWjBq6WEeNJgARIgARIgAQaQQAv5Ddi2M4bEzd8Oy1KmsTvFLN7fTweXFxcDQXjIyPTLtfc2OTkgGXQ3LN7R71FjIwYbMOOUGxSMdwNB1fCfFK03s4Q8+kEAs8f+gmo3NKVfObiN371P/9/tPrXb77zqd/5l1eXb2s15QuOgaFEJrMcCaHLhyH/j0+5MRrGLOz1Y1Ou767dRc1/Xr4TTCYeso6iXINRA9cArY27MHUSIAESIAESIIE2JSBCV7zsJonXliOvKYjXKncppFKhlZWlleXYiG3a5XZYR0r3dnYZQVfNqqqMjqpDg5MbXldOXYmFb/g2N2PRqh6Wo6sFMZl2J4BvWDEsRL5hxeOwQkP3CiObE/bW0V/C3qwI0dIZsTG7/uyvobVQu37aMQtxC9Uq8b889yP4MfX+3/x7h6f3S434lWio12ictgyh/hHbuLL1hTIiUYScRtna04eyGH5YQTZLuVq/iwbW/s6SRp8FICaEdoTAnEEAxquXEEAAxiuBEEAA1pIrAfOKVTL75OeelGDNV9WrkmB9xiArmLbqokIlWHaJyWYzAX//b/6jgMk4MO3Y99vnzIb8baE2qU4K2ioqzcdgUEdslj/6DyOhyMNp5b/71vmlSPBd/ya6+xNxYEQBHsaCfiAgE7FOPSmyOvjKr2dIZdCAoZf4JhcwXal98c8f3jdkO/tnO/4VIuz9Tv7mP8ZuLaSydIcq/qv7Hvmtd/8Mu7uoCSTj8m5nlH/+oYPwmn35v159x7P29b907O2/8ktQwndCfjSh14P/7p+g8Kd/41fh62X5H3ZlxnrxR/+itEKss0AIuAYIoR0hMGcQgPHqJQQQgPFKaDkEJCBWyblY//p3JEw8OlZSQC9EwioJ1n8MFlJk2gK1elkFPGzou99GPQrbelRGfvF/9S4sLIZD67/8BdfE5EhvvwSjSW8FbaVVJGY2I9jgsFviichf/IWHE1lHRv3//uznFkOBW37v2i+flm1hxGC9MBZaC0EEnng53ZB/HXZSQFhMFohyVQtEvFhVvfYYLDMWemzD/k+P/Mj+4RFoVOzlPjoyoQndwjCU37z9Q0hlxKP8/KGfgLKFvkUZghbbudDJKEAMzw7ZUFlo2D3GlfBvbvxZKJX8o5U7WtM33/tv2AGGMEYvrTKRSWPrWDusqrCLBq5qLAaTAAmQgN4IMB8SIIH2JSBCTnz7rkKfmftCgcTwkMvhHOrp1WeGpVlBF6FSPAq728CA6rAbJif6MpnRUOSxUOLBWNKUTr0f8L7n33zf792MRWPpFPRwLpfbfTRGkEDjCUD+NX6S2meAcMWWLJKEQab+0LcByYpt3vVnf03E8H/5ayewUYwJfnzKHc+kEf8v/8JfdQ1aoWBRWWiQx9C02OlF4f2/+fcK93jRBQL7W+9/H1IZw+IQHT/tmIVfjoRWo2FsMqP8F6bzNdr7q1FTlVEDV4WLwSRAAiTQNgSYKAl0AAEKYJxE3G5qHoUaTNsOkr7hYNBg7nGMjpkMer8PlAtAvCRfne/rU0ZsqttlcDsN46P9OWUmEHkknp3KqsZ0ajkSvOHfvOHb+L53/V3v5u2A7244uBGNBpPxcDKJLaZ0Nqvwq0UE5MUO8S1KgdNWRABK9b+uL9kHBhH9D/7kD7BRjB84f37S+fL8H0Me//UHPzFk7vn6XzqGSghdUbwoYycZO7q/WvAALXSHSRcIbGmCxobiRfwvPvy4vJv67J99B+IZNX//0E9cuPU9yGz0qsH0/rOvhiWxCwmQAAmQQJcT4PJJoCMJ4LZPbC+ri6fTAb932Fr8FsS9jKn3vqqq9PQoNpvqchqmHf1m83gkNhOMHfTlN4cfiCZdyexIKmVIJhKx2GYk+EHAezPogTb+gW/je561D7Z2jKOpFCyVzUAYZ3LZDLeOG3PW5fUO8Y2ZQb+jFr7aJeJfvD4zhkb91O/8S8kN27nf3XpWMxSpbBRP/uY/hjaGoYB1iSFeC0ANDtFdaqSMQ+mCwVEWQxOCtT+kJPGFNRJWrTdU24HxJEACJEACJEACuiXAxLqEgIgEeFHF8JUsPJnNrK6vjQ8NG83mSuJ1FYPFIh94EQbiUVOFYd+7v1+dmlSxM+yaNrjYyzc2AAAQAElEQVSdvSM2S3+/NZubiCVngtH9gfAj/vDjvugnfdFHwskH4ml3WulNJtfDgZsBz/tB73u+zff8nvd8sI3ve9b/dG05lExUkQBD90yglvO+50k5QBkCX/zzhw+N2wtVa5lg/TRRA+vnXDATEiABEiABEiCB2gmwZyEBaMXCQyl7ohFjJNw7bJXDLvXYFjYa8zvDfX35zeGJCdU5re6bVffvM8D2zRpmXCbHVN/wsMVksiZT07HkXDA+F44/GEvNJDPOZNqezk6mc/ZMbiKTS2QyCr9IoHoCHSPmv/xfr/73//HV6gG0uAc1cItPAKcnARIgARIgARJoEIH2vcvsf+XLYCIehV2tkoD8W3mXlt0TUwoUYCUdui0Gu8Qggx1yaOPBQWV0RJ2aUt0u1TltcDp6rdZ+s3lQUYfTWVs8ORpLjMaTU5FYJhzqNk5cbxMIyGtY8PIWD/FNmLd7pqAG7p5zzZWSAAmQAAmQQMsItK8cbRmyexPL7a/4e3VV/5/JZjyry/aJCex8Vt1Z3x0anp3JpEAVj2xJYodDdTnVGXfe3C6jczqTSin8qisBCL+6jsfBSGAbAtTA20BhFQmQAAmQAAmQgK4I7FEB6motLUgmkwltbtqGhntGx1ow+96m1KkiUlVFVY09PdlMNqfk9rbE2nt3SU95BU18lywZy9Tnlf+3Hjl08egzv/9X/tabT/3i/831APIU+3t/7n949fDPSrnQIwaRhfGIxCHsH//4TxdGNrlMDdxk4JyOBEiABEiABEiABKojUPtLAJmMEg6Hl5fiqjpkG6luVkbvSsBgMOVyaajgXSMZUCUBUYDit+3KypYQeGxk8g/ufvAzv/dvb/g2n37ok5IDZO0R90NSLvKI+cPlD7V4SOLHRia+8Cff/nc333lgeASHRfFNO6QGbhpqTkQCJEACJEACXUegvp9o7Tp8tS04nVYiEcXvzy0t5Rbvxtc3VpXcaBvuANe2+qb2MhiMipLBCw1NnZWTtQGB8j/6ZE9bPBZTPrj0JTB0aZX92p98+5/8t/+rcHbsDD80PPpnm6taJSQx9opRD4k7YDK/48k3/cC3bjYYPfHoiau/O18QrPVqcoEauMnAOR0JkAAJkAAJkAAJ1JtALqckkx/p3qXl5Mamz+e7Y8h9f6Dnh0O9oxOTPUaItXpPyvEUxWQypTNpkmgOARGN4pszY31nGfq/3saAu25ux9PpUCoZSMQ3Y9HVaBhd9GaHxu3uweEf+DaQ2L99d/5v/9HvoVBqTsswdK9WDz081jeAw3/84z/9M+6H/o8//cP/8+4HOKzK6hVsqNdAHIcESIAESIAESIAESKBpBD66k47FFH8A+73Zu0tBf2DRqPxwoOe9oT7viHXQNvrg6PifG3eM9vU3LasWTtQSadRjMqVSyRauuhumxqUu1taL3Vxbvbv4IZbg8XrgxbJ49WqrFCr4Q9MLm2uelRX/8nJ8bTWzvqHDj5s//dDj0XSqaEN4ax15h/qjF78JbZw/2O4fNpN/f/HW//apv4iN4u3am1HXjhq4GVw4BwmQAAmQAAmQAAnonUAslltZja+vL5sNN4YHlq0W85B11jY6NzLxoG10vH+g32Q2qKreV9HO+Rl7+1IJPhq6nU9hs3IfGhpyzuYfIjWg3P+WvLl8V94IPflvfl1L5EBGne0fmLXaXCNjzvEJVWvQR+FvPXLogeGRC7e+t2s6S5FgKnv/D2hDNnviUekFhRxIxh8fs8th8z01cPOZ72VG9iUBEiABEiCBtiEg93bwskEnvm2y13mi6bTi82WXVm73GG+P25ShoVnryMO2MYdl0GLuMRm65QYPVxdOFLxcXeJR0zQzmc3ZPewDNz/hppHhRCCQymbhxXoHLKqqYkO7f3RUauAfsQzDi8V++ddiz/6D2Il/qDqn1YkJBWFWqzI4KK068YfG7T/jfuiDoK/M25i1zwOL4hWh+9jI5Go0jPI///RfwVqwA2zt6ZMAHDbfuuVHZPPJcsZ6E+B4JEACJEAC7UEAgqQ9Em3fLLPZnMebXtt4f6jfaLXODFmdg8OQvh2/5Qv90NCTVoMiNZrNGX4euKFnpZ0HD4RDu6Rvs94P6OlRzGZF1du+7/0EUXr6ocfH+wZ+ZNz++3/lb8mDr1C5k81vrv7+4q2/7HoAwe7B4Qu33sH2762gF4enDz0JIY3Dnfo2up4auNGEOT4J7J0ARyABEiABEiCBewQymdz6eioSuTU+NGCxuCxDUL/32vh/swmoBoMhq2QKtvuanQHn0x8BeR0QPuq7/9Ff/aVZS0a/9iff/pnf+7dihR/6Rf2Jq78rIxZ+HhgqF2GI/5t/8AYkMQLQikMYuuCwVUYN3CrynJcESKASAowhARIgARIoIAABvLYej8d/ONhr7bM4LENGA+/lCvg0v2gwmHLZdO7+W16bnwJn1C2B4Z4++ctG4nWbZxcmxp+bXXjSuWQSIIG2IMAkSaBzCMhbWMXjXlCsc5ZX15Vg72jH8eLx3MpqKBn/YKjfPTziGBw26PttkzsupJMaVNVoMmXS9x/800mL6+y1lPteq9PKraNjGAk/8eBpuiJADayr08FkSIAESIAEFEUhBBIggW0I5AJBTyxyd3hwdnikS/7c0TYU9FdlMplSGT4aWn8nplkZldHSam9vs7LgPNURoAaujhejSYAESIAESKCRBDh2VxOQm2l42TgS/xGRcPhO0O+fGHtgeGTQ3PNRJf/TAYGenp5UIqmDRJgCCXQ1gRdurVa+fmrgylkxkgRIgARIgARIoEYC8kbosp3Z+DECHxPAqdTqxnqPfco1aO0zmT4Wx4MGEMDLENqouz4s2tjTm6EG1ni1YaHwdO8x/V2vlj2O37Tusd//b21nL/7oX6ycDzVw5awYSQIkQAIkQAIkQAKNIFBuzEQ6tQEBPD42PUQBXAxKXikQX9xW67EoIvEiacTvNN7W54HTO7WyvtsIZHO5XZcsrwmKl6tX/K4dmxfwrW8pbWc///OV86EGrpwVI0mABEiABEiABHYhIMpB/C6hbK6AAO6nQ6uritE4OlTwd0Qr6Ng+IVVnKspBfNWdSzrs/Vo1GI1KJoMzVTL2xyrKC+mPhXbNwd7hV4iqcRPJyOLlFEd+/GcqzIphLSRADdxC+JyaBEiABEiABDqZgOxsiO/kdTZybd6N9d7+/okpeyMnae+x93KBiXQRLwJGfHVEjEaTUtufCK5ung6LFuziO2Np8rpM5Fv/ujOW09mroAbu7PPL1ZEACZAACZAACbQrAY9nE+JqaGy8XRfQJXmrqlFV09kq/jzStsJv28rORXh/ZfIqhvj7tYoikrKwpgnlWl4E+XhaPT1mWYv4jzduf1R55Pb9WVs9AWrg6pmxBwmQAAmQAAmQAAk0mIDX51UzWdvkVIPn4fB1IGAwmTKpqj8SLHJLfGESpTWFrSzvhUAT2A4MDe+WIdtbT4AauPXngBmQAAmQAAmQAAmQQCGBjfW1ZDw+OjFRWMmyRqAlO4Ta7KWFvp6eRLrSP48k+73iS4fqzpqGboQKangRwOIbwTm2sRH93d/q6+/H4LuuSG/XMHJuiullEmpgvZwJ5kECJEACJEACJEACQiARi06OjimqKof0Oidg6OvNxOM1J5nOZqHQ0B1eFJp41NAqIQBulYQVxkgXeBjqxQt28aisygIez1o80mfls+uqwtay4FZo4JYtlhOTAAmQAAmQAAmQQBsQmBwYNPT2tkGiTHGLgMloyqS3/zywiKutqB3dde/6jm1saDAB2bAVv5epDKrqds1a+wf2Mgj7No0ANXDTUG9NREcCJEACJEACJNAUAje8G02ZpyGT9HA3qSFcGzWo0WTKZdKl+4cigOGlSXxpEs4cb8hLqbRZzdDoqJFv3Gifk8ZvufY5V+2eKfMnARIgARLoaAK40W/t+rK53Go0rOVg3HofsS8R02raqdDT007ZMlej0ZCrncJYMFJ7Z/ZsEQH8xIunq34QWouS5bTFBKiBi4nwmATqT4AjkgAJkAAJNJhAIpO+HfR5QkFtngc9+fKdkD+QqP2Dmtpo9SrstBOI8ROZ7d9MiyZaEwgMfffbYvK2WPGVzmswmApCy5xlX3ybF2UM0/aC3izuiQCk6Z76V9PZ5/VUE85YHRGgBtbRyWAqJNCBBLgkEiCB7iAg953im79ibzz2nm8zmUoeCN+Xu4ZpBzJxxfPaOJhMoNxCK09GWj0xbga28BTtdWqT0Yghdt0MXowEECY2dPF1FCC8lf5+kdyxn/+7qKE1mYDAr2pS+Z594M1/VVUvBuuHADWwfs4FMyEBEugsAlwNCXQlAbmbFN80AKFUwpjNPRiI9oyN3Z90IP9wmjHV6IynsEW8GY3eb9JTSW6m4SMFb+TWU4LdmMu2F3CZ3V0wMv61X4EP/9hPSxh8OHn/ryX1X3gFrf2/8/WZtPru3/hVlKM/88tK6ae+C2qCenr/AhLWm4GwWGsTw6Ui1to0OHu1BKiBqyXGeBIgARIggd0IsL27CeCOUANQWNYq61tIZjLheOKhUNw8PKTYiv8wiTo1OW4yT4RjK9FQIqOvD+/hDr4QhSOciP7sSdQ0ARpmodWXwND/+R8xYObN34IXuxm8/0ZZ0+goKo2qOhyKuEL5dyWo42OK2YzKnWwhHEjx7fEfp5PfM1cU8R9vadIRXqvCTNncrvv9iKLpmgA1sK5PD5MjARIgARJoMwJMt+kEgsnEcCBg7u9VCzeBtTRMJnVy0tE3MBoM3QkG0tms1qK3gkVV1dERvWXVSfmIgMGKtALKdbOtv2VlTd1/neWxaOr+4NZhlNVph2FiTJUNXosFNWVsOBZf59vjywBqepNcNvC3vJtNn5wT1pkANXCdgXI4EiABEiABEuhSAq1YNjZkoBOmDCZ1ZEQx7HBXYzSqIzaHsSebTKxGwy3cwcGWdRlI2LIuvzFYpi+bWk9ga1NXdTm1THoHB7UyCvndS6NRsVrV2Rkc7mqujBKMRdYi/JT4rqi2Dyh6n8X2QTXVOoLh2DPPoyvfsgEIbWo7/LZo09UwbRIgARIgARIggW4iEE2l+kPhHptN6e8vt+7eXsPE+P5o0hOLfBDwRVL3P6hZrlflbWUj5T3YC0H/u/78m2Nv+jzr0Yh8WPRu6P4TkpStDzDzrrosyzo0Yh8Po4hHoTbT9FXxOIUvxGy9/3mb8Xf4w1dFp94wPu4KxTfi4Vi6YD95m+FY1RAC2ikuHX3Ibsd3a9H5Kg1jjZ4JUAPr+ewwNxIgARIgARIggXIENuORyWxOGRoqFyRtAwM9Fsv+eDqRTb0f8N70bwYT8Sa8NRoC+G44hBSwC73vM8+gYD/yC5uR0K2tD4vm9PqkLuRZqbVznMgY8eXXIYpIvBYpAlg8KvM7vfivXmaxDFmHZzyB20F/+XcQ1GvCjh9HTpB4Oenid104zntA3sEuoeVfcZMYen0ToAbW9/lhdiRA8Ot7mAAAEABJREFUAiRAAiRAAjsQCKUSSiBksY1U+BZidcQ2lM7sj6WnFGM6l7sV9N7wbmAnNpRMwCAzIImzuXo+7iaSSt3yew/++69hBY/+x/t/RmUuEH0skv/gqDOSQBOtCQREqYqvfDrRS+K1XlBEKOc9/tubFY1cPNjg4PDYmN0fvBsOJnX2RLfiVNvwuIwAlpMrXla2xs8AC4hO8dTAnXImuQ4SIAESIAES6CYC8XR6LRLpSyQr2gQWMmazOjHeF41N+EMPhRIzisliMgZSCeyzLYQCt/ye9/yeG77NgVe+fNPnuRP0Q3isRsObsYg/EQsmE+FkMpKCpWJpWBoJxDOZVDabyeXyyjmXF885RYHKgseEuIH+IOCdSGVQLjKDfbJnMP9IJINruqiJh/UlgNNRNKAoH/FFTWUORayKLxOGJokRL7OIR1PV1turjI2Njk8Mbnhub66tRMLRVGrrQqt6pPp30PeI+O5DguJRKGP4bsX3LyyTy/b/l0uIFI8CDK+LJbeezj0d5ctV4NE5Rg3cOeeSKyEBEiABEiCBLiEALQp5Oby+aR8fV0ymKlY9OKjOzhimJkyqMhqMzK75HgrHZ1PZqYwykVXGsjkb7ogVpS+bzSUSqXg0GI2sh8N3Qv4Pgt6bAc+7/s0b/g3o5Jv+zZt+zy3/5nv+zXd9m9hP/qF344eedRiS+YFn/Xubayg8kMyOh7b7u8SDg8pY/o/lKDt8NBR9ae1LQARw3fIfHp602w/EM8b19QXvxrt+z0YsmujWbeHybOUlD/HCH69SSQE+svUXm33x2Ho0shQJLQT9t/Cy1+bqjc2199ZXb60uf7ByF2EfLC/Ci6F8++4dlAenC16uwjGtzQlQA7f5CWT6JEACJEACJNBlBPyJ+AcBnz0cm7Baq9gE1iiZzeilupyGaTusp39gOJMdi8bGw9HJUNQRCCPQ6QvO+EKzntBDvvBcIPJJf+yTwfgnIslHY5nH4pm5ePpAPP1QPDX7mV9yJ7OOdPZHv3V+KpODoYDuf/5b5/cd/SUUsv/j/2RwTKFA0y2BGjZpRYbBS1/xOy2wfOtOvYrrBwcNbtfk5NQj8fS0PxT2ej7we++GAr54Mz7TXpxMK46xHxtMxBc2Vj9cWlzcWFsJ+LQsRPHC3/Ksa5VaYWkpL2vl0HPnQxQSd5cMKyuW1XXbhsftCz0SSTwaTz+SUR42mA/0DiDgQN/9B3qj/LBl66+O9/fLqRSPsC61Tlk2NXCnnEmugwRIgARIgAS6gMBGNPp+wLsvmhgx96jYBDYaa1y0quYfJT00pE6MQw+r+2bzNjujul0Y0DDjNsy6DTMuKFjDxLhhbMRgtZoHB/sGBvrwZTb3GYx9WzvGQ4mkLZ5/yvRoND4ajqFvsQ0Oyk2zeK1V3qUpXqtkgQR2JGAwKBYLrs/hsbF9OfWRYLRnY3PD773p9yyGAqFkItahj49OZTPL4eCtlaXo0rI9o84MDDoM5pHYNu9M3pdWwsd+FQAjWx4F2D6rDV5sxp3/q1T2mZnx2X22ffuG9+3r3TdrmJ0FVXXaoU5N4UfK0He/rY6PKfe+UA4f/QUcybdq0Xcx6rvW5ufnT58+XbT8SCRy9OhRm8128ODB1dVVtMKjXFiDjg6HAzWIRDxiCq209dy5cwiGoSCRJ0+exCHs0qVLUlODr0UD1zANu5AACZAACZAACZDAHgkkM5m1WPjhWGrQYFQnJxRjrQJ42zygiiEzsEuM1p4epbc3L5IHBxXrsDIyoo6N4m44bxMTqt2ev2PeUsvqPdmszrjVfTPouq3JrTNur8UQg4J4NInhkFZfAtgbxIDiUegEwyU6PKy6XAbn9KRt5EA85YinwunED72bG9FIJpvV/xorPx3ZXM4Ti97cWDOvrj1i7rM7nT32KcPIiGlstM9uL12paWrSiB8LimLY8h8FDA9/VMB/fX1w+Q8gmEz5nx74AYLv+nxV8T/t2xMNhWUc0kAAyvaZZ54JBoMoF9qrr7763HPP+f3+J5988sKFC2g6c+bMyy+/jJrjx4+jDNF79uzZt99+GzVutxvxiNGstHV+fv7atWtLS0s3btx44403cCi6F92vXr360ksvIROte1UFauCqcCmMJgESIAESIAESaBWBjVjEGg4PqgZ1arK6jwE3NGO5jYY4gTV0Ig6+BwJ4oQG9xaNQL6v7gJUmhpdpRkdVh92azjzki7p7egKpxGo0BN1Y6QitiBMBLL78/L54/IZ3I7S2diCWmph25l/zwstS5fsUtBYKV5wjsYJ2FvdEAGoWKrd0iFOnTh05ckSrh0BdXFw8dOgQag4fPgzN/M4776B84MAB+GPHjkHZoqDZzZs3US5shdB94oknLBaL3W7HfjIGfPPNN9FRwmZmZlCDcg1GDVwDtC7twmWTAAmQAAmQQAsJRFLJzVjEnjOooyMV/jGkFmbLqTuPgMgqWVdhWWpa43t71WmHaXBgyht0ZFVPIrYWDW+9Sb816VQ1K3Qp4sWjUGixdHrNuzHtDewbHDa7nMpA/mO6hQFNLuvldDd52TtMd+7cubm5ORGiSskXRCnEKlpPnTqFciAQ0EIWFhY+/PDDwhooZOz9agFF8Wi9fv261ooCJDQqURDDUOgi5Wo9NXC1xBjfjQS4ZhIgARIggdYSwO7WYigwlcyY+vuVwftPrCmTlXx+T3yZsDJNe+lbZlitiTfWGormFLaVW82ZuoGzmEzqxIRhxDbqC+IVImwF3w0Fk1t/zqeBkzZy6EQmczvodcRStokJZXxsp3d8yLcPPE6rmCSFshT26DHyHkfoyO7zW29OPnHixE6rw4YthCt2ayGVd4rRQz01sB7OAnMgAf0SYGYkQAIkoAcC3ngsmc5MxJOq1Vo+H7lzFV8+sqrWSt69WdWADG4ogfLnqyqZVPdrqf4LV1VlbMwwOT7uC9kN5kAy9kHAG976O0D1n6uuI5aeiGgqtRjy20IR68iIYrPVdTYOtlcC2LN94YUX3nrrLafT+fTTT1+4cGEnoXvy5Mlr165Zt760WWdmZvbt24c6rcbtdlssFu0Q+rmoFVvKWisKjz/+OLqgIIZgdJFytZ4auFpijCcBEugWAlwnCZCATgiEkonlSNCdyRr6+hSYTtK6l4bILfH36vg/CZQjUKr9ykVX2GazGcZGpnwhZ1oxKcrtoG81Eoql0xX21kmYPxGPh0OOnCH/LDqd5MQ07hGAXr148aJ/6wsCGDJY3vAMpSpi+PTp09goRvjVq1eHh4cnJydR1mqeeOKJ/fv3LywsyOd+sVd87Ngx6OqjR49CMyMSgraodW5u7vLly4hZXV1d3PpoMWrQEcEyiHx4GIfVGjVwtcQYTwIkQAKdT4ArJAFdEQgk4pl0Zjgay38SuNWZlde6om3gZfNQfKtT5vxdQ2BkRLUOW73+B3zhfemcNxSCEl6PRuJtooTDqaQ/Fp1LZPNPwDIau+a0tfdCIVyPHz8uT7f60pe+hI1im8322muvnTlzBpr5K1/5yrPPPosaSNkTJ04g+MUXXzx8+DBqsOzCB2jhsLQVAdj4xbYzpO9zzz2HAAwCMYzuTz31FCQ3pkDHGowauAZo7EICJEACJNCxBLgwvRHA7bsnEXsgpxpM5go3gWtQnuWVbVVMIICrimcwCdSNgKqqIzbDA/sMNutgPDEXiT/oC6a8vg99ng8CvlAykcpm6zZXvQdKZ7N3QwFnIGQctNTlIVg1/Byo95o6eTyo0/Pnz8sKIVCxo4syFKlsFF+/fh16FTWHDh1aWVnBzjHq0YoadMQhTLqjEk1SLm1FDZoQDENHHEo8DjEsBkdNbUYNXBs39iIBEiABEiCBTiOgz/VsxqL9udxQJK6OjSqqqs8kmZWuCMgrGuJ1lVgzkjGZlN5eZWxUnZ0xTDt6x8enDYZHwrHJDa9vbfUD3+ZSOBRIxJuRSZVzeOOxvlhi2GRSh4aq7MrwVhKYn5+/cuWKCNRW5lHl3NTAVQJjOAmQAAmQAAmQQLMIYBPYm4i6k1nVZFT6+xs3LUfuSAKyJy++IxdYblF4wQjfMlarOj2tupyDLufMwODD4bhpdc23urIY9MfSqXLdm9sWTaW8kZA7nlTt9rpsAjc3/a6eDZuxZ8+ebTsE1MBtd8qYMAmQAAmQAAl0CwFPPDqSzvb6g+qITdnb5wPr8oeOZGtRvAwoftvz0S5vxdw2eVZ2FAGzOf85grEx1e2amp7eN2wb9fq9S8sfLt3djEYghrO5XAvXm85mlyPB6VDUODGez7ORqfC7spF022lsauB2OlvMlQRIgARIgAS6h4A/EffHoo5wXJ0YU1r69kgRvfCyoyi+e05EB6+065ZmMOR3WUdGLLOzzokJV9+AcWNjY+nue8uLdwKeSCrZEjG8GYsYvf7hYasyPNx1Z4QLbhEBauAWgee0JEACJEACJND+BCALG7EI7AttRCML4cCoP2wcHlTHxxXcuzdippIxZUXwssErviSKFbojIPt74uVFCvG6S1QnCakqxLBpbHRkZnbGPj1nGR4LxfyLC+t3766vrviCgVAsGkunk5mG/2mlcCoZ2dzc19unjNgUfpFAswhQAzeLNOchARIgARIgARLYjQC2oULJxC2/ZyUWcgfC9uEhdWysaQK4MDtRU+IL61kmgY4ioKr5Z2jZbIMul3N2/+T4uK1/oDeRSPt9gdXltZXl5c31cCIeT+9VDON1pVJuyUxmzbPhUoyq1brHDzuUDl6mhk0kYCACEiABEiABEiABEqiBgNzUiq+h+7ZdNmPRm36vYlCcqZzN1KPabHq4M5YdRfHbps1KEmgQgaa+E8FoNPT391itAxOTIw6n3TXjnnKMGs2R5eWNxTsLi3eWPRv+aDicTGaq/BtL8lNCvAYql8tt+L2T8VSvw64MDmr1LDSUAAcXAtTAwoGeBEiABEiABEigdgLQh2K1D6Eo/kR8NRYe6u2ZSGZHonF1ciK/Q7WXESvrK7fm4ivrwSgS6A4CZnPfyMjUvv1u96xrbGJMUTObntDdhYWF2zeX7y4EfN54NJHJVM4CPyUQDB9Np+6uLveFwkPT00pPDyppJNBoAoXjUwMX0mCZBEiABEiABEigNQSiqdRiKNBnNI4m0iPBiGF0pNFPiN12nbg7R714FEqtTFNpMGtIoBMIqKpiMhkGBnrHxsdmZh37HtjvcD3Yb7EGQvHVtcXlu+951pcjoWAige/iZCaT3e0p08veTf/duxOqYWxyigK4E66QNlxDt2ngNjxFTJkESIAESIAEOp1AKJn8IOg1GQ3WTHYkElf7evX/hFj5qDC8qGLxCr9aRwDnonWTd9PMBoPS22sYGbHOzEw7XQ+NjM0mUv0eT3RtxbeytIb94aXFJe+mLxLuf+XL0Xg8Eo9rdO7cXUDZFo1P2x19docyMIBDGgk0nwA1cPOZt2pGzksCJEACJEACeiTgj8c/DHoT2XQv9oWiKVXJqRPjCkLFy+cAABAASURBVO6z9ZgscyKB1hPY9kPC21ZquUKOauV6FsxmZXCw1zE94nTbp11O+7R7fHJ2dHxcNSrhCCYK+zwRnwcFMWdvXvQOuFxKX5/U0JNASwhQA7cEOydtMgFORwIkQAIkoEcC8XT6TtD/YdjfazIN9/RNxlKGSCT/hNje3hamyx3dFsLn1FURaJSyrSoJBKuqYjQqJlP+jc39/erAQO/IyMjUlKIokw4nDAUxE17ekhI9CbSUADVwS/FzchJoOAFOQAIkQAI6JeCLx97ze0LphMVsVlV1KJUZSKbU/j7FZlX4RQIk8HECepG7H8+qzJEkLL5M2F6a+O73vdDr8r7UwF1+AXD5JNDBBLg0EiAB/RLIKcpmLGo2GnqNJmRpzubG4yklmVTHRhvxLmh5m6h4TKfZHm/QeQuukdRtoTN29eVCFS+XsXjdYi9KTM5CoS8K4CEJNJkANXCTgXM6EiABEmgCAU5BAo0lIPfie5kjkkzGMmnT1od++zI5VzhhyGTVHnMdn5EjAlW8UtPXXvrWNCE7kQAJkAAJNIMANXAzKHMOEiABEiCBZhHgPG1AAJvAK5EQNoGR62A6Ox2JG3K5xm0CYxbNsHsmptVUWJAtrAqDGUYCdSGAaxXjiEehBtv25aq9DFhDDuxCAjokQA2sw5PClEiABEiABEigBgJt02VrEziFTWBbMjMVSajQxLlcfTeBi1jIjq74oiYekoCuCMhVKr58YqJvxYusFV/aS2LES4z4wsjSmsJWlkmgwwhQA3fYCeVySIAESIAESKAhBOQGui5Dr0axCWy0ZLJjseRHA0aj6ohtD58E/miYVv3HXeJWkee8JEACJFADAWrgGqCxCwmQAAmQAAmQQI0E1iLhcDq/CTwST300RDJpmJxQhoc/OuR/1RFgNAnUSKCOL2zVmAG7kUCLCFADtwg8pyUBEiABEiCB7iOQyKQ345E+k2kwne1NZ/MAUil1cEAZseXL/EcC1RHoxmh5mzR87PNfFCuiUKGylTDx8kZo8UWj1esQqdZrKI5DAnsnYNj7EByBBEiABEiABEigewjITbP4qlady+VWwqGcohhVdVQ2gdNp1WxSx8fb913QVRFgMAlURQBCF/HwIiDFo2bL6EiABGonQA1cOzv2JAESIAESIIFuJoA7crEKIWzEIoFUotdkGk5lzZmsAgGsKqp9SjHl/0RwhYMwjAQ6ngBEb/k17hog3eWFKvFSU4mvNr6SMesdw/FIYK8EqIH3SpD9SYAESIAESIAEdiUQSiaWo6EBs1nJ5UYSW4/CymbV0RGlp2fXvgwgARLYCwF5rQp+L4Owrz4IMIv6EKAGrg9HjkICJEACJNANBLp2h0QWLr6GEx1OJm8HfX1Gk5pTnLGUKZNTUimDzapYrTWMxi4ksCsB6r1dEVUS0NBPCFeSAGNIoIBAPYvUwPWkybFIgARIgARIoOMJiLoQX8lic7ncWjScyGRMqmE6luxLZdBLVVXFygdBgwSNBEiABEig2QTaTQM3mw/nIwESIAESIAES2BOB9VgklE6O9PZpAlhJJNSJMcVs3tO47EwCJFBvAvJeD/GyCSy+cJ7SmsJWlkmgLQhQA7fFadpKko4ESIAESEA3BLr8LrDyTeBQIrESCVnM5vsCOJVS+3sVi0U3J5OJkEDnEBD5Kr6Oq+ryn3h1JMmhdELAoJM8mAYJlCPANhIgARLoLAJdckMZSMQ/DPv7zObJeEreAq0kE6rRoI6MNOePIVX4+NzOuri4GhL4iIC8ViX+oyr+RwIksEWAGngLAx0J6JYAEyMBEuhoAhDDYvpcJXaTxGpIz5+IL4QCyWxmNJ0dSqSVTAYC2DA6qrpd3ASugSe7dDkBStkuvwC4/PoSoAauL0+ORgIkUD8CHIkESEA3BOT+W/yuSaWy2cVQ4HbQ12MyThp7xqJJJRpVzSYD1O/oiGI07jpCcwIg7zGReBRoJNB5BCr8nu28hXNFjSYwPz9/+vTpolkuXbpk2/o6evRoJBJBK8IcDgfqDh48uLq6WlijxaBSMy1eaz137hy6w1CQsJMnT+IQhumkpgZPDVwDNHYhARIggQYT4PA6IFAqjaQGHju3SFA8CrRCAt5Y7IZ3w5uIDfb09OUUezShJpOqdVh12JXe3sJI/ZShE8T0kxIzIQH9EJCfdeL1kxUzaSEBqNlnnnkmGAwW5XDlypWrV6/6/X632/3qq6+i9fz581/4whdQ8+STT164cAHC+OzZs2+//TZqtBiEiZW2zs/PX7t2bWlp6caNG2+88QYORfeiOyZ66aWXkIn0rdZTA1dLjPEkQAIkQAKNJMCxdUAAOr80C6jE0srSGqjfrJIbMJsH01lnOGFMptQeszo5oZPtX/mEsHhZkfjShbCGBLqcgHybiN8JBYXxTmQ6u/7MmTPQtKVrhL49dOhQYf3c3Bzkq9SgfPPmTZQPHDgAf+zYMa0Jh7DSVgjdJ554wmKx2O122Ul+88030RHBGGRmZoYaGChoJEACJEACJNDOBBRFDzeUIoDFV0szkkqG0wkI4JFkZiqSMCQSqpLL7wDr5v3P1a6I8STQzQTKC+BuJtPNaz937tzc3JwIUWW7L+jS69evHz58GI2nTp2Ct9ls8EeOHEFTIBBAWWxxcRF7v1KGL23FOKjX7J133kEX7RBDoYt2WFWB+8BV4WIwCZAACZAACXQsgVLdK3uk4itZ9lIk1GM02WPJ0VhSyWRURVEnxiv6O8AKv0iABLYhUKEKlTB4+W4Vv81wioIY1MNLjHjUVGjyOp34CrswrJMIzG+9OfnEiRNlFoVd4s9+9rOyIXzy5Mm5uTns937nO9+RtzGX6djMJmrgZtLmXCRAAiRAAu1HoFQZNmINuVxObivFN2fS+i4kmExEU8mpVNaSzOQFMDSwa1oZGqrvLB04GpdEAvUgAFlb7TAVCmAZWXwlU7Tjj69K1sUY7Nm+8MILb731ltPpfPrppy9cuIA94SIsELrYqhWRjE1alBFpt9tffvnlr33ta9atL62L2+22WCzaIcLQrh2i9eDBg9ohCo8//jgqURBDMLpIuVpPDVwtMcaTAAmQAAmQQC0EcF8oJipXfPqt1zFW7N+f90fzj9BEWW9W4V1yNpdbCgcHDUZbInVfAPf16W05zEdfBJhNKwhUrmZbkR3n1C8B6NWLFy/6t74ggCFuT506BaELpSpiGOXnn3/+ueeeQ6Qs486dO9g6RhlbwZCv+/fvX1hYkM/9yid7oauPHj2K7WLEQNAWtWIP+fLly4jByJDT2FtGDToiWAY5sPXRYhxWa9TA1RJjPAmQAAmQQMcSgEYtWpvUiC9qqvlQbkDFZzMZjDNhnw56NlDY1kQtb9tUx0pZo/gahl2JhKKZlDORVhNJNZNRsQNMAVwDR3bpHgKdtVLtR4cUxHfWErma7QlAuB4/fhwSF81nzpy5e/cutLHNZoMwRg22f+XwtddeQyuCX3zxxcOHDyMArUeOHIHXrLQVAVDO2HaG9IW0RgB2mCGG0f2pp546ffq0Jra1QSosUANXCIphJEACJEACJFB/ArmtIdW+vjGLdauYd3L7KF4EsPh8W+P/ycav+ApnCyTiG7GI22DqTWVUVVEnxpQ+7gBXCI9hJNB6AvKSHLx844vfY1oyiPjioXjc/gSgTs+fPy/rgECVR2ShZmuTOO+uX78OyYqw/IHfL4eI12oQjEOIWOwtSxmHRa2oQZOMgCYcSjxqVlZWsC2MmtqMGrg2buxFAiRAAiTQdQTkZk78tosX1bpt046V2Wz/H/0eWgdHR+Db0SKp5Ich/7DRNBpNKelU/inQ1vt6vh1XxJxJgAQqISCvzcHLjz7xlXTs6piOW/z8/PyVK1dEoLbR4qiB2+hkMVUSIAESIIEWEygjgGvLLJvLqgY13xf7p/n/PvbPn4h/7Hi7g9bed8bSqfcDXquizkSShmTCMDWpDAxslybrSIAEOoEA9oqxjCIvPxhLPSJpHU8Am7Fnz56taJl6CqIG1tPZYC4kQAIkQALdQUDuILHWXDanKioK29rK5vq29TtVYkNmp6aq6uVedtcuwWQSAtiWU9yhmCEeM4yPKYODu/ZiAAmQQNsR0H5kIfPCMg7LWIU/ScqMwCYSaBCBZmvgBi2Dw5IACZAACZBAHQnI5qr4vQyLEcR2GiSXzRoMO/4unst+rKleEnenZKqqDycTd4Le3ljcFYwZensMbpcyPFzVCAwmARIgARIggZYQ+Ngv15Zk0D2TcqUkQAIkQAJtR0D2McTvMXkZRLwMlVNy+cK9d0HL7gq8xMCrzul8QCP/QaJXOzzSXo9FPgh4Z4KRh3IGg2NKdTjyD8G6t5BqB2Q8CZBAywngJ0+9csDPrnoNxXFIoEEEqIEbBJbDfowAD0iABEiABEoJ5HJK/tdwGelYsEWczOT/ilLpIE2rQQKhZGIxFPje5npgY/2xWMo6NqFOTeU/AFxmCU3LjxORAAnUgwAVbD0ocgy9E8j/8tV7jsyPBNqZAHMnARLoeAI1bKUKk2w2qxSoXKncyXvi0Z2aSusrfNe0ZC6+dBCpyeZy4WTydtD3rm9zyefp8foeicQPDAyZ7HbFOqz09EgYPQmQQBcSqOPucRfS45JbSIAauIXwOTUJdDgBLo8EuplAJSo0l8vu+DisEnbBYKCwrrxwLYysrZxTlFg6tRYNveffXPFvDnt8c+H4I8ns1Mhor8OhjI9T/dYGlr1IgARIgARaToAauOWngAmQAAl0IAEuqR0JiKoUX0P+0lG8CGDxZYbKZXM7PRCr9O2II5H830nClmzhgDKdeJlOfGFMhWXMKBZKJtai4Xe9G0ubG7mVtX2+0EPxzJjVZp4Yz38+eXiY6rdCpAwjge4hgJ8e3bNYrrQDCFADd8BJ5BJIgARIQEcEOiMVuZ8TX35Foj/Fl48sbc1ms2rF74WesNowwp2g1xOPoVBk3oLK5XAQrRuxiC8RCyYTyC2ZyWRz2NlF9Y4WT6cR/IHf41lZyayuPhSKPZjJ2cfG++x21eVURkcVi6Xyd27vOA0bSIAESIAESKDVBKiBW30GOD8JkAAJkEBHEIh9/otYR3nZXNSaU3LKx58mVebDderQIMZ/OBD1b27cCfpRXgzdf3d0cmkFNWIGnw+F5Pp6ZGnZd2cB5eXFxTvLi3fWVpZCAV88Fk4lw6lUIpNGk9htz+b60t3owqLbH943NDw95TA5p1WnU7HZlIEBSl+hRE8CJEACJNAZBKiBO+M8chUkQAIkQAJ1JqDpVa1Q5wkUJZvNGdSKfxH39SEBs9v1gMHct7qGsnXTAy9mx1atlBTFPuVA0Wmfdjlds243yvtGR/f3D7oUw7g3oK6tRVdWQqvLa3fvoknMFUvM2EbsTqd5xv3Rlq/JJE0Vev2HlXl9Qf/JM0MSIAESIIE6Eqj4V28d5+RQJEACJEACJNCJBKpVy7n8e6ErfyrWFrKeHnXmew4nAAAQAElEQVTaMeVy42DYPQP/kfX2flTAfz1bz2pGDWxLOSvDw1C2xqmp3tkZm3tm0u5wTNpnpuyIFTNDQlutSn+/YuCNgSCpwjOUBHRFoNofRLpKnsmQQHMI8FddczhzFhIgARIgARIoIZDLqmotv4j7v/kyxur/1/8HfOX20eOyoHIhkjV5XHn/ToykWtjjWWV3EiABEmhHArX86m3HdTJnEiABEiABEtAbgXQmYzLu6RcxJJxY4dJE64rvf+XLaIKXQ/GooZEACeyRALuTAAm0L4E9/ept32UzcxIgARIgARJoOYFcNqcYjPVKQz7vCg/DmOJRoJEACZBAfQlwNBJodwLUwO1+Bpk/CZAACZBAuxLI5d8LXenngWULV/xOCy7VvdglRrB4FGgkQAIkQAJ7IcC+nUGAGrgzziNXQQIkQAIk0H4EstmswbCLBoasFatqeeiixW8rgMtraa0vCyRAAiRAAiQgBDrJUwN30tnkWkiABEiABHRBQCQoPPSn2LZp5bK52p6Jte1olVeKABZfeS9GkgAJkAAJkEBnEKhWA3fGqrkKEiABEiABEqidAMQtOouHxEVZPArVWf5vIzXpF7FkK766JBlNAiRAAiRAAp1FoEm/ejsCGhdBAiRAAiRAAvUkkFVyu74Xup7zcSwSIAESIAESIAFFoQbmVVAJAcaQAAmQAAl8jEBdNlRz2AdWm/eLuC45f4wCD0iABEiABEigDQk071dvG8JhyiSgKAohkAAJkECjCEADGwz8RdwovByXBEiABEiABLYlwF+922JhJQmQgKIohEACJNBAAjlFURU4pYYv+fix+Bq6Y0NYDCOI1TAIu5AACZAACZBAmxKgBm7TE8e0SYAEGkqAg5NAwwnkcjkVElhVK5wJqhWR4lGAdoWnkQAJkAAJkAAJVEuAGrhaYownARIggc4mwNU1iUAWGhgCGFbxhJoArrgHA0mABEiABEiABIoJUAMXE+ExCZAACZBAtxKo57p31au5XFY1VLoJXM/MOBYJkAAJkAAJdDcBauDuPv9cPQmQAAmQQIsI5LI5g47+OkOLKHBaEiABEiABEmg6AWrgpiPnhCRAAiRAAiSgKNks94F1ch0wDRIgARIgge4iQA3cXeebqyUBEiABEqg7gdoeT5V/L3Q1Hwaue9ockAQUhQxIgARIoBYC8/Pzp0+fLup56dIl29bX0aNHI5GItK6urh48eBBNcoiODocDUYUx0gRf2nru3DkEw1BAAOzkyZM4hGljorJaowaulhjjSYAESIAESKAOBHLZnMo/DlwHkByCBGojwF4kQAI1EoCsfeaZZ4LBYFH/K1euXL161e/3u93uV199Fa1Qwp/73OdmZ2c//elPy+HZs2fffvvtwhjUiyG4qHV+fv7atWtLS0s3btx44403cCi6F90x0UsvvYRMpG+1nhq4WmKMJwESIAES6AQC/a98WVtGYVmrbHQhq1ADN5oxxycBEtiWACtJYE8Ezpw58+STT5YOAQV76NChwnooYejhixcvWiwW1N+8eRP+wIED8MeOHYOyRUGz0lYI3SeeeAJ97XY7NpOheN988010RBcMMjMzgxqUazBq4BqgsQsJkAAJkAAJ7JVALptVFXWvo7A/CZAACZBAFQQYulcC586dm5ubEyGqbPcFXXr9+vXDhw9jX/fy5csXLlyw2WyiYNEUCAS0TouLi4jRDktbMY7WisI777yDLiiIYSh0kXK1nhq4WmKMJwESIAESIIE6EMhmsiYjfwvXgSSHIAESIAESqIBAHULmt96cfOLEiTJjYZf4s5/9LDaEQ6EQZOrVq1f9fj/2jVFfpleTm/jbt8nAOR0JkAAJkAAJ5AlkshnVYMyX+I8ESIAESIAEdE8Ae7YvvPDCW2+95XQ6n376aWzwYk+4KOtLly5hq1YTyVar1W63I0b2jVFGDQ7F3G63Zes90nJY2ordY2kS//jjj6OLlOExFLqgUIEVh1ADFxPhMQmQAAmQAAk0gUAunVG4D9wE0JyCBEiABEigHgSgVy9evIhNXRgEMGTwqVOnVrce+yxiGOXnn3/+ueeeQyQmHBoagp+fn4d/88034SFZFxYW5HO/qIEwhq4+evToyZMnt22dm5u7fPkyYjAypDX2llGDjgiWQQ5sfbQYh9VaN2ngatkwngRIgARIgAQaRiCnKgY+F1rhFwmQAAmQQBsTgKw9fvy4PN3qzJkzd+/ehTa2bX0AOBQKfeUrX3n22WdxCAX71a9+FcEvvvji4cOHUYM1HzlyBF6z0lYEYOMX286QvpDWCMAOM4ZC96eeeur06dMitrURKi9QA1fOqp0jmTsJkAAJkIDOCGT5TCydnRGmQwIkQAIkUCEBqNPz589LMAQqdnRRRg22iMWuX78OyYqd25WVFdRgA1n0KjriEIZgdEElmqSMw6JW1KAJwTA04VDicYhhMThqajNq4Nq4sVf7EGCmJEACJKBPAtDA3AfW56lhViRAAiRAApURmJ+fv3LligjUynroIooaWBengUmQQEMIcFASIIEKCPS/8mVEiUehaZbL5Qwq/zZS03jfn2jou9++f8ASCZAACZDAHghgM/bs2bN7GKA1XamBW8Ods5IACTSWAEcngeoJxD7/RXQSj0KjLZvNqdwHbjRljk8CJEACJEACJQSogUuQsIIESIAE2poAk6+AgOz6iq8gvCEhOSVLDdwQshyUBEiABEiABMoSoAYui4eNJEACJEACbUSgplRl41d8TQPU0imHTrmcqvK90ABBIwESIAESIIGmEqAGbipuTkYCJEACJKBnAk1TwvkPA0MH11ED6xkrcyMBEiABEiABPRGgBtbT2WAuJEACJEAC3UEgi01grJQaGBD2bhyBBEiABEiABKohQA1cDS3GkgAJkAAJkEA9COSUHN8GXQ+QXT8GAZAACZAACVRPgBq4embsQQIkQAIkQAJ7I5DL5gwGquC9QWTvLifA5ZMACZBArQSogWslx34kQAIkQAIkUCuBbDbLh0LXCo/9SKDrCRAACZDA3ghQA++NH3uTAAmQAAmQQPUEcrmsmuM+cPXg2IMESKDLCXD5JFAPAtTA9aDIMUiABEiABEigGgK5bE7le6GrIcZYEiABEuh2Alx//QhQA9ePJUciARIgARIggcoIZLEPbOCv4MpgMYoESIAESKDLCdR7+fwFXG+iHI8ESIAESIAEdiOQy2ZVlb+Cd8PEdhIgARIgARJoAIF2+gXcgOVzSBIgARIgARJoAYFsNmc08vPALSDPKUmABEiABEiAGrg9rgFmSQIkQAIk0DgCsc9/sXGDbztyOpsxqsZtm1hJAiRAAiRAAiTQUALUwA3Fy8HrQIBDkAAJkEAHEsikFRM1cAeeWC6JBEiABEhA/wSogfV/jphh9xLgykmABDqVQC6bNfCZWJ16drkuEiABEiABfROgBtb3+WF2JNCtBLhuEuhsAtlcjs/E6uxTzNWRAAmQAAnolgA1sG5PDRMjARLoUgK1LTv0Yz9dW0f2ag2BbFblPnBr0HNWEiABEiCBbidADdztVwDXTwIkQAL6IdA9meRyOf4C7p7TzZWSAAmQAAnoigB/BevqdDAZEiABEiCBriCQLdkH7oplc5EkQAIkQAIkoAMC1MA6OAlMgQRIgARIoMsIYB+Y74XWzjkLJEACJEACJNBMAtTAzaTNuUiABEiABEhAyeUZ5FRVzf/Pf91NgKsnARIgARJoPgFq4OYz54wkQAIksCcC/a98eU/92bnVBPKbwNDB1MCtPhGcv7UEODsJkAAJtIoANXCryHNeEiABEiCBJhHQ20OzoYHzv32pgZt0/jkNCeiOABMiARJoLYH8b+HWZsDZSYAESIAESKBpBPSwi55VcqqSU6iBm3bWOREJkIBuCDAREtADAWpgPZwF5kACJEACJNBFBHLZnKLww8AKv0iABEigqwhwsfohQA2sn3PBTEiABEigagJ6e5dv1Qvoyg7ZXM5g4O/frjz3XDQJkAAJdCUBvS2av4P1dkaYDwmQAAmQQIcTyOWyqsp94A4/y1weCZAACXQwgfn5+dOnTxct8NKlS7atr6NHj0YikcJWBKMLauAdDgeiSmO2bT137hyCYSggAHby5EkcwjAdDmuzZmrg2jJkLxIgARIgARLoKAK5LPeBO+qEcjEkQAIk0FUEVldXn3nmmWAwWLTqK1euXL161e/3u93uV199VWuFfP3GN76BQwjjs2fPvv3226Ux27bOz89fu3ZtaWnpxo0bb7zxBg5F96I7JnrppZeQCTrWYNTANUCroQu7kAAJkAAJkMBHBLK5rMLPAyv8IgESIAESaEsCZ86cefLJJ0tTh749dOhQUT2E6+XLlz/1qU+h/ubNm/AHDhyAP3bsGJQtCpqVtkLoPvHEExaLxW63Hzx4EIr3zTffREd0wSAzMzOoQbkGowauARq7VEWAwSRAAvUkII81Fi8fBha/7RxlmraNZ2UjCGRyuWQmE0ungomEJx5bDAVu+Tz8PHAjUHNMEiABEiCBRhPApu7c3JwIUWW7L+jS69evHz58GI0ov/DCC7/xG79htVrlMBAIoCC2uLiInWEpwyO4qBXjoF6zd955B120QwSji3ZYVYEauCpcDCaBqggwmARaQ0AUcmvm5qwfJ7ARjXzfs/ae33Mr4Lkd8i2GA6F0YsBsGurt+3ggj0iABEiABEhA7wSwqXvt2rUTJ06USRS7xJ/97GdlQxjl5557Dru4ZeJb0kQN3BLsnJQEOp4AF0gCJKB447GVaKjfbO41GftM5gGzedhksuYMo8mMgc/E4gVCAiRAAiTQVgSwZ4tN3bfeesvpdD799NMXLlzAnnDRCi5duoStWhHJKCMGkYhHr2eeecZsNsuGsPRyu90Wi0XK8JDKRa0HDx5EvWaPP/44umiHCEYX7bCqAjVwVbgYTAIkQAK7EmhBQDydxqyJTDqTzaJA0wOBQDy+FA4MG80T8bQjmnSHE/uD8X3BuCMcH40lFf5tJD2cJOZAAiRAAiRQMQHo1YsXL/q3vkTcnjp1anV1FUpVxDDKzz//PDZ+EYlRjxw5shXrX1pa+sxnPvPNb37zE5/4xMLCgnzuVz7ZC1199OjRkydPIh6Ctqh1bm7u8uXLiMHIkNbYW0YNOiJYBjmw9dFiHFZr1MDVEmM8CZAACeiOwFI4/2zGG77N697165415BdOJtIt0MOYWdcm7xIX37hE4+n03XBgIQIBbHRF4sOJ1EAq05POGFIpBa9WJBIKCkZj4xLgyCRAAiRAAiTQHAIQrsePH5enW505c+bu3bvY+LXZbBDGEK5FOSD4xRdfPHz4MALQBJEMr1lpKwKw8YttZEhfSGsEYIcZYhjdn3rqqdOnT4vY1kaovEANXDkrRpIACZBAfQjUXYMNeHzI7KA3/HAk+d9961+hPPFvfj323x9BgY/FAoRSi33+i2KlTbXWKKFkYjMWueHdeM+/kZItowAAEABJREFU6U3EhnKKM5w0JJKqklMNqtpjUgcHDLZhg9NheGCf0ttb80TsSAIkQAIkQAKtJQB1ev78eckBAlUekYUa2fiFv379OiSrBFgsltdffx27uDhER7TCEIxDNGFvWco4LGpFDZoQDEMTDiUehysrKzIgKmswauAaoLELCZAACeiLgGN4GAkZXdP9g4MoFFmu6JiHdSUQTiU2YpEfejduBbwLoYBiUIdMJndanQnFjamkYWpCdbtUl1N1ONTJSWV0VBkYyAtgQyf9/q0rUA5GAiRAAiTQPgTm5+evXLkiArV9slb4O7iNThZTJQES6EACddmnDf2Vvwk0ob90TBkbRaHIlsPBTI5CuIhKHQ4jqdTtoP+WPy99VYMy2NMzYepxxlIzwbjV689v/zqnlcFBhY+/qgNs3Q7BxEiABEigqwlgM/bs2bNth4AauO1OGRMmARIggY8IJH7vGygNfffb8GXMk4guhQLxdP65WWXC2FQ5AU8sesO7cdO/GU0nLT09w729o+mcK5xwhuOWSExNJtXJcXXakd/vrXxQRpJAmxFguiRAAiTQrgSogdv1zDFvEiCBLicQDAZMlW3uziazq7FIIBnvcmJ1WT5eSngfG7/hQEbJQf0OqIbxeHp/MD4eTfaGI0oqpdqshlm3OjZGAVwX4ByEBHRJgEmRAAm0NwFq4PY+f8yeBEigawkk/D7r2Hglyx+OJQ8oxs14NJHJVBLPmJ0IrEZDP/BtxLKpQez9KgZ7LDkbilsTKUMymVe/oyMGx5Q6PqaYzTuNwHoSIAESaHMCTJ8EOoEANXAnnEWugQRIoAsJjExMqff+vs7Qd78tBg6xz39R8yjA1KkJazjam874E9wKBo9aLJ3NLoYCK9HwUE/PgMHoiKbyb3tOZiB9lWRSHRo0uJ3qxHj+eVe1DM8+JEACJEAC+ifADDuHADVw55xLroQESKCrCJj6+7FeSF/4XcxiMYzYnOHYZiyS5FbwLrC2aY6n07f8Hm8iNmjuGUplZkLxgVQ6r35TSXV4yDDjUicnlJ6ebXqyigRIgARIgAQ6gUCnrYEauNPOKNdDAiTQqQT6X/ly7UuzWvuMJnMm7eNWcJUQN6PRm35PRslZTOapWGoymjRksh/t/c6483u/VL9VImU4CZAACZAACbSWQDUauLWZcnYSIAESIIGaCRiN6uiIM5rajIWjqVTNw3RbR088uhQNmoyGQcXgjiQGk/ntXzWbNTgd+b1ffu632y4IrpcESIAESKAjCFADV3YaGUUCJEACOiCQymYryUI+Elwc2d8/oCjpVHItFk5l+XCsYjxFx0C9EgndDQUHzOaxTM4VjpvTGSUWUwf6VLdT2XojelEXHpIACZAACZAACbQFAWrgtjhNLU2Sk5MACdSVgLylWXzox34aY4tHoYxJ/PBrL5WJ2aXJZFJt1geTuVAqcSfo5weDy+DK5XIQwIuRwECPeTyeHo8m1WRSzW1t/05N8bHPZdCxiQRIgARIgAT0T4AaWP/niBm2jgBnJoEmEqhECSMd38/9L/Db7/SiobxZLJZM1pE1xDLpD4O+RKc/H0teOCiPZNvW5UjIl4iN9Pbb4ylrKKJmMoZRm+pyKoODioG/N7dlxkoSIAESIAESaBsC/F3eNqeKiZJAUwlwMr0S6Onvr1EAY0Vmszo0NObxP5jMZjOZDwJef5x/LQlcPmarkfBGPGIxmaejSUskrvaY1bERZXRUMZk+FscDEiABEiABEiCB9iRADdye541ZkwAJNI6Avkc27PEpxJYBdWy0LxZ/KBgzJpILYf9aNNyR74uWTWB42WAXv+u53YhGVqPhIXPPdDTRH0uoRoNqn1KGh3ftyAASIAESIAESIIF2IUAN3C5ninmSAAmQwBYBVd36r2r3kQjs71cnxg0up3Fo8KFYcl8othEL3wp416ORTDarVD1qR3XAywF3wv5hs2k6nOgLhlWDqk47lD2+6NBRhLgYEiABEiABEugEAtTAnXAWuQYSIAESKE9ABLD4fGRPT14JT00O9fQcCMX7VXU1FnrX7/En4rlcLh/Qff9i6RR2gEd6+pyRZG8srg5a8jvAZnP3keCKSYAESIAESKDDCVADd/gJ5vJIgATagoCoU/FIuP+VL8PDtBqUq7Wh735bbMeOFsg8e49lcGYz4MyoJlX5MOS74dtcj4YTmXTHSGFAAAHx8lFq8ajULJ3NLoYCvYrBHU6YI1F1yKI67EpfnxbQ4QUujwRIgARIgAS6iQA1cDedba6VBEhAZwQgzMRalpfRiA1h48TYaDDygCfkzqjZbGY5mt8Tfs+34YlFMx2xLQzI5QlvxiKJbGYmmTHFYobxUXVyUjEay3dha4cQ4DJIgARIgAS6jwA1cPedc66YBEhA3wRkE1g8MoUK3YxFUWig2WzqvhnT+NhoNP6IP/pALD2VM5gVdSkSet/vCaeSDZxaB0OvhEPr8eh0RumLRA2jtvwjoGv90LUOVsMUSKBiAgwkARIggW4lQA3crWee6yYBEtA9AXkjdPTHfya0udHwZE0mxWZVZ2dMUxNDJtNkOLLPG9wfjedy2ff93sVQIJRMNDyHpk+QzGSwtM1EdERRR4IR1WZVxsaangUnJAESaDoBTkgCJNDdBKiBu/v8c/UkQALtQGBf0z6cazAoQ0Oqw6G63YaJ8UGD6UF/ZMJgXIuF74QC8XS6HWhVmmM4mbzl9/iTcavB4AjHVbNJHR2ptDPjSIAESKBNCTBtEiABRaEG5lVAAiRAAnonoLqczU7RaFSGh1WH3TQ0aPcGD+SMBlW5GfBEU6lmZ9KY+TZjkXcDGwajwZFVXaGEMZ3OPwXayM8ANwY3RyUBEiABPRBgDiRwjwA18D0S/J8ESIAEdEugVX+hB5pwYsIwNTEUijwYig8o6q2AdyUSzmSzukW1a2Kxz38xlk4tR8Jjpr7ZaGo0FFXicXV8TOnt3bUvA0iABEiABEigLQkw6Y8ToAb+OA8ekQAJkECrCeRFGnTa57/Y6kTuzT88bJia7Mlm9/nCI9ncWjT8A+/GeiySymTuRdThf/nwcx0G2m2IbC53Nxy05BRXMNobiag9ZsOsW7Fad+vHdhIgARIgARIggTYksF3K1MDbUWEdCZAACTSXgPzxHvHazLH/9zdQlsoWC+OhIXXGbbAOO4ORuUhiKqush4NQwjf93s1YNJJKRlMpaEtkq3/biEViqaTbHzamUwb7lOqc5g6w/s8aMyQBEiABEiCBOhLoFg1cR2QcigRIgASaRCDXkLcc17jjajSqE+MGh723p2ciFH3MH30wnh5IJtfDgVsB7wdB3w+96+/5PAuhwHo0AkmczGTS+nvL9GokvBINP5DImE2GvPodGlJUtUlnk9OQAAmQAAmQAAnogwA1sD7OQyOz4NgkQAJtSiCbyVi+c1FfyVss6rRD3TdjcDosZtN0JD4XjM+F4vtCUWciM5xMpqPRjUjwh76N6971H3jX3vNt3g0HfYlYOJVs7UYxNPlSOLgaC48m0wPxhDo9rfT16YstsyEBEiABEiABEmgKAWrgpmDmJC0iwGlJoK0JZLNZg0GXP6WNRmVgQLXb1X2zhhlX79Tk4MiI1WSaSmb2R+KP+iMHw/EHk1lHzjCQycTi0Q8DvpsBz/c9ax8EfJ54LJxMprKZXC7XtLMTSiZu+j2+eMSdVV3RhGFqku9/bhp8TkQCJEACJEACeiOgy7srvUFiPiTQhgSYcrsTwK5p/ge0PjWwBldVFbMZelixWtXJSdXtUmdnDLMzvePjwwbDeCTuDMYeDET/XCD2WCDmSmbVVGIhBD28+QPvxvc96ze8Gzf9m+8HvHeCfkVRNqKRQDIeSiaiqVQsnU5k0slMGhzQVLn1v/LlouCVSOh9v2cylZkLxEc8PsPIiDI0VBTDQxIgARIgARIgge4hkL/F6p7VcqUkQALdQKAz1gjtl/8BDZHZXuvBFnFPjzI8rDoc0MPqrNsw4zY4Hb0T4zZV3ReKHwzFHwklHogmXYnURCxuiyaGIrGeYAirDIaDdwK+WwHve34PtPEN3+a7vs3ve9ehlqGTIWUDiTjkcTSdSmXz+8joolmZDznHNzY+GYyPx5OmUZvhwQeUEZvWiwUSIAESIAESIIEaCMzPz58+fbqo46VLl2xbX0ePHo1EImg9efLkVoXt3LlzOISho8PhQKUWg0rNSlvREcEwFCRMGxPTSU0NPn+LVUM3diEBEiABEmgogWxNb4TeNSXRiuJ3Dd5rAAQ8JLFsFN9Txebp6QH71BB+m/UPjPb2j5t7J0w99p78R3MfiKU+GU78uWDsYCj6SDBvD4Xi+yIJezzZH47Ew6HlgBc7urfzIjkvj9/zbS6Fg4F4PJZOFaWaK3ij9T5jj9ExBUGujIwo0Oc631ovWgkPSYAESIAESEBnBFZXV5955plgMFiU15UrV65ever3+91u96uvvoowBCwtLd24ceONN96Yn5+HMD579uzbb7+txSBAs9JWdLl27VrhCKJ70R0TvfTSSzKFNkLlBWrgylkxkgTKEWiSqCiXAts6ikA2k6njh4HlDyyJbyUm6M++vvx7p4eHldHRgf/4L9SJcXVyAoas1Bm36nYZZmdMbnevy9XncPRDLVutY339DqN5XzI7F01hG/nRYPRAIPZgODYVjCiBwN2gD2JYUZSbPs9qOL+f/GHQjz1kDCimOuyKxcLnPwsNehIgARIgARLYI4EzZ848+eSTpYNA3x46dEirt9vt58+ft+BX8L2qmzdvonjgwAH4Y8eOQRujoFlpK4TuE088gREw1MGDB6F433zzTXREFwwyMzODGpRrMGrgGqCxCwmQAAnUn0CRQM3lsioUY/3n0fGI2Dc2mRSY2ZzfsO3vV2BWqzI2ln/+1taHjdUZl8Ht7nE7eycnrVNTzr6Bx6LJR0NxrGoyENr/+j9B4dELv7E/FEXhI8OAH5U69j8ujARIgARIgASaQ+DcuXNzc3MiRJXtvqBLr1+/fvjwYa0R27lWqxWqFU2BQECrX1xcxN6vdljainG0VhTeeecddEFBDEOhi5Sr9dTA1RJjPAncJ1D69J37bSyRwN4IZLNZVeWP6I9D1ESyydT/b8/m7Vv/XJ2dSfzC/4w4w89/Hl6sb2oq9su/hnLs81+Ep3UwAS6NBEiABEigaQSgZq9du3bixIkyM2KX+LOf/ay2IQyZ+tJLL33lK1/Bdm6ZXk1u4g1Wk4FzOhIgARKoiAA0cB3fC40pi/aZUdMhBmFcupK+vvxOcmk9a0iggwhwKSRAAiTQTALYs33hhRfeeustp9P59NNPX7hwAXvCRQlcunQJW7WFIrlQEtvtdmwIa13cbnehMC5tPXjwoBaMwuOPP44uKIhhKHSRcrWeGrhaYownARIggSoI1PxmgXQmYzJ2zo/omjlUwZqhJEACXUOACyUBEmg+AejVixcv+re+IIAhg0+dOoVtXihVEUjDBkoAABAASURBVMMoP//888899xwiJT1I4u985zuIlENI1oWFBfncr3yyF7r66NGjJ0+eREBp69zc3OXLlxGDkSGtsbeMGnREsAxyYOujxTis1vR4g8VbpWrPIuNJgAQ6j0AunVZN5s5b164rKny8XGF5144MIAESIIFuIMA1koCuCEC4Hj9+XJ5uhS3fu3fvQvHabDYI4+9973uQxKiBcEUNhC6CX3zxxcOHD+MQqzhy5Ai8ZqWtCMDGL7adMQKkNQKwwwwxjO5PPfXU6dOnNbGtDVJhQS8amDc6FZ4whpFAIwjwhadGUN3jmPn3Qjd+H1g79XX8IayNWZ6AhImX2cWX74VW6YICjQRIgARIoKsIcLH6IQB1ev78eckHAvXYsWMoo2Zrkzjvrl+//slPfhI+f7D1D62IQcetI78cQsRib1nKpa2oQZPEoyMOJR41Kysr2BZGTW2mFw1cW/bsRQIkUAmBQs2gyYzCykoGYUyTCeSyWUObPxdau9iK0O1UXxS27aFct+K3DSis5AOxCmmwTAIkQAIk0L4EdJv5/Pz8lStXRKDqNsnSxFqmgXEHI4ac5H5IPA41K63RmlggARIggbYjgB96lecMDdyFz4WWH/viy7MSfSu+fCRbSYAESIAESIAEGkQAm7Fnz55t0OAybCN8yzTwTouRe0R4uQcSv1Mw60mABHYlgO8mxIiXbyjxqBSTJvFoEpMm+hYSyL8XusH7wHLS4XHSsVLxKNTdMAXGFC+ziEelmDyzGh6GGvESIx6VpUYBXMqENSRAAiRAAiRAArsS0J0G3iFjRbsNkruoncJYTwJNIFD+ItSu1SZkwinaiIBcNuIrSTuvgY3GSiLrHqMlyYu57mw5IAmQAAmQAAmQQMsJ6EIDy0v+4uV1ffEtp6OPBJhFdxGg6uj48y0/38TvtNhsLpeXv6q6U4Bu60U/w8uVLL6SbOVXQCWRjCEBEiABEiABEiCBvRDQhQYuWkD5W8Oi4Lof4tat7mNywFoJsB8JdCkBaOC8/NW9Bm7aD8zKtXSXXjFcNgmQAAmQAAmQQMUE9KiBK06+sYG85WosX46+CwE2dzWBbCaj24dCa7pXCvD4aSnWoHOGwTGyeBRoJEACJEACJEACJLAXAl2tgXlHtZdLh33rSwBCor4DVjJaOpuNpVNaZCaX1cpVFeqdfFWTd2Zw/sPADX4glv7BDX3322L6T5UZkgAJkAAJkAAJtBGB9tDAIlbFNxSu3MrDy1ziGzojByeBMgRwKZZp3UuTjDz02ksrS3e1ce4s3y9rlSw0l8BHs2VzWVWXGliuHPEf5brDf5CvaBEf+/wXxbQa1EsNPCppJEACJEACJEACJNA0AnXTwOVviWoQk7hDAgXxKNBIQG8E5JoXL1e4eL3lqeWTymYTV9/E4fr/6+t3fvIXUIh+5nP7B4djT5+K/eL/Gvsb/8t+cx8qxVYjIV8iHk+nk5kMtoszuZzU0zeHQC6bNRjyT8VqznSFs8glDS/Xs/jCAK0s8lW8VrmHAruSAAmQAAmQAAmQQDMI7EkD4yapoTnWJoDL3LHtlG2jF7LTvKyvikAHnyZZmvhtmex6VWsBWqF0nJvejcTyMuofUE2TLjcKqsupjo0pw8PK4KAyYlMnJ1EpZlpZDSwvLa2vfuhZv+nbuOn3LAT9m7FoKJnIUQ8Lo0b6XOs+DyyaVnzhEstcWvKzWrx0FC81hYM0qCwTwcu84hs0V2OG5agkQAIkQAIkQALNI7AnDbxrmmXumYr64t6lqKaSwzKaoZLujCGBGgjIVQcv99nitXHkmhevVe5UKA2TGvGYAh3h5VA8amq2R/yR6cEhdFcdDqWvD4UyNu5wzg4OP2AwHUjl5iLJh0PRiQ1vdmEhsnj39saaJx5LZDJlurNpjwTSmYzR1JB9YPlhKx5Xr5gcit82c7n8xG8bwEoSqJUA+5EACZAACZBAswnsooGTr36j2oxwy15tl9bGS8Lid82kwrBdx2FAhxGAeBDT27rS2fuPuTI6HerUFPKUJCF+pLC9twyoExOq3a46p1W3y+By9c/OTLpn7OMTs/GUYXFp4+6dO4t3llZX5JsC3hOL+BNxyCS+cXp7pNXUZtNp1dgQDVx5FnKpiK+8194jmz/j3nPmCCRQEwF2IgESIAESaA2BXTRwa5Jq3ayiCsTvmgXu9XeNYQAJNI4AZKcMXih0pUbznnhUKyv9/ffLVZVUVTEYFJNJGRhQrMPGGffIvlnX6IS73zJlMiv3vno3No1/4f+Oo+iP/8xyKOCJRYOJRDCZCCUT4VQylk7FM+lkJp3lW6kVZdcfMu3yXOhtF7JtJS4MGgmQAAncI8D/SYAESKCVBHbXwPpXelACYgAp2YrHYQ3Gu7caoLFLMwnI5Y1rHpPCb0Qjsf/+CMqoh0kBHpbIpCMbGyjU38xmZWjIMD5uGh/XBh+cmdXKtlBYXV+LryxH7i4GFhd8H97ZXFjYvHt3fWlpYXX59sb6Hb93JRKGSI6mU/F0WuvIghDI5XIGvO4gB03xe9x93WP38kuUwcXLj2jx5XuxlQRIgAR0SYBJkQAJtJ7A7hq4khxxI44weJgU4Itux1Gzd5MdpEwuK4YBMwV7StKKShjKkgDKlRvuO9ERvvIujOxsAnJJ77TGut+Iy12+eBlcvJaAXNXipTKxudHzxtdRDv+HV+DFRFVuhEOT6dqf51w4iwxbuR+Ydo66Zyddbod71uV0u10u9/iEa2jY2dc/m1Vmw1H7pm9wZTW4uvqhZ+P9gPdO0A89DNFe+RSdHdnC50I3Aaxc4U2YiFOQAAmQAAnoiQBzIQG9EKhUA1d4Nyz36+K1JUpf8ajUCiiXWiqbxe17KJlci4QXQoEPAt6bvk0tzPLq/47y4KsvLa2twm+V8zUowN71rMOLvevNl7/vWf+BZ/2H3o1bfs9SOAg9I7YaDUsa4qULgn/oWb/h3UC81MDH0mlKYnCg1ZEALsKqRhPBIL60o2t8stduH/rORcf4hNZ6Z235nc0160///OC0Q6usS6GK5LGNaTIp2DHu68u/DXt4WBkdVScnVafTsH9f7+zMkMvlHLA8Gk8/FAj3B8OrAc8tn/d9v9cfj1EMZ7MN/PvAO11LpVdI5ZGlfetbU3kmRb+A6psGRyMBEiABEiCBmgiwk74IVKqBa8hablnEV9Id0nctFPxgefHu4h3/8pLJ47H6fI5wdF88WdrdbezRKqOf+RzK0ad+ZS52P3IukkDlI+HYg+HYbDAy5Q/3rt/X0ubVNbQW2WPh+KPR5Fw4diAU05o+2Fj9nmftpt9zNxSQu394qGIRz+K1YBaaQ6CNsJemiusHlOClSTxqNCv8lilzN7/wP55El3zAwEBeZ0JqWiyoEXvY3L//6C+hHDr8s/B7NyS8l0G26Y6E+/rUiXF1arLX4Zjs6zsQzzwcjo4EghsB/y2/56bPsx6NRFOpdPb+Y732kkN79c1lm/1e6Pbiw2xJgARIgARIgATahIAe06xdA8tNrfidVlZ4Ny8xcscvXmogfTd8noW15Y3lu72B4IFB20NTDrfTNeZyW2f29TtdZse0RBZ63Drn7/63Hi2jupxoUt0u1e1GQUydmUHBNDPT63INOJ1Dzulxlws1YmPufKuUNa/OzqgzbsPsrHn2futjqumRUNzh8Q9teLTI9za2kdBaKwvNJFD+Ctw1k8JLsXzwHicqP/iuraXfSulUqrSXhMGrk/f3hEvDWlizDfC+rV3i8XHVOW2emBgdsDwYjj8SiI4lkqFQ8FbA+0PfxmIoEEtvs94WLqShU2dzOUMup6hqQ2cpM7j8dC0T0NomnafXWjicnQRIgARIgARIYFcCFWlguW0Vv+2IckcivjQAd+SKoogvbfWtLpvSmYl+i3vaZXO5DDZr/tmz2CMyVJRb6YAfq8FNpNGIXbLQk0eVnp77TWYz8hFD2mL3W9Hr3oFqt/fumx3ct8+6Jaql+uFofpNZyvQkUAmB+kvoTCZ2/MVKpq4tRr7fxdc2QtW98K2KreyJCcOMyzg0NBKJ7w9GHgvF96Wy6Vj0/YAXStgTiya64MnS2WxWVdUWauCqzx07kAAJkAAJkAAJkED7ENhdZ0Io7nE58tiqZCaDm9fSoRzTrpGJyf5ha/4vr5Q211oj9+7iax3jXj/cjOLu3GS6d6yo++4//zan1e5UYL3+CNRfkW63Rrn84GU68VogvrPEUINXYTSPQhmTLj1//JYJl2XZ14kQiXHgKx9c4tEFhvKuhqXtFIPFiiEABfESLx41O5rZrE6Mq/tnDW6X0TIwGE/O+iMPh5NKJLwRDt7ye37o3bgd8K1GwuFkEj9V8LOlw74NoYGb/FDoHc8FG0iABEiABEiABEig4wjsroFT2Uwlq5b7bESGT/xD3JLG0ulgPLoZDNxdXb67cDv47/+ld/FO6O4iAoqt7H18cfBux3LvLn632Pq0e4LB+gzUkaPUb1FV66j6TV3VSHLtid+2o3yniC8MKK0pbC0qp1NJU8GLMoWthVNr5aoGLxxNyhp8rYB6kbLicVhkMmOpLword4ifDH196uSEOu0wuJ3mHpMznHjYE5zzRx+IJgfCkWQwuOTdfM+7ccO38X3P2nu+zQ+D/o1oNJqq6CPEO2VeLqVmteU1sMnYrNkqmkeuJfjCc1pRTwaRAAmQAAmQAAmQgM4I7K6B3y14LPO2yUPxhpIJTzy2GAq861m/tba8vLzkWVmOb3rM8cTU0PCsw+V0zthn9o3P7Nt2hF0rceMl1qrbrzK3y2nPxpLP152P7dn1xOkhoMy5qzy9Qu1Xaa9GxqVSKfMOGriR0yq7fgPi+xQJiEehvAnV8jH51p4epb9fdeSVMMSwcXSkr7dnMqu4k+kD0eQn/NHH/JGHQnF7ONYXjkSD/tt+z40tPRxOJbO5ttwhzmYzqmrIr53/SIAESIAESIAESIAE6k1g99ushwP3H5IcTn50Twndq2VyZ2XJe3cxsbxs9foeSGQe6R3YNzHpckxPutzWyUmzZTD/QVyzWcGujqrKzTE8bqbFlHp/YfCiIUUFiS9q2vvhyOhYr8/7wcrd9WikEMveR+YIVRFo0PktzQHXLSrFo9ASSyQS5r6+hk4t30fiZbHiK5q0QUG9vYrFoozY8n9gye1S3S6D22lwTZvsU33Dw0M9PVOZ3Ew89WggeiAUHQiGFn2b3/eur0XCwUQik2uPh0vnlFwml0un0zp8L7RcDA06txyWBEiABEiABEiABJpGwLDrTD1T9x8wu+jf/KF3A/b+6rLW8YBleHbKMe10Dbvc5mmHMjKi4O68FZtUWkoo4HZNDOWGWq/VNj4z+5C5L7u2+p53YykcTGUqevd4Q7Pq8sG31cPbVrYpqEw6ZTIXPOOt8cvQBLBWwPcXpoWXGvGoaZ7hZTW8uNbfrwwOKqMj6tSUKsLYNd1rtU4ohrlw8qFAJOb13PV7f+jdfD/gvRsOrsdCBaXjAAAQAElEQVQivkQslGrYY+2qWT82qSOppDcew8+Nm37P9z3r1zfXf+BZu+X39OjsvdDVLKs1sbgUWzMxZyUBEiABEiABEmg3Artr4PzGy71VzSWyM/6wKxB8tKdgD2rElo/BFo3ReC+w3P91vFNpwW33tiszmQyTk/aJqUcjidzGxrt+jzceTVAJb8uqrSrlzbriK0+8jlf4tpNmczlsFBor+3bbdoS6V+rlOxELAxa8BjcyorqcqtvZPzk5a+59NJb8RCAyteE98Pq57NpGcH19cS3/583e93tDyUQinUa/XQ2XgRgi8XqKGMq1WSKT9sRj7/k2b/u9G551g88/6Qs+EAg/HIo+GoodCif6ewt+xtY2R/N7cUYSIAESIAESIAESaAcCFWjggmXgtnLI5RyadikTEwXVrS/q4hZ8cNA4Me4cGDoQjGx6Nm/6N2/h7jaaf0JPhTfZrefYbhlAkyBleAgSFMSjUN4QjwB4iRePmjImF5j4MmEVNu1xnHQ2a8IGIsRehfM1N2zblwD2uOQaV4Bd4sFB1W5XZ2ewRTzozP8hcfuwdaa3/9Fc/kffiD+46N28GfDgW3U9GsGWbKwyPVxjPve6rURC7/o214P+yUjssVD04azR3m+xTkz0Oxy909Mmp9Pw0IP5d9Pci9fb/605m3qjUJQPD0mABEiABEiABNqHQP5GsIpsVVXp7e3/rV+voktXhVos6tRkr8NxIGt42BceCwSjfu+trZvspXAwmkplsu3xocS2O2miu8SLpi31bbeonRJOpVNmQ9v/8Vi8BoEFwuNMieGwUYYfXGaz0t+fH390RD5OjPLI4OBc/lnTobFILBYM3PZ5Pgh4sDnsiUWDyUQqk8GOO8L2YvItn83hRYv7w/gjkQcT2UdCUZvRZHBiv9qljo/l39GNDHt7P3qAAnK+34MlEtAxAaZGAiRAAiRAAu1GwFBtwrhnRRfxKDTfatiCEGkkvhkJ9/Wp046eGfeIbWRGMXwyljwQjKoe7/ue9e9717H/czcc9MVjofyfNsVdNlVxnc+JnGjx2tBQWSiLR2FbK9+6bZeWVCZTTfowcBHDliy2oZOq4+MG13TP1KQtl3OHYvnnSweig7HEasD/fsD7Q9/GD7wbHwR8C6HAYiigZXK3oAy17E/EgolEKJkIJ5PYScZLXdhMjqaSoVQCkT/Yeq4+hrrh3dRGeNgXGshkDNPTqsOhQPRqDSyQAAm0FwFmSwIkQAIk0J4EqtbA2jJFi4rXKnVekGzFV56qSCPxlfYyGvObOVaritvcaUevwzFttR1MK58IJ9z+8MDqemRpaXNlaXF95aZnAzfHtwO+lUgIwhi30ZmPbxkp/NoDAag4sT2MUXtXTI3O8HLJiUfNHi2RSPS2g3AqXS9QiIGAtIrHYcusr0+xDqsul2H/rME+2dPfNxGJPRqMfjIQeziamo2nrLFETyRqjkS1DI2RiFYOBfybft+a37vi89z1bS54Nz/0b37gyz9/a8HnzUWjs8n8E/KcqdxowQMCjONjeJnso31pbSwWSIAESKCNCDBVEiCB7iYwPz9/+vTpIgaXLl2ybX0dPXo0snW/tLq6evDgQdTBo4x4dHQ4HKjRYlCpWWnruXPnEAxDQcJOnjyJQximk5oafO0auIbJ2qiL3KnD1yHnnp78R/tsNtXlNLpdAy7nqMvlGhvf1z/4YFp5JBB5yBecXN/sXV0PLy+vrq3e8K5/GIQkDgYScWwrYU8pnk6ns9kstfHWyZCTIl4UlPitxtqdvMZR6Gsfq8E9M/G4qbe3wZO06/A1vEVFTrpiMinDw9iYzYthx5TRNtzb22NR1NFkaiqRmkref26WfUvWCqDZWOrBSPLBSPyhSBKa+ZFoai6ceDQU/4Q3/Ggo5oqnhrakrzUWHw/eV87K2Gh+OhmCngRIgARIoL0IMFsS6HoCULPPPPNMMBgsInHlypWrV6/6/X632/3qq6+i9cyZMy+//DJqjh8/jjKE8dmzZ99++23UaDEIEyttnZ+fv3bt2tLS0o0bN9544w0ciu5Fd0z00ksvIRPpW603VNuB8XsigP1hs/kjSTw5obpd6v59ptkZy8zMqN3uHrY9aDA+GowNe/1Jv3/d57mDDSX/5q2A513/5g1v/q9S3cQuU8C7EArcDQWWwkHYcjiIPeT1aATbyMmtG+49ZdhunSsUwKKZxUsXeDkU36B1131wvBSSy2SMRlODEq5q2LqvrqrZGxWMb9KhIXV8XJ2aUp3T6ow7b26XNh2+be+XZ1yq2xn5hf/Z4HYapu15c9gNjimDa9ow7cBmr+rKd8TrXwbntNaLBRIgARIgARJoSwJMmgS2CEDNPvnkk1vFjzno20OHDmlVEKiLi4tSc/jwYWjmd955B60HDhyAP3bsGJQtCprdvHkT5cJWCN0nnnjCYrHY7XbZSX7zzTfRUcJmZmYwBco12C4auOfEL9UwqA677OVmXfrCQzVhaeJRqI8ZDPkdIWzrWSzK+JjqdOJeeXRkdMbY81Aq92g09Ylg/LFg9IA/uj8YnQ1GJoMRayjcFwobA0E1EFKDISUYygSD8UBgxbMZSMSVbv3CCdKWXljWKgsLZU6i7AqKL+yyx3KZGasaOZ3NGnOKAp1WVTcGV0Zg223k/lf/d6XwCVWFZZwIvKqFweHxXQzr68u/yXlgIO9RiSYYNplRjwKNBEiABEiABEigHQkw53sEzp07Nzc3J0JU2e4LuvT69esQvSgEAvefqLKwsPDhhx8W1kAhY+9XG6MoHq0YR2tFARIalSiIYSh0kXK1fhcNLMOJohAvt/LipZW+zgR6ehSrNf8HXdyurb/p4jS4XD1OR//U5MDYmHVweLSnbyKn2nOqI5t1pPPmTGXdyfTDkXiy4Dqrc1Z6Gk4uxfpmJGOKr+/INY+WVXKZXA6iF9v7iUwaFk+nQ8mkKZftYA28rQqtmWFhRxlZvLzGIb4wprQs8eJLW1EjgxR6VNJIgARIgARIgARIoEMIFCxjfuvNySdOnCioKy5il/izn/2sbP8Wt+nmuCINrJtsuy8R7DhhKwmG/SXsLA0NKaMj+b/s4pxWoZDd7vy7NOW9mrMzpv37lFQKkqn7MLX3inOKkkjnJW4klVyPRu6Gg7eDvpv+zXe9m+/6Nt/1b76XN897fs+tgHc57B/AxdDeK/4o+6a9lFZGwX6USgX/Sbbi5bUS8RV0ZQgJkAAJkAAJkAAJtD0B7Nm+8MILb731ltPpfPrppy9cuIA94aJVXbp0CVu1IpLtdrvVatUCZmZm9u3bV1jjdrstFosWUBSP1oMHD2qtKDz++OOoREEMQ6GLlKv1lWrgasfVbbzcwuo2vT0lZjL1KLlkNv8c2j2Nw871JoAXJmDYzsVGbiSZDCbjm7HociR0J+h/z+f5vmftXb/nB76Nd/2bq7GQLxGLZ9JKLmdRFaui2hTDiGocUwyTOXUqq0yncpbevnonyPHqQIBbwXWAyCFIgARIgARIgAT0SgB69eLFi/6tLwhgyOBTp06tbj35WcQwys8///xzzz2HSCxiCLt3ioKtY5Tlk7379+9fWFiQz/3KJ3uhq48ePXry5EnEQNAWtc7NzV2+fBkxGBnSGnvLqEFHBMsg8uFhHFZre9LAnawnC0C2TVFV+3p64/Hu/Uhwy89UJpeLpFKhZMIbj65Gw3fDgQ+DPqjcW37s4mI71/NeYPO9oOf9oG85GvQmoqFU3JDLDRmMowaDQzXO5owPJJUD8cyBUOLBQNTlizh8IYc3CLN7gxO+0JgvOOL15//sVsuXqvsERJHWnOa23Qt/4mmbwFIQXzqdbEGLL21lDQmQAAmQAAmQAAm0NQEI1+PHj8vTrc6cOXP37l1oY5vNhi3cUCj0la985dlnn8UhpCw2hxH84osvHj58GDVY9ZEjR+A1K21FADZ+se0M6QtpjQAMAjGM7k899dTp06dFbGsjVF6oRQMX3ghWPhMjm0Cgb3AwHgnXcaKdhtpWIewUrJP6bVXKtpW7Jlz0LZDIpDdjkff93h941/MqN+C5GwluxiOhVBI7uiYlZ8F2bk6dyCmOrMGdNe7PqAcS2blI+rFw6oFAxO0LT3uDk77wSCRuSaV68499Nqh9verwoGHEapgY++g5w65pg9tpeOgBpeBNI7umygD9EJDLRrx+smImJEACJEACJEACJFAtAajT8+fPSy8IVHlEFmr8976uX78OyYqd25WVFdRhA1n0KjriEIZgdEclmqSMw6JW1KAJwTA04VDicYhhMThqarNaNHBtM7FXEwiYe/uyiVS2MX9JGHtZYiKAxTdhUa2aYtd5I8lkIBH/IOC75fcuRULxbLrfZJpWjA9msZ2beyiWORBOPhxK7AtEnf6wPRCZCITH/KFRX2A4EO6NJYyZtGo0qAN9BpvVMDVpmLYbnA5VPukNb7er4+PK6KhiteZFb39//jnD8H19iqrumlubBuACQ+bwuLrEcLhHw2gYQTwKNBIgARIgARIgARIggXoRmJ+fv3LligjUeo3ZhHEq1cC1bZc1YQHNmUJbfm17OLibb06eisnUm8slq/wrwZo80ApNyrZtp8nkcr54bCEcuBXwJrLpPqPRrhhmE9n9gdhEIDIcjg7EE73JlDGbUZWc2mNShywG67BhbMxgnzTMuAyzblj+od8upzo1pYyOKENDysCA0tOTf+CzDiRuM8+MfHOJl+8v8RXmgItWDPEoiJfvOPGoEZNhxUsNPQmQAAmQAAmQAAmQwF4IYDP27NmzexmhJX0r1cAtSY6TVk1AVXt6ehL1+CvBRfqh6kw6tEMqm1mPhd/1bUIAm43qjME0E0/vD8YmfKGBWMyg5PLvXp6aMEw7VNe06nblH9w9Pa1OTChjo4rNmte62Mvt7cWrFR28nVvtyRcBXG2v0njoW7HSpspraojcNn9+B9VAkl1IgARIgARIgARIoAkEqIH3Chl3umJ7HahO/fsslmg4UsNg2h5aDX07vksik8Ya7wT9N3ybK5FQNpd1KIZ9ocRYMNofjqq5rGF0xDA1qTqn8+9eHhxUoHLNZsXA7y9gq4PhW6x0FLliS+urqpGRxcuA8HIovqrRtGDpK16r1H+BGZIACZAACZAACZBANxDgPXqNZ1l2fsRvOwTupLetb3RlT19fJhXP7TBNhTflEiZ+h5G6q/qW34sFh9PJAaPJrhgfTGTGQzFDPK729xncTtXlzG/zWiz5dzIjjtZqAvKNKR47w0in0ONQmsTjsC4mo4mvy4AcpJkEOBcJkAAJkAAJkED3EKAGrv1c7/FmVxPJtUlNrXvRAlSz2Zz92EeCd4os6qgdZrJZrVxJQctfK1TSS4cxRScUu75akgNbO7r7Epn8256jyd5ITDUaDG6X6rArfX2Uvhoo/RSKzqZ+EmMmJKA3AsyHBEiABEiABLqNADVwQ864yE7xogzFa5NJE7zUi9da91RQ1V5zT/LeR4Ixkhfy5gAAEABJREFUBUYTL7OIR2WhbcSi2uEN36ZW7vhCJpeNpdPBZGIlEoLofX9rv1dWHUslpQA/G8jz6Y/ElFRKTacMY6P5vd/eXjTRWkJALmnxtSVAkVwbN/YigU4iwLWQAAmQAAl0JwFq4A487339lliBpt12haKE4+m0qIiZb7yshT0WSWhlbzyazmaTmYx8IFarl8J6LCLjwG8bIGH69KlsdiUc+oFn41bAczvk8yZi0XQyl81/7lcSfjgYkwK82mOGNzgdhhmXun9f/knOBn7vAEn9Td60XDguri4cipfLFYeaSbx4rZIFEiABEiCB8gTYSgIkQALdTID38R149nv6+1KxRJFauB3waUuFpkX5bijwwdoyCmKxX/nfYif+IUx1u6QGfjEU+L53/YZ/8z2/B4dit9/6BgoLv/cNbziEgljyf/gMChAqqSr/MhN6Nd9CyeRN36YnHplQVFdGOZDIPhKMPeKLPOALa8kYhixaWZ125Mv9/YrZzOc551E0+J9s0orfdSoK4F0RMYAESIAESEAjwAIJkAAJUAPX+RqACKzziBUMVzSpwWw2ZjPotx69r+gmPH7UiN1eXUKh3x94bGAIhY/MZMqrO1XN+4+qlEdD8ZmMMpvM7Iun7tUpB4Mxy2+/8mgohp1Sy+v/CvU9v30eXuxd38ZSOBhM3N9MlvqW+3Q2G02l1qOR93yb2PgdyWbnAtGpcNyG1wuyOeNAf/7PGo2P3c9zfPx+mSUdEJCXdcRXlU61Ilm0t3jpK37XSaULwqQALx3Fo55GAiRAAiRAAi0kwKlJgASEADWwcOgsbzDsv/RbWNLsN/+f8GKDBbu7j2xJ3zG7QxkZkdadfM/YqC2eHM4pg0aTFmOYduTfFex2GmbdMNT3TkzAi+2PJmN+/1IkGE/ff1+xNDXfp7KZWDq1GYve8ntv+Dbe93sC4eBwMv1wMGoPJ0wT4+rUBPa9VZdTnZzM/1kjqxW6BXmKh3QRQw1NVwTkvMA3IavmzNKEhXAKEiABEiABEuhaAlw4CRQSoAYupLHXsuzHit92rF23sMr03XbAXStjn3sBMfmbeLMZBbHQkZ9HIfTkUfhdzGpVZ2fU6WnVbr8f2durwDAgto5haBi6v5880D/wYCJt9wZuB33Qn2hspmVyuXAy6Y1HF0OBG96NvPk3faHASDB0IBj7hC/8YDA2FYn1Wa2q26kMDyv9/Qo/2dvMM1TxXPIyRMXhugts9/x1B5QJkQAJkAAJkAAJ1ESAnUoJUAOXMmlUjQhg8XucQwYRL7JZ/DbDGo1apdyUi9cq914oGlDF5ur+fbahoclg5MOgH3K05imwQLFdR4imU5C+S+EgRO+dgGfT6zGGglOR+APB6CeDsYciiVFzT6/Nil1rw74Z9YH9+S1fUe8Kv7qagFy94vMvFSmK+K6GwsWTAAmQAAmQAAmQQEcQ2GkR1MA7kam0Xu6exW/bR5rg5d661G/ba9tKCMJt68tXyowSgzSkULnfUV2XGcJgUMfHR3t6hoPhlUg4UvBHhsp0Kt8kqxCvRYaSybVo5KbPgz3nO74N1ed/MBB5LJw8kFEdxp4Ry6BlctKETWxsZTscyshIfvua0lfD1yYFXLRicvbF1zF3DF7H0TgUCZAACZAACZAACZCAzgl0gwbW+SmoW3oQq2IYETpBDOW9GAZEd/EoVGFGozoxMW0wTYajHwR9oWSiir47hGJFWkssnVoMBRaC3ojXMxkIHfCGHoskHX0DfdMOdcaV/4jv1FT+LxgNDip9fXy3s8aNBRIgARIgARIgARIgARLocgLUwG1/AWAXSzMsBmX4e7b7/yIsxWvRMoh4rbLqgtmsjo6Mq0Z7PPVBwOdLxKseYbsOwWQ8/1ed/B6zLzAXjO83mKyjoz0zbnXfrDoxnle8xvtv/95ugBrrihDVOAq7tQmBvV78BcvklVMAg0USIAESIAESIAESaD0BauDWn4PmZ4D7e7EyUyMArYUet/JiqK/UBgdV+9R4JudKpj8M+u6GA5lcrtK+28WFEomFYCC5sT4XiE31Dxhd0+r0dP7RVj09JZu92/VnHQmQAAmQAAmQAAmQAAmQQHcToAZug/Mvb0WWDwOLb4OktRR7eiCDRzPZ2VTWE4++690IV/Dx4NJlJrPZ1Wj4w4D3gUBkv2XYOOPK7/r29Gjz1LEgyr+OAzZ9KE5IAiRAAiRAAiRAAiRAAiSwPQFq4O25tKRWtK74UhFYmJLsx8IXVqJcm3grHQdD1dN6IIPtI6nMgWCsP5d7P+B5z+fZiEajqVQ6m61kIkTe9ns3g765UGxgalKdmlLM9//UUyUjMKZrCOxpoQ3/XthTduxMAiRAAiRAAiRAAiRQBwLUwHWAuOsQ20pTuduWJvHaOCKAxYskFq8FtF8BMnhivH9oeNYfORBJDaZTG5HgzYDnh771u6FALJ0qvyJEDsVjj0XSZvuUMjhYPpitJNCtBLhuEiABEiABEiABEiCB3QlQA+/OiBH1ITAwoE6MG2bd/RaLIxSbC0QeDcZn45lULHor4F0MBTdj0VAysWVJzOiJxeDFHgnFHMmswT6pWCxSQ9+dBOSVo+5cO1ddlgAbSYAESIAESIAESKBSAtTAlZJqXJy2CSwFeLnRF9+4eRs68o4b12azOj6m7ps1zLh7xkaGDIZ9kcQj/qgxGPAGAys+z3LeNpGbN+iHF+sbHVPdLgpgoUFPAiRAAgUEWCQBEiABEiABEqiOADVwdbyaHw1JjEnhRRKLR42eTQSw+O3zNBiUnh7FalUdDojbHseUw2g+EEseiKcf3jL0eihe8AZp67DSmL94hIloJEACJEAC7UmAWZMACZAACZBALQSogWuh1lV9IL8rWa+EiS+ML6eEt+JCP/EZZWBAtduxOazOzsAGfv/foEU8CjQSIAESIAESIIGPE+ARCZAACZBA7QSogWtnV0PPttjFrWFdO3URASx+p5gy9cAlViaGTSRAAiRAAiRAAt1EgGslARIggb0SoAbeK8Em9Nc2VyEImzDd3qeQhMXvfTSOQAIkQAIkQAIkQAIkoChkQAIkUB8C1MD14VivUTTd2C5yt3DhWvKFlSyTAAmQAAmQAAmQAAmQwN4IsDcJ1JMANXA9aXKsCgn0v/LlCiMZRgIkQAIkQAIkQAIkQAJdTIBLrz8BauD6M+WIIFDDnjCFMbjRSIAESIAESIAESIAESIAEtgg0ylEDN4osxyUBEiABEiABEiABEiABEiABEtAbgXbQwHpjtnM+svkJL5/mFb9zeJe2yH6veHlkNLwciu9SLlw2CZAACZAACZAACZAACbQDgfn5+dOnT2+b6aVLl06ePClNCHM4HDab7eDBg6urq6jUao4ePRqJRFBTaKWt586dQ3cYChKJwXEIw0RSU4OnBq4BWrkuEMDlmqtt68p4vHYg1pWr56I7mQAu7E5eHtdGAiRAAiRAAiTQBQSgZp955plgMFi6VujSp59+Wqs/f/78F77wBb/f/+STT164cAGi9+zZs2+//TZq3G73q6++qkWiUNoKSXzt2rWlpaUbN2688cYbOMT4iET3q1evvvTSS8gEhzUYNXAN0NilKQQ4CQmQAAmQAAmQAAmQAAmQgM4InDlzBpq2NClo1CtXrqBVa5qbm4N8lUOUb968ifKBAwfgjx07pjXhEFbaCqH7xBNPWCwWu90uO8lvvvkmOiIYg8zMzFADAwWNBDqFANdBAiRAAiRAAiRAAiRAAvojcO7cubm5ORGiyse/Dh06hG3ewrpTp07h0GazwR85cgSSNRAIoCy2uLiIvV8pw5e2Xr9+HfWavfPOO+iiHWIodNEOqypwH7gqXAwmARJoMAEOTwIkQAIkQAIkQAIkoEsC2Om9du3aiRMnKszu5MmTc3Nz2O/9zne+I29jrrBjo8OogRtNmON/RCD0Yz8t9tEx/yMBEigiwEMSIAESIAESIAES0CsB7Nm+8MILb731ltPpfPrppy9cuIA94TLJYpMW27aItNvtL7/88te+9jXr1pfWxe12WywW7RBhaNcO0Xrw4EHtEIXHH38clSiIIRhdpFytpwaulhjjqyAgTwgTX0U3hpIACXQbAa6XBEiABEiABEhA3wSgVy9evOjf+oIAhrg9deoUhC6U6k5i+M6dO9g6xrKwFQz5un///oWFBfncr3yyF7r66NGj2C5GDARtUSv2kC9fvowYzAI5fejQIdSgI4JlkANbHy3GYbVGDVwtMcaTAAmQAAmQQP0IcCQSIAESIAESaFsCEK7Hjx+HxC1dAZqw/QupbLPZXnvttTNnzqDmxRdfPHz4MGoQf+TIEXjNSlsRAOWMbWdI3+eeew4BJ06cgBhG96eeeur06dOQ5Vr3qgrUwFXhYnDVBLRNYCnAy5+HEY9DjAiPQzEc0kiABEiABLqCABdJAiRAAiTQngSgTs+fPy+5Q6AWPiLr1KlTWhPCtraN/devX4eCRbxWIzEQsdhblnJpK2rQJCOgIw4lHjUrKyvYFkZNbUYNXBs39iIBEiABEiABEiCBWgmwHwmQAAl0BIH5+fkrV66IQG2jBVEDt9HJYqokQAIkQAIkQAIk0OYEmD4JkEAHEcBmbNHfQ2qLxVEDN+o0xT7/xUYN3f7jEk77n0OugARIgARIgARIoEoCDCcBEtAHAWrgOpyHoe9+uw6jcAgSIAESIAESIAESIAES6EgCXBQJ6IkANbCezkZX5sJXELrytHPRJEACJEACJEACJNAdBLhK/RGgBtbfOWFGJEACJEACJEACJEACJEACJNDuBPSaPzWwXs8M8yIBEiABEiABEiABEiABEiABEqg3gWZo4HrnzPFIgARIgARIgARIgARIgARIgARIoBYC1MC1UKu8DyNJgARIgARIgARIgARIgARIgAT0Q4AaWD/notMy4XpIgARIgARIgARIgARIgARIQG8EqIH1dkaYTycQ4BpIgARIgARIgARIgARIgAT0SYAaWJ/nhVmRQLsSYN4kQAIkQAIkQAIkQAIkoGcC1MB6PjvMjQRIoJ0IMFcSIAESIAESIAESIAH9E6AG1v85YoYkQAIkoHcCzI8ESIAESIAESIAE2oUANXC7nCnmSQIkQAIkoEcCzIkESIAESIAESKC9CFAD///Zuxuoqqq8j+P2ZDMZomSmKKJMPo7MI7rwpSzFYjITxRnpzZjyGTOlxTQ6i1YufKO1mDU6Ta4sp5oiX3oxayytB9YIUiRSg2WMIhm1MMo0IqnUSEKdplk9v2HX6XYuXu69XO7rl7Xb7bPPf5+z9+d4kT8brqH1vEJ7ttFvvBTaC2D2CCCAAAIIIIAAAgggEOIC5MAh/gA7NX0GI4AAAggggAACCCCAAAKRJUAOHFnPm9V+J8D/EUAAAQQQQAABBBBAIBIFyIEj8amz5sgWYPUIIIAAAggggAACCESuADlw5D57Vo5A5AmwYgQQQAABBBBAAIFIFyAHjvQ/AawfATM2gU0AABAASURBVAQiQ4BVIoAAAggggAACCPxHgBz4Pwr8hwACCCAQvgKsDAEEEEAAAQQQ+F6AHPh7C1oIIIAAAgiElwCrQQABBBBAAAG7ADmwXYRjBBBAAAEEEAh9AVaAAAIIIIBA+wLkwO270IsAAggggAACCISmALNGAAEEEHAlQA7sSodzCCCAAAIIIIAAAqEjwEwRQACBjgXIgTs2IgIBBBBAAAEEEEAAgeAWYHYIIOCuADmwu1LEIYAAAggggAACCCCAQPAJMCMEPBMgB/bMi2gEEEAAAQQQQAABBBBAIDgEmIU3AuTA3qgxBgEEEEAAAQQQQAABBBCITIGamprc3Nx2115aWpqdnW2dampqSkpKUqfp0cABAwbExMSkp6e3traaTqt2PrtmzRoFq6hhwnRxHaqUlpaaHi9qcmAv0BiCAAIIIIAAAggggAACCESigNLa2bNnnzhxwnnxynUzMzOtfmW58+bNGzJkyKRJk9Spw1WrVm3fvr25uTk+Pn7dunXqtIrz2ZqamqqqqsbGxrq6uq1bt+pQ11e8hldUVKxYsUIz0aEXJfRzYC8WzRAEEEAAAQQQQAABBBBAAAHPBfLz81NSUpzHKUctLy/XWeuUslzlusXFxVFRUeqsr69XPWzYMNUZGRnKbNWwivNZJbqXXHKJxsbGxmozWRlvYWGhBmqILjJ48GD1qO1FIQf2Ai1ohjARBBBAAAEEEEAAAQQQQMBfAmvWrElMTDSJaLcffiQnJ2ub1+rTvm5ZWdnmzZtjYmJMBquU9YsvvrACGhoaFGMdOp+tra21zqqxf/9+DVHDFF1KQ0zb05oc2FMx4oNDgFkggAACCCCAAAIIIICAHwW001tVVZWVleXOPVtaWpSmVlRUNDc3a9/YcX/YneFdGkMO3KW8XByBLhDgkggggAACCCCAAAII+FdAe7bLly8vKSmJi4vLzMzUBq/2hF1PoXfv3rGxsYox+8Zqq0eHpsTHx0e1/Yy0OXQ+q91jc8rUo0aN0hDTVq1LaYgaXhRyYC/QGIIAAgES4LYIIIAAAggggAACgRBQvlpcXKxNXRUlwEqDc3Jymtre9rndZDg6OlrTrKmpUV1YWKhaKeuHH35ofu9XPUqMlVenp6dnt72PtPPZxMTEsrIyxeguDQ0NycnJ6tFAXcpcZFjbrxbr0NNCDuypGPEIIIBAIAS4JwIIIIAAAgggEGQCSlznz59ve3crM0flzCtXrpw7d25MTIwy2NWrVys4Ly8vNTVVPYpJS0tTbRXnswrQxq+2nZX6Lly4UAFZWVm6lIZPmzYtNzdXt7CGe9QgB/aIi2AEEEAAAb8LcEMEEEAAAQQQCCYBZacFBQVmRkpQtaNr2qpzcnKsU9q5PXLkiPaNtYFs8lUN1KGKiVGnTpm2xtrOqkenFKyiUzo08TrUZXVx9XhXyIG9c2MUAggggAACXS/AHRBAAAEEEAhigZqamvLycpOgBvE07VMjB7aLcIwAAggggAACgRdgBggggAACQS+gzVjHfw8p6Of77QTJgb+F4H8IIIAAAggggEBQCDAJBBBAAIGuFCAH7kpdro0AAggggAACCCDgvgCRCCCAQNcLkAN3vTF3QAABBBBAAAEEEEDAtQBnEUDAXwLkwP6S5j4IIIAAAggggAACCCDgLEAPAv4VIAf2rzd3QwABBBBAAAEEEEAAAQSMAHUgBMiBA6HOPRFAAAEEEEAAAQQQQACBSBYI3NrJgQNnz50RQAABBBBAAAEEEEAAAQT8KxD4HNi/6+VuCCCAAAIIIIAAAggggAACkStADhzIZ8+9EUAAAQQQQAABBBBAAAEE/ClADuxPbe71vQAtBBBAAAEEEEAAAQQQQMD/AuTA/jfnjpEuwPoRQAABBBBAAAEEEEAgUALkwIGS574IRKIAa0YAAQQQQAABBBBAILAC5MCB9efuCCAQKQKsEwEEEEAAAQQQQCAYBMiBg+EpMAcEEEAgnAVYGwIIIIAAAgggEDwC5MDB8yyYCQIIIIBAuAmwHgQQQAABBDwV+KT6+Bt31xZd98rGscUbEotUq60e9Xt6KeLbFSAHbpeFTgQQQAABBBDolACDEUAAAQQ8FTh+4MRL2bu33fT3tzcdPLfPj4bfMGTMgkTVaqtH/TqrGE8vS7xNgBzYBsIhAggggAACCCDQKQEGI4AAAl4I1Bc2/N/MnZ9WHx+/JOnXe9KnrrtMjdELhqtWWz1q6KxiFOnF9RliCZADWxQ0EEAAAQQQQAABBDolwGAEEPBOQGntq0uqB03qd+22K5NuGdq9x9m266hH/TqrGEUq3hbAofsC5MDuWxGJAAIIIIAAAggggED7AvQi4LXA8QMnlNYqudV+73n9znVxHZ1VjCIVr1EuIjnlQoAc2AUOpxBAAAEEEEAAAQQQQKADAU53UmDP/e/8uNc5k1aOPtN13ri7tmrV29ZZRSpeo6weGh4JkAN7xEUwAggggAACCCCAAAIIIPCtQOf/90n18YaKT5JvH649XuerfX3y6x2/+0ftk+/3SoiyzipS8RqlsVYnDfcFyIHdtyISAQQQQAABBBBAAAEEEPClwKEXPz7r7LMSb0xwvuiJw1+WzHnt0Esfj/1dYuKsHwQoXqM01nmU33pC90bkwKH77Jg5AggggAACCCCAAAIIhLZA055jcRMu7O70JlhN/zi67ebKz976/KL0OO362hapeI3SWFs/h+4IdD4HducuxCCAAAIIIIAAAggggAACCNgFvjj0ZczQaFvvweKPiv9316mj/zz/p71+vnqc7aw51CiNNW1qjwTIgT3isgVziAACCCCAAAIIIIAAAgh4L/Cv1q9/1PMcx/G1j7+38869pufzd09sSCwyRf2m09QapbGmTe2RADmwR1wEWwI0EEAAAQQQQAABBBBAoLMC50R1/+rLfzleJWnuf8+rm2mK9oHNqZ+vHqt+0za1RmmsaVN7JEAO7BEXwQh069YNBAQQQAABBBBAAAEEfCPQO6Fn8/st7V5r5517tA/co++P05+aeFH6IFuMRmmsrZNDdwTIgd1RIgYBBIwANQIIIIAAAggggIAvBWLHXdD42mdfn/q37aI1Dx84WNx44cjzZzydEntxX9tZxWuUxtr6/XNYU1OTm5vb7r1KS0uzs7NtpxSsIepUPWDAgJiYmPT09NbWVvU4Fueza9asUbCKGiZSF9ehim5keryoyYG9QGMIAghEoABLRgABBBBAAAEEfC+QMHXgN//+pu7ZQ46Xrnvu0N4H6hKuHjj9yQm9hvR0PGXaitcojTWH/qybmppmz5594sQJ55sqL83MzLT1K3196qmn1Kmkd9WqVdu3b29ubo6Pj1+3bp06reJ8VilxVVVVY2NjXV3d1q1bdajrK17DKyoqVqxYoZno0ItCDuwFGkMQQACBiBJgsQgggAACCCDQVQL9x/SJT+2vXd+Tn5627nHiUGvSnKGTH7i4+3ndrU6roUjFa5TGWp1+a+Tn56ekpDjfTjlqeXm5zjqeUmdZWdmYMWPUWV9fr3rYsGGqMzIylNmqYRXns0p0L7nkkqioqNjY2KSkJGW8hYWFGqghusjgwYPVo7YXhRzYCzSGIIAAAghEiADLRAABBBBAoMsFxt3xP/888a+/L99n3emS3BHjlyZZh7aGIhWvUbZ+PxxqUzcxMdEkot1++JGcnKxtXsc+5ajLly9/4IEHevfurX4dfvHFF2qY0tDQoL1f01btfLa2tlb9Vtm/f7+GWIe6lIZYhx41yIE94iIYAQQQQACBCBFgmQgggAACfhLoM7zX5X8a89HfP30x63Xt8bq4q84qRpGK1ygXkV1xSpu6VVVVWVlZbl5ce8ILFy7ULq6b8X4LIwf2GzU3QgABBBBAAIGQEGCSCCCAgL8FhmXEK61VcvvCjPLaJ97/2uktstSjfp1VjCIV7+cpas9Wm7olJSVxcXGZmZmbN2/WnrCLOZSWlipGkYrXqNmzZ59zzjlmQ9iMio+Pj4qKMm3VSpVtZ5OSfrATPmrUKA1RpCkK1hDT9rQmB/ZUjHgEEEAAAQQQQCBcBVgXAggETEBp7TVFP+83ps8bf6rdOK5Y+71q7HvogGq11aOGzipGkf6fpfLV4uLi5rYPk9zm5OQ0NTUpU203GU5LS2uLbW5sbJw+ffqmTZtGjBjx4Ycfmt/7Nb/Zq7w6PT09u+19pJXQ2s4mJiaWlZUpRndpaGhITk5WjwZq7eYiw9p+tViHnhZyYE/FiEcAAQQQQAABBBAIPwFWhEDgBfoM73V1waUznpk0YvZFp49/dWDL4eqH6lSrrR7166xiAj/R72agxHX+/Pm2d7f67qT9/wrOy8tLTU2NiYnROSXJqq3ifFYB2vjVNrJSX/Mz1VlZWUqGNXzatGm5ublKy63hHjXIgT3iIhgBBBBAAAEEEEAAgTATYDnBJdB/TJ/xS5NmPn/Fr/emz6ubqVpt9ag/SCaq7LSgoMBMRgmq41tk5eTkWKdMgDLVZ555Rru4OtRAszlsYnRKe8um7XxWPTpl4jVQhyZePUeOHDEXVKcXhRzYCzSGIIAAAggggAACCCCAQBgIsIROCdTU1JSXl5sEtVMX8u9gcmD/enM3BBBAAAEEEEAAAQQQQCDwAj6YgTZjbf8ekg8u2vWXIAfuemPugAACCCCAAAIIIIAAAgggEBwC/9UtOObBLBBAAAEEEEAAAQQQQAABBBDoaoHI3gfual2ujwACCCCAAAIIIIAAAgggEEwC5MDB9DT8ORfuhQACCCCAAAIIIIAAAghEngA5cOQ9c1aMAAIIIIAAAggggAACCESqADlwpD551h2ZAqwaAQQQQAABBBBAAIHIFiAHjuznz+oRiBwBVooAAggggAACCCCAQLdu5MD8KUAAAQTCXYD1IYAAAggggAACCHwnQA78nYTv/l9TUzNgwICYmBjVavvuwlwpKARaW1vT09NLS0vNbMyhHreK1WlOUYeuQE1NTUpKSlNTk+MSsrOz16xZ49hDOwQEzjxFvWD1WtZL2ITo+epVrMJTNiDhUTs+Zb2ik5KS9Ij52zk8Hq61Cr14bS9bHepZ64lbMTRCWkCfqPXpWi9nrUKPVQ9XL2Sr6HGrn4KARwLkwB5xdRysV+ny5ctnzpzZ3Ny8ePFitdXT8TAiQkRAn3nHjx+/a9cua7533nlnfHy8Hnd+fv6iRYsUYJ2iEaIC+ls2NTVVz9Sav17F+tt38+bNVg+NUBfQ10yZmZnWKvTQGxoaGhsbKyoq7rnnHh1ap0K4EfFTtz1lfW9r/vz5emnr72j+dg6PPx3tfnLWc9ffyI4v8PBYbMSuQl9ZOX7pFRsbW1tbqxeyih70oEGDeNYR+2ejMwsnB+6MXjtjW1paDh8+nJGRoXOJiYnV1dX19fVqU8JDYMOGDffee2+PHj3McvR5ubKy0jxuZU3Hjh3T11jmFHWICuiZ7t27V3+tOs7/2WefXbhwof6idew1Cj3MAAAQAElEQVSkHboCep326tXL8cumtLS04uLiqKio0F0UM/+BQLdu7T7lnJwcE6bvXfK4DUVI186fnPXc9W0sfcsyLy9PyVJIr47JGwHbl16mU7X+vl6/fr2+scWDlgbFUwFyYE/FOoiPjo4eMmRIYWGh4urq6lRTwklAWweOn2r1+febb74xPaovuOCCcFpsZK5Fz1FP2bb2W2+9NTk52dbJYegK6GnqmbY7/4KCAr2QFdDuWTpDSEAP0fkp65N2UlKS9vxXr14dQmvxbKqRFK1HrAftuGK9hE+dOqXvcMXExKxZs8bxFO0QFdBfyvqr2Xny+k6HOvWsVVMQ8FSAHNhTsQ7i9X3llStXFhUV6ZOvtpL0tVS7r9sOrsJpBBBAAAG/C5SWluqLKnYV/A7vvxvqb+Ta2lptAs+aNau1tdV/N+ZOfhFobW3VNzgmTpzY2Nio17I2hLUt7Jc7cxN/C+j7WWwC+xs9vO5HDuz756lvSR45ckSbwIMGDeJrKd/7BtkVjx8/rk/EmpRqa09YhxQEEAgtAb2EFy1apK+es7KyQmvmzNZTgYyMjMOHD7e0tHg6kPiQEND3OLQhoS/GtA+h13VIzNkHk4ywS+h7HMeOHUtNTY2wdbNcnwmQA/uM0vFC+r7j6NGjhwwZwtdSjizh1x42bNiYMWPMj75XVFQkJCSoJ/yWyYoQiASB/Px8fUW1cuVKffUcCeuNwDVqn19FC9cnbf0FHR0drTYlnAT04p0yZYq2grXJr6/E9IrWzn84LZC1GAE937KyspkzZ+o7Hf/p4T8EPBcgB/bcrKMRemUuX75cqdFzzz2nT8cdhXM+hAX0fDds2FBZWRkTE3PPPffw1XMIP0umHtkCSo20q3Dq1CntKujlnJ6ers/kkU0Shqvfs2fP3Llz9XyLior4dB2GD7htSWbvIS4uLjMzc/HixeRIbSrhVtXX11dXV2dkZITbwrxYD0O8FSAH9lbuzOOUFxW3fahx5ijOhKqA/kI9cuRIWlqaWYC+x1zb9h796tQp00kd6gI5OTl6rHq41kLUVo/6rR4aoS5QUFCgT9XmE7Ve0c0OH1Z/qK+R+Ts+5by8PH2i1nNWzafrsPmzYfvkrFe0Xr96yip8xg6bp6wXrF62+kRtVmQ7NJ3UESfQuQWTA3fOj9EIIIAAAggggAACCCCAAAKhIxDaOXDoODNTBBBAAAEEEEAAAQQQQACBwAuQAwf+GXg3A0YhgAACCCCAAAIIIIAAAgh4KkAO7KkY8YEXYAYIIIAAAggggAACCCCAgHcC5MDeuTEKgcAIcFcEEEAAAQQQQAABBBDojAA5cGf0GIsAAv4T4E4IIIAAAggggAACCHRegBy484ZcAQEEEOhaAa6OAAIIIIAAAggg4CsBcmBfSXIdBBBAAAHfC3BFBBBAAAEEEEDAtwLkwL715GoIIIAAAgj4RoCrIIAAAggggEBXCHScA5/kAwEEEEAAAQQQ8KMAt0IAAQQQQMBrgQ7T5o5z4A4vQQACCCCAAAIIIICATwS4CAIIIIBAVwu4yoHP4wMBBBBAAAEEEEAAAb8IcBMEEEDAhwIuEmlXObCLYZxCAAEEEEAAAQQQQAABnwhwEQQQ8KcAObA/tbkXAggggAACCCCAAAIIfC9ACwH/C5AD+9+cOyKAAAIIIIAAAggggECkC7D+QAmQAwdKnvsigAACCCCAAAIIIIAAApEoENg1kwMH1p+7I4AAAggggAACCCCAAAII+E8gsDmw/9bJnRBAAAEEEEAAAQQQQAABBBAgBw7UnwHuiwACCCCAAAIIIIAAAggg4G8BcmB/i3O/bt0wQAABBBBAAAEEEEAAAQQCI0AOHBh37hqpAqwbAQQQQAABBBBAAAEEAilADhxIfe6NQCQJsFYEEEAAAQQQQAABBAIvQA4c+GfADBBAINwFWB8CCCCAAAIIIIBAsAiQAwfLk2AeCCCAQDgKsCYEEEAAAQQQQCC4BMiBg+t5MBsEEEAAgXARYB0IIIAAAgggEIwC5MDB+FSYEwIIIIAAAqEswNwRQAABBBAIXgFy4OB9NswMAQQQQAABBEJNgPkigAACCAS7ADlwsD8h5ocAAggggAACCISCAHNEAAEEQkOAHDg0nhOzRAABBBBAAAEEEAhWAeaFAAKhJEAOHEpPi7kigAACCCCAAAIIIBBMAswFgdATIAcOvWfGjBFAAAEEEEAAAQQQQCDQAtw/VAXIgdt/cg0NDWvXrn3//ffbP+2X3g8++GD9+vWHDh3yy924CQIIIIAAAggggAACCCDgjkBox7iVA8e48WEYPvnkk+zs7J+2faihQ9P/5ptvOl/jyiuvNGdttXOkrccW75ND6xa62kcffTRy5Mjc3NyxY8fW1dWpp/OlvLzcukV1dXW7F7zppptMjGTefffd0aNHL1q0KDk5Wclwu/F0IoAAAggggAACCCCAAAIIeCTgVg58xis6nVi2bNnmzZs/bftQQ4cm5IknnjANx/qWW25xPAyetnJgazIHDhyw2p1pKK3VdwbMFbTDbBqO9dGjR0tKSkyPZLQRbdqqlQ+rpiCAAAIIIIAAAggggAACCHRSwMc58I4dOxwntHPnTh22trYqH1bDsURFRV1//fWOPcHTvvTSS6dMmaL5XHbZZTNnzlSjneJ512233WYGSUPfJTBtq1anaRuZyZMnT5o0ST2pqalTp05Vg4IAAggggAACCCCAAAIIINBJAR/nwGeffbbjhM466ywdbtmy5dSpU2o4lhtvvPG8885z7LHazQ4frjuts46NpqamysrK/fv3O3Y6t02Y9dPatgDNWbPYvn27rV+HJ0+erK6udvEz0p999pkmoJjTp08r3io333xzz549zeHjjz9uGla9adMm07Zk/va3v2kOhYWFpt+xlufu3btfe+21EydOOPb7qc1tEEAAAQQQQAABBBBAAIHQFPBxDqxNS0cHc+ic7ylm7ty5qr0r5pdmVX/55Zd/+ctftJ9sNlGVc+bl5SUmJs6YMePyyy+Pi4vbtWuXwkyx7uUYNnz4cO36Kpm0zpqGGaLadvjQQw8NHDjwyiuv1Kj4+Hjrp5dNmNLjFStWjBw5UhNQTEJCQkVFhS5iSo8ePW699VYT+dhjj5mGqfft22cl1ZaMGaXaxJi6uLj4qquuGjBgQFpa2vTp0wcPHnzXXXfpvjqrKSlYxXE3XtNQz7Rp0xRgSmlpqXpUFG96qD0QIBQBBBBAAAEEEEAAAQRCWcDHOfAf//hHbWP27du3X79+v/rVr+6+++432z5sRGPGjFGiaOv04jAzM3P58uUvv/yy+e1ZHSpHta7T2tp63XXXWYdWwxam5PPaa6+1zrpuKMe2AlpaWm666SYNNz3am500adK9996rHNv0qKF7mbaps7KyTEP7z9pqNm3VTz31lGoV1zK//e1vtZm8Z88eRVrlwQcfVKcOf/nLX6pWKSsrU61y5MgRbUer8frrrx89elQNlZdeekm1ihWvNgWBjgWIQAABBBBAAAEEEEAg9AXcyoGbnT7OtPD+/fs/+uij77333rvvvvvII48oE+7Sd8OqrKzUfuaoUaO6d+++cuVKbbqaiU2YMGHhwoWTJ09WFmp6rNo5TJvVzmFWvK0RHR2dn5+vXdyLLrrInLrvvvtMQ9mv9W8pjR07dsGCBVdccYXtyto61haxiV+3bp1pKGbr1q2mfcstt5iGc/3iiy8+/fTT6u/du/ef//znbdu2aQ+8V69e6tm5c6dOWb+6bP0ItzaNddYUbf+ahq5jGla8OaRGAIEzCnACAQQQQAABBBBAIFwE3MqBvV6sdmKfffZZ2/CePXte76N3w9JW86FDh1599dU77rjDSimVlJaUlPzhD394/vnnnX8M2zmssLDQ6rRN1flw7dq1OTk52jdW/mnOWruy1kWUJO/YsWPFihVFRUXOE7j99tvNwKqqqn379qmtTNX8Wq9rGWXvClbRRu6cOXNSUlK0/fvcc8+pR+WZZ54ZMWJEQkKC2ocPH66vr1fDSobVVs6sWrvWjY2NaihS8WpQEEAAAVcCnEMAAQQQQAABBMJLoGtz4C1btphfVXVEmzVr1pneDcsxzJ3273//exP2zjvvaK9a7T59+li/c6vDa6655ic/+Ykappwp7IYbbtAOrYlxXU+cONEEJCUlmcbBgwfVqK6uNnls3759lSSrxxRNwIo0PdqjtnoKCgrUuXHjRtUqrmWsd/kaP368dr9NSUtL00CVmpoa1dbWbllZmb4BoVRcnaZoH1jPQvmzObQizSE1AggggIBdgGMEEEAAAQQQCEeBrs2BnXdBZWi955PanSz9+vUzV2hpaTGNQYMGmYZVDxs2zGq7CPvZz35mhblomJ89VkB0dLRqq3z11VemPXDgQNOw6uHDh1tt0/jNb35jGtok11bwK6+8Yg5dyDj+k8Um2FYr4z19+rT1K77KeK10d/HixSZYKbH1g9BWpDlFjQACCCCAwPcCtBBAAAEEEAhfgS7MgdveDOtNG53r93yyBbt/qE1RE2zeHMu0TW39jq4O3QxTpKclNjbWDPnggw9O/fAfgnr77bfNKau++eabL7jgAnOotmm4lomJiTFhGrjtDB/nnnvu2LFj4+LiFPnqq68qwVbj/PPPX7p0qbbH1f7rX/+6a9cuNRSjSDUoCCCAAAIIIPADAQ4QQAABBMJdoAtz4C59Nyzbc9Feq8kSP//8c8fN56KiIscc2M0w28XdOUxISBg6dKgitdWcnZ2thinLli2rq6szbcd63rx55vDjjz82DRfvhqWAnj17jhs3To1jbR8p330MHjx4xYoV6leHapVf/OIXqlW0Faw6PT1dteksKSlRW8UcqkFBAAEEEEAAAQS+FeB/CCCAQGQIdFUO3NraavYhHRmVyPnq3bAcL2va8+fPN4077rhj2rRpd911V0ZGxpw5c0ynVbsZZsW731iyZIkJVuI9cODAq6++Wonxww8/bDpttZUDm353ZHJyckywFjV58mTt7l533XWjRo3avXv3jBkzNm3aZM7afsjZHCrAnDW16TRtagQQQAABBBBAINIFWD8CCESSQFflwFu3bj158qRN0vV7PtmCPT3My8sbP368GfX6668/+OCD1j+VZDpN7WaYCfaovuGGG3Jzc80Qrb2qqqq5uVlpsOmx1f3793f8doA7MspjdQtznb179z7yyCM7duwwhxdffPHUqVNNe8KECX379jXtqKgopeJqT5kyxfoFZp1VjDopCCCAAAIIIIAAApEuwPoRiDyBrsqBH3vsMWdMF+/55BzsRc8LL7xw2223mR+K1vDExMRt27apYStuhtlGuXO4bNky7X7PnDlTeWafPn20W1tYWHimgdY7YynATZl169Zt3LjR8e27RowYsXjx4rKysgsvvFDXMcX6UWfth5se1dOnT1etwiawECgIIIAAAggggAACkS7A+iNVwMscWDuctmIDfOWV5HVqOAAAA3xJREFUV2wBOhw5cqQtrMNDjTLFMdL0qHbsVFvbnqtWrTp06NDu3bsPHDigOiUlRWGmKMAUd8LMENVmiBqmmENTmx7V5lC12tqPffLJJ997772DBw8+//zzjY2N6ldxfsPqsWPHKt6UdmXMKdUabhVlsNrlfvnll5Xea427du1aunSpddY07r//fo1SWb9+velR/eijj6pH5b777tMhBQEEEEAAAQQQQAABBCJUILKX7WUOHORo2gHu379/h5N0M6zD61gB119/vbZe9+7da3qUAGtn2LRTU1NNwyf1uHHjlN67s0af3I6LIIAAAggggAACCCCAAALhINCtW3jmwAF5Nvn5+Xv27NEm7eTJk4cOHTpp0qQRI0a8+ea3/zrUggULAjIrbooAAggggAACCCCAAAIIIGAJRG4ObBH4qjFx4kTrB56PHTv21ltvWVd+4okntOdsHdJAAAEEEEAAAQQQQAABBBAIiAA5sM/Yp0yZUltbu2XLllmzZikfVrnqqquWLFlSWVmZkZHhs9v44kJcAwEEEEAAAQQQQAABBBCITAFyYB8/d2XCa9euLW772Lp1q3LgpKQkH9+Dy3VCgKEIIIAAAggggAACCCAQyQLkwJH89Fl7ZAmwWgQQQAABBBBAAAEEECAH5s8AAgiEvwArRAABBBBAAAEEEEDACJADGwdqBBBAIDwFWBUCCCCAAAIIIICAowA5sKMGbQQQQACB8BFgJQgggAACCCCAgLMAObCzCT0IIIAAAgiEtgCzRwABBBBAAIEzCZADn0mGfgQQQAABBBAIPQFmjAACCCCAgGsBcmDXPpxFAAEEEEAAAQRCQ4BZIoAAAgi4I0AO7I4SMQgggAACCCCAAALBK8DMEEAAAfcFyIHdtyISAQQQQAABBBBAAIHgEmA2CCDgqQA5sKdixCOAAAIIIIAAAggggEDgBZgBAt4JkAN758YoBBBAAAEEEEAAAQQQQCAwAty1MwLkwJ3RYywCCCCAAAIIIIAAAggggID/BDp/J3LgzhtyBQQQQAABBBBAAAEEEEAAgdAQCN0cODR8mSUCCCCAAAIIIIAAAggggEDwCJADB8+zcH8mRCKAAAIIIIAAAggggAACCHgjQA7sjRpjAifAnRFAAAEEEEAAAQQQQAAB7wXIgb23YyQC/hXgbggggAACCCCAAAIIINBZgf8HAAD//9ZkNMoAAAAGSURBVAMAn10oCGSjAecAAAAASUVORK5CYII="
75
+ }
76
+ },
77
+ "cell_type": "markdown",
78
+ "id": "1c690bad",
79
+ "metadata": {},
80
+ "source": [
81
+ "![image.png](attachment:image.png)"
82
+ ]
83
+ },
84
+ {
85
+ "cell_type": "markdown",
86
+ "id": "5da98f93",
87
+ "metadata": {},
88
+ "source": []
89
+ }
90
+ ],
91
+ "metadata": {
92
+ "language_info": {
93
+ "name": "python"
94
+ }
95
+ },
96
+ "nbformat": 4,
97
+ "nbformat_minor": 5
98
+ }