\(Var(U) = Var(Y) = \pi(1 -
\pi)\)
không phải là hằng số (do \(\pi =
\pi(x)\) thay đổi theo x), hơn nữa nhiễu U
không có phân phối chuẩn. Bởi vậy phương pháp bình phương bé nhất để tìm
các ước lượng \(\hat\beta\), \(\hat\beta{_1}\) cho các hệ số \(\beta\), \(\beta{_1}\) là không thích hợp.
Đối với mô hình logistic, người ta dùng phương pháp hợp lý cực đại
(LM: Maximum Likelyhood) (đã được đề cập trong chương trước) để ước
lượng. Cụ thể là tìm \(\beta{_0}\),
\(\beta{_1}\) làm cực đại hàm hợp
lý:
\(L(\beta{_0}\), \(\beta{_1}\)) = \(\prod_{i=1}^2\) \([\pi(x_{i})]\)\(^{y_{i}}\).[1-\(\pi(x_{i})]\)\(^{{1-y_{i}}}\) (4.1.4)
(Nhắc lại: ((\(x_{1}\), \(y_{1}\)), (\(x_{2},y_{2}\),…,(\(x_{n}, y_{n}\))) là giá trị mẫu quan sát
cặp biến (X,Y)) Ước lượng hợp lý cực đại cho (\(\beta_{0}, \beta_{1}\)) là nghiệm (\(\hat\beta,\hat\beta_{1}\)) của phương trình
hợp lý:
\(\left\{\begin{array}{l}\frac{\partial
\log \left\{L\left(\beta_0, \beta_1\right)\right\}}{\partial \beta_0}=0
\\ \frac{\partial \log \left\{L\left(\beta_0,
\beta_1\right)\right\}}{\partial \beta_1}=0\end{array}\right.\)
(4.1.5)
Do tính chất phức tạp của hệ phương trình hợp lý mà nghiệm của chúng
thường được giải xấp xỉ bằng các thuật toán tối ưu hóa (như Gradient
Descent, Newton – Raphson, Solver,…) được ứng dụng trong các phần mềm.
Trong tài liệu này, chúng ta sẽ sử dụng phần mềm Eviews.
Kết quả chạy hồi quy logistic trên Eviews được cho bởi bảng sau:
| C |
……….. |
………. |
……….. |
……. |
| X |
……….. |
………. |
……….. |
……. |
| McFadden R-squared |
………. |
Mean dependent var |
……….. |
| S.D dependent var |
………. |
S.E. of regression |
……….. |
| Akaike info criterion |
………. |
Sum squared resid |
……….. |
| Schwarz criterion |
………. |
Log likelihood |
……….. |
| Hannan-Quinn criter. |
………. |
Deviance |
……….. |
| Restr. deviance |
………. |
Restr.log likelihood |
……….. |
| LR statistic |
………. |
Avg.log likelihood |
……….. |
| Prob(LR statistic) |
………. |
|
|
Obs with Dep=0 ….. Total obs
Obs with Dep=1 …..
Bảng 4.1. Bảng kết quả hồi quy cho mô hình logistic
Giải thích bảng kết quả hồi quy: – Các số trong cột
(Coefficient) lần lượt là \(\hat\beta_{0},\hat\beta_{1}\), trong cột
(Std. Error) là se(),se(), trong cột
(z-Statistic) là giá trị của thống kê Z và trong cột (Prob*) là
P-value(Z).
– McFadden R-squared: Hệ số McFadden \(R^2\), hay Giả \(R^2\) (Pseudo- \(R^2\)).
– S.D. dependent var: Độ lệch chuẩn của biến phụ
thuộc.
– Akaike info criterion: Chỉ số AIC; Schwarz
criterion: Chỉ số SC;
– Restr. deviance: Sai lệch hạn chế; LR
statistic: Giá trị của thống kê LR;
– Prob(LR statistic): P – value (LR); Log
likelihood: Giá trị của hàm log likelihood;
– Deviance: sai lệch (giống như Deviation,
nhưng thường dùng với biến đáp ứng rời rạc);
– Restr. log likelihood: Giá trị của hàm log
likelihood hạn chế.
Từ kết quả hồi quy, ta nhận được mô hình hồi quy ước lượng: \[
\log
\left(\frac{\hat{\pi}(x)}{1-\hat{\pi}(x)}\right)=\hat{\beta}_0+\hat{\beta}_1
x\] (4.1.6)
hay: \[\hat{\pi}(x)=\frac{1}{1+\exp
\left(-\hat{\beta}_0-\hat{\beta}_1 x\right)}\] (4.1.6a)
Thông qua mô hình ước lượng, người ta muốn dự báo \(\mathrm{Y}=1\), hay \(\mathrm{Y}=0\), bằng cách dự báo cho xác
suất \(\pi(x)\) bởi \(\hat{\pi}(x)\) đồng thời người ta thường
đặt ra một ngưỡng \(\mathrm{t}(0<\mathrm{t}<1)\) để rồi
dự báo cho \(\mathrm{Y}\) bởi: \[
\hat{Y}= \begin{cases}1 & \text { nếu dự báo } \hat{\pi}(x) \geq t
\\ 0 & \text { nếu dự báo }
\hat{\pi}(x)<t\end{cases}\]
Trong thực tế người ta thường đặt ngưỡng \(\mathrm{t}=0,5\). Lấy ngưỡng \(\mathrm{t}=0,5\), ta có giá trị dự báo cho
\(\mathrm{Y}\) là:
\[
\hat{Y}=\left\{\begin{array}{ll}
1 & \text { nếu } \hat{\pi}(x) \geq 0,5 \\
0 & \text { nếu } \hat{\pi}(x)<0,5
\end{array}, \text { hay: } \hat{Y}= \begin{cases}1 & \text { nếu }
\hat{\beta}_0+\hat{\beta}_1 x \geq 0 \\
0 & \text { nếu } \hat{\beta}_0+\hat{\beta}_1
x<0\end{cases}\right.\]
Miền dự báo được chỉ ra trên trục số như sau: \[ \begin{equation}\left.\xrightarrow[\substack{x
\\ \text { Truờng hơp } \hat{\beta}_1>0}]{\left(Y=0
\quad-\frac{\hat{\beta}}{\hat{\beta}_1}(Y=1\right.}\right)
\xrightarrow[\substack{x \\ \text { Truờng hơp }
\hat{\beta}_1<0}]{(Y=1)-\frac{\hat{\beta}_0}{\hat{\beta}_1}(Y=0)}
\end{equation}\]
Chẳng hạn, nếu có mô hình uớc lượng: \(\log
\left(\frac{\hat{\pi}(x)}{1-\widehat{\pi}(x)}\right)=-2+3 x\) thì
ứng với \(x=0,75>-\frac{\hat{\beta}_0}{\hat{\beta}_1}=\frac{2}{3}\),
ta dự báo \(\hat{Y}=1\) (tức là “Thành
công”); úng với \(x=0,5<-\frac{\widehat{\beta}_0}{\widehat{\beta}_1}=\frac{2}{3}\),
ta dự báo \(\hat{Y}=0\) (tức là “Thất
bại”).
4.1.4. Các ví dụ
Ví dụ 1. Khảo sát sự ưa thích của người dùng đối với các nồng độ chất
béo khác nhau trong một loại nước sauce
\[\begin{array}{|l|c|c|c|c|c|c|c|c|c|}
\hline\text {Nồng độ chất béo} & 1.35 & 1.60 & 1.75 &
1.85 & 1.95 & 2.05 & 2.15 & 2.25 & 2.35 \\
\hline\text {Số người thích} & 13 & 19 & 67 & 45 &
71 & 50 & 35 & 7 & 1 \\
\hline\text {Số người không thích} & 0 & 0 & 2 & 5 &
8 & 20 & 31 & 49 & 12 \\
\hline
\end{array}\]
Bảng 4.2. Điều tra về phản ứng của nguời tiêu dùng đối với
nồng độ chất béo của nước sốt
Hãy phân tích phản ứng của người tiêu dùng đối với nồng độ chất béo
trong loại nước sauce này thông qua mô hình logistic.
Giải.Ở đây nồng độ chất béo \(\mathrm{X}\) trong nước sauce này tác động
vào phản ưng của người tiêu dùng, nên \(\mathrm{X}\) là biến giải thích (hay biến
dự báo). Phản ứng \(\mathrm{Y}\) của
người tiêu dùng là biến đáp ứng định tính với hai thuộc tính (Thích /
Không thích). Gán số 1 cho thuộc tính “Thích” và số 0 cho thuôc tính
“Không thích”, ta có Y là biến ngẫu nhiên có phân phối \(0-1\), với xác suất để một người tiêu dùng
thích nước sauce phụ thuộc vào nồng độ chất béo \(x\) là: \(\pi=\pi(x)\). Sự liên kết giữa \(\mathrm{X}\) và \(\mathrm{Y}\) được thể hiện qua mô hình hồi
quy logistic: \[
\log \left[\frac{\pi(x)}{1-\pi(x)}\right]=\beta_0+\beta_1 .
x (a)
\]
Từ bảng dữ liệu 4.2, chạy hồi quy logistic ước lượng cho mô hình (a),
có bảng hồi quy
Dependent Variable: \(Y\) Method: ML
- Binary Logit (Quadratic hill climbing) Sample: 1 435
| C |
22.70833 |
2.266125 |
10.02078 |
0.0000 |
| X |
-10.66242 |
1.082632 |
-9.848609 |
0.0000 |
| McFadden R-squared |
0.361933 |
Mean dependent var |
0.708046 |
| S.D dependent var |
0.455185 |
S.E. of regression |
0.348416 |
| Akaike info criterion |
0.779842 |
Sum squared resid |
52.56333 |
| Schwarz criterion |
0.798579 |
Log likelihood |
-167.6157 |
| Hannan-Quinn criter. |
0.787238 |
Deviance |
335.2314 |
| Restr. deviance |
525.3861 |
Restr.log likelihood |
-262.6930 |
| LR statistic |
190.1547 |
Avg.log likelihood |
-0.385323 |
| Prob(LR statistic) |
0.000000 |
|
|
| Obs with Dep=0 |
127 |
Total obs |
435 |
| Obs with Dep=1 |
308 |
|
|
Bảng 4.3. Kết quả hồi quy về phản ứng của nguời tiêu dùng
đối với nồng độ chất béo trong nuớc sốt
Từ đó nhận được mô hình ước lượng: \[
\log
\left(\frac{\hat{\pi}(x)}{1-\hat{\pi}(x)}\right)=\hat{\beta}_0+\hat{\beta}_1
x=22,70833-10,66242 . x
\] - Tỷ lệ cược thích nồng độ \(x\) của chất béo nước sauce ước tính là:
\[
\widetilde{\text { Odds }}=\frac{\hat{\pi}(x)}{1-\hat{\pi}(x)}=\exp
\left(\hat{\beta}_0+\hat{\beta}_1 x\right)=\exp (22,70833-10,66242 . x)
\]
Chẳng hạn: \(\quad\) odds(1.75)
\(=\frac{\hat{\pi}(1.75)}{1-\hat{\pi}(1.75)}=\frac{0.982861}{0.017139}=57,346461\)
cho thấy ở nồng độ chất béo là 1,75, khả năng người tiêu dùng thích
nước sauce này ước tính gấp 57,346461 lần khả năng không thích.
Cột Fitted trong bảng kết quả chính là cột giá trị \(\hat{\pi}\left(x_i\right)\)
\[\begin{array}{|c|c|c|c|c|}
\hline \mathrm{X} & {Thích} & { Không thích } & f_i &
{\hat{\pi}\left(x_i\right)} \\
\hline 1.35 & 13 & 0 & 1.000000 & 0.999755 \\
1.60 & 19 & 0 & 1.000000 & 0.996489 \\
1.75 & 67 & 2 & 0.971014 & 0.982861 \\
1.85 & 45 & 5 & 0.900000 & 0.951793 \\
1.95 & 71 & 8 & 0.898734 & 0.871760 \\
2.05 & 50 & 20 & 0.714286 & 0.700645 \\
2.15 & 35 & 31 & 0.530303 & 0.446240 \\
2.25 & 7 & 49 & 0.125000 & 0.217190 \\
2.35 & 1 & 12 & 0.076923 & 0.087196 \\
\hline
\end{array}\]
Bảng 4.4. Xác suất uớc đoán để nguời tiêu dùng thichs nồng
độ chất béo có trong nuớc sốt
Ví dụ 2.2. Điều tra một số người về ảnh hường của yếu tố
tuổi đối với việc mắc căn bệnh tim mạch vành CHĐ (CHD: coronary heart
desease) có bảng dữ liệu sau:
\[\begin{array}{ccc|ccc}
stt & CHD & Tuổi & stt & CHD & Tuổi \\
\hline 1 & No & 39 & 16 & Yes & 46 \\
2 & No & 46 & 17 & No & 38 \\
3 & No & 48 & 18 & No & 39 \\
4 & Yes & 61 & 19 & No & 44 \\
5 & No & 46 & 20 & No & 48 \\
6 & No & 43 & 21 & Yes & 47 \\
7 & Yes & 63 & 22 & No & 57 \\
8 & No & 45 & 23 & No & 54 \\
9 & No & 52 & 24 & No & 60 \\
10 & No & 43 & 25 & No & 55 \\
11 & No & 50 & 26 & No & 49 \\
12 & No & 43 & 27 & No & 51 \\
13 & No & 46 & 28 & No & 48 \\
14 & No & 41 & 29 & No & 40 \\
15 & Yes & 38 & 30 & No & 52 \\
\end{array}\]
Bảng 4.5 Dữ liệu về tuổi và CHD
Xét ảnh hưởng của tuổi \(\mathrm{X}\) lên khả năng bị bệnh tim mạch
vành. Đặt \(\mathrm{Y}=1\), nếu người
được khảo sát bị bệnh tim mạch vành, \(\mathrm{Y}=0\), nếu người đó không bị bệnh
tim, thì \(\mathrm{Y}\) là biến đáp ứng
nhị phân và: \(\pi(x)=E(Y=1 \mid
X=x)=\) \(P(Y=1 \mid X=x)\) là
xác suất để một người ở tuổi \(x\) mắc
bệnh tim mạch vành.
Xét mô hình logistic: \(\log
\left[\frac{\pi(x)}{1-\pi(x)}\right]=\beta_0+\beta_1 x\)
Chạy hồi quy với dữ liệu ở bảng 4.5 , có bảng 4.6:
Từ đó nhận được mô hình logistic ước lượng:
\[\log
\frac{\hat{\pi}(x)}{1-\tilde{\pi}(x)}=-5,712685+0,083797 \cdot
x\]
hay: \(\hat{\pi}(x)=\frac{1}{1+\exp
(5,712685-0,083797 . x)}\). Do \(\hat{\beta}_1=0,083797>0\), nên nguy cơ
mắc bệnh tim mạch vành là tăng theo độ tuổi. Theo mô hình này, ta có:
\(\hat{\pi}(50)=\frac{1}{1+\exp
(5,712685-0,083797.50)}=0,179044\) tức là xác suất dự đoán một
người ở tuổi 50 mắc bệnh tim mạch vành là \(17,9044 \%\).
Dependent Variable: \(\mathrm{Y}\)
Method: ML - Binary Logit (Quadratic hill climbing) Sample: 1 30
| C |
-5.712685 |
3.650899 |
-1.564734 |
0.1176 |
| X |
0.083797 |
0.072121 |
1.161902 |
0.2453 |
| McFadden R-squared |
0.050901 |
Mean dependent var |
0.166667 |
| Akaike info criterion |
0.988588 |
Sum squared resid |
3.837446 |
| Schwarz criterion |
1.082001 |
Log likelihood |
-12.82882 |
| Hannan-Quinn criter. |
1.018471 |
Deviance |
25.65763 |
| Restr. deviance |
27.03367 |
Restr.log likelihood |
-13.51684 |
| LR statistic |
1.376042 |
Avg.log likelihood |
-0.427627 |
| Prob(LR statistic) |
0.240776 |
|
|
| Obs with Dep=0 |
25 |
Total obs |
30 |
| Obs with Dep=1 |
5 |
|
|
Bảng 4.6. Kết quả hồi quy vể ảnh hưởng của tuổi đến khả năng
mắc bệnh tim mạch vành
Ví dụ 3. Có dữ liệu về các yếu tố có thể gây nguy cơ tử vong
(4), là: age (tuổi) (1), hypotension (2) (hạ huyết áp), procalcitonin
(ng/ml) (3) (là tiền chất của hormone calcitonin, một công cự hiệu quả
để phân biệt nhiễm khuẩn với nhiễm virus) đối với bệnh nhân nhiễm trùng
huyết.
\[\begin{array}{|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline(1) & (2) & (3) & (4) & (1) & (2) & (3)
& (4) & (1) & (2) & (3) & (4) \\
\hline 78 & 1 & 0.7 & 1 & 70 & 1 & 1.1 & 1
& 35 & 0 & 0.8 & 0 \\
80 & 1 & 0.4 & 1 & 45 & 1 & 0.6 & 1 & 55
& 0 & 0.7 & 0 \\
50 & 1 & 0.7 & 1 & 60 & 1 & 1.3 & 1 & 60
& 0 & 0.5 & 0 \\
55 & 1 & 0.8 & 1 & 90 & 1 & 3.3 & 1 & 70
& 0 & 0.1 & 0 \\
60 & 1 & 0.9 & 1 & 40 & 0 & 0.2 & 1 & 32
& 0 & 0.2 & 0 \\
65 & 1 & 1.0 & 1 & 60 & 1 & 0.7 & 0 & 30
& 0 & 0.4 & 0 \\
70 & 1 & 0.5 & 1 & 60 & 0 & 0.5 & 0 & 44
& 0 & 0.5 & 0 \\
75 & 1 & 0.7 & 1 & 30 & 0 & 0.2 & 0 & 29
& 0 & 0.2 & 0 \\
80 & 1 & 1.2 & 1 & 28 & 0 & 0.3 & 0 & 30
& 0 & 0.7 & 0 \\
50 & 1 & 0.8 & 1 & 30 & 0 & 0.4 & 0 & 40
& 0 & 0.1 & 0 \\
\hline
\end{array}\]
Bảng 4.7. Các yếu tố gây nguy cơ tư vong đối với bệnh nhân
bị nhiễm trùng huyết
Trước hết ta phân tích sự tác động của yếu tố \(X_2\) là (2) (huyết áp thấp) đến nguy cơ tử
vong (Death) qua mô hình logistic:
Từ bảng dữ liệu 4.6 , bằng phương pháp \(\mathrm{ML}\), Eviews cho ta kết quả hồi
quy:
LS0tDQp0aXRsZTogIkdpw6FvIHRyw6xuaCBQVERMxJBUIg0KYXV0aG9yOiAicHRwaHVvbmciDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclSDolTTolUywgJWQgLSAlbSAtICVZJylgIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBkZl9wcmludDogcGFnZWQNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogIHBkZl9kb2N1bWVudDoNCiAgICBleHRyYV9kZXBlbmRlbmNpZXM6DQogICAgICB2aWV0bmFtOiB1dGY4DQogICAgdG9jOiB5ZXMNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICB3b3JkX2RvY3VtZW50Og0KICAgIHRvYzogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCmdlb21ldHJ5Og0KICAgICAgLSBpbm5lcj0zY20NCiAgICAgIC0gb3V0ZXI9NGNtDQogICAgICAtIHRvcD0zY20NCiAgICAgIC0gYm90dG9tPTRjbQ0KICAgICAgLSBoZWFkc2VwPTIycHQNCiAgICAgIC0gaGVhZGhlaWdodD0xMXB0DQogICAgICAtIGZvb3Rza2lwPTMzcHQNCiAgICAgIC0gaWdub3JlaGVhZA0KICAgICAgLSBpZ25vcmVmb290DQogICAgICAtIGhlaWdodHJvdW5kZWQNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgb3B0aW9ucyhkaWdpdHMgPSA0KSwgIGF0dHIuc291cmNlPScubnVtYmVyTGluZXMnKQ0KYGBgDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokVmFyKFUpID0gVmFyKFkpID0gXHBpKDEgLSBccGkpJA0KDQpraMO0bmcgcGjhuqNpIGzDoCBo4bqxbmcgc+G7kSAoZG8gJFxwaSA9IFxwaSh4KSQgKnRoYXkqIMSR4buVaSB0aGVvIHgpLCBoxqFuIG7hu69hIG5oaeG7hXUgKlUqIGtow7RuZyBjw7MgcGjDom4gcGjhu5FpIGNodeG6qW4uIELhu59pIHbhuq15IHBoxrDGoW5nIHBow6FwIGLDrG5oIHBoxrDGoW5nIGLDqSBuaOG6pXQgxJHhu4MgdMOsbSBjw6FjIMaw4bubYyBsxrDhu6NuZyAkXGhhdFxiZXRhJCwgJFxoYXRcYmV0YXtfMX0kIGNobyBjw6FjIGjhu4cgc+G7kSAkXGJldGEkLCAkXGJldGF7XzF9JCBsw6Aga2jDtG5nIHRow61jaCBo4bujcC4NCg0KxJDhu5FpIHbhu5tpIG3DtCBow6xuaCBsb2dpc3RpYywgbmfGsOG7nWkgdGEgZMO5bmcgcGjGsMahbmcgcGjDoXAgaOG7o3AgbMO9IGPhu7FjIMSR4bqhaSAoTE06IE1heGltdW0gTGlrZWx5aG9vZCkgKMSRw6MgxJHGsOG7o2MgxJHhu4EgY+G6rXAgdHJvbmcgY2jGsMahbmcgdHLGsOG7m2MpIMSR4buDIMaw4bubYyBsxrDhu6NuZy4gQ+G7pSB0aOG7gyBsw6AgdMOsbSAkXGJldGF7XzB9JCwgJFxiZXRhe18xfSQgbMOgbSBj4buxYyDEkeG6oWkgaMOgbSBo4bujcCBsw706DQoNCiRMKFxiZXRhe18wfSQsICRcYmV0YXtfMX0kKSA9ICRccHJvZF97aT0xfV4yJCAkW1xwaSh4X3tpfSldJCRee3lfe2l9fSQuWzEtJFxwaSh4X3tpfSldJCRee3sxLXlfe2l9fX0kICg0LjEuNCkNCg0KKE5o4bqvYyBs4bqhaTogKCgkeF97MX0kLCAkeV97MX0kKSwgKCR4X3syfSx5X3syfSQsLi4uLCgkeF97bn0sIHlfe259JCkpIGzDoCBnacOhIHRy4buLIG3huqt1IHF1YW4gc8OhdCBj4bq3cCBiaeG6v24gKFgsWSkpIMav4bubYyBsxrDhu6NuZyBo4bujcCBsw70gY+G7sWMgxJHhuqFpIGNobyAoJFxiZXRhX3swfSwgXGJldGFfezF9JCkgbMOgIG5naGnhu4dtICgkXGhhdFxiZXRhLFxoYXRcYmV0YV97MX0kKSBj4bunYSBwaMawxqFuZyB0csOsbmggaOG7o3AgbMO9Og0KDQokXGxlZnRce1xiZWdpbnthcnJheX17bH1cZnJhY3tccGFydGlhbCBcbG9nIFxsZWZ0XHtMXGxlZnQoXGJldGFfMCwgXGJldGFfMVxyaWdodClccmlnaHRcfX17XHBhcnRpYWwgXGJldGFfMH09MCBcXCBcZnJhY3tccGFydGlhbCBcbG9nIFxsZWZ0XHtMXGxlZnQoXGJldGFfMCwgXGJldGFfMVxyaWdodClccmlnaHRcfX17XHBhcnRpYWwgXGJldGFfMX09MFxlbmR7YXJyYXl9XHJpZ2h0LiQgKDQuMS41KQ0KDQpEbyB0w61uaCBjaOG6pXQgcGjhu6ljIHThuqFwIGPhu6dhIGjhu4cgcGjGsMahbmcgdHLDrG5oIGjhu6NwIGzDvSBtw6AgbmdoaeG7h20gY+G7p2EgY2jDum5nIHRoxrDhu51uZyDEkcaw4bujYyBnaeG6o2kgeOG6pXAgeOG7iSBi4bqxbmcgY8OhYyB0aHXhuq10IHRvw6FuIHThu5FpIMawdSBow7NhIChuaMawIEdyYWRpZW50IERlc2NlbnQsIE5ld3RvbiAtLSBSYXBoc29uLCBTb2x2ZXIsLi4uKSDEkcaw4bujYyDhu6luZyBk4bulbmcgdHJvbmcgY8OhYyBwaOG6p24gbeG7gW0uIFRyb25nIHTDoGkgbGnhu4d1IG7DoHksIGNow7puZyB0YSBz4bq9IHPhu60gZOG7pW5nIHBo4bqnbiBt4buBbSBFdmlld3MuDQoNCkvhur90IHF14bqjIGNo4bqheSBo4buTaSBxdXkgbG9naXN0aWMgdHLDqm4gRXZpZXdzIMSRxrDhu6NjIGNobyBi4bufaSBi4bqjbmcgc2F1Og0KDQp8IFZhcmlhYmxlIHwgQ29lZmZpY2llbnQgfCBTdGQuRXJyb3IgIHwgei1TdGF0aXN0aWMgfCAgUHJvYi4gIHwNCnw6LS0tLS0tLS06fDotLS0tLS0tLS0tLTp8Oi0tLS0tLS0tLS06fDotLS0tLS0tLS0tLTp8Oi0tLS0tLS06fA0KfCAgICBDICAgICB8IC4uLi4uLi4uLi4uIHwgLi4uLi4uLi4uLiB8IC4uLi4uLi4uLi4uIHwgLi4uLi4uLiB8DQp8ICAgIFggICAgIHwgLi4uLi4uLi4uLi4gfCAuLi4uLi4uLi4uIHwgLi4uLi4uLi4uLi4gfCAuLi4uLi4uIHwNCg0KfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwNCnwgTWNGYWRkZW4gUi1zcXVhcmVkICAgIHwgLi4uLi4uLi4uLiB8IE1lYW4gZGVwZW5kZW50IHZhciAgIHwgLi4uLi4uLi4uLi4gfA0KfCBTLkQgZGVwZW5kZW50IHZhciAgICAgfCAuLi4uLi4uLi4uIHwgUy5FLiBvZiByZWdyZXNzaW9uICAgfCAuLi4uLi4uLi4uLiB8DQp8IEFrYWlrZSBpbmZvIGNyaXRlcmlvbiB8IC4uLi4uLi4uLi4gfCBTdW0gc3F1YXJlZCByZXNpZCAgICB8IC4uLi4uLi4uLi4uIHwNCnwgU2Nod2FyeiBjcml0ZXJpb24gICAgIHwgLi4uLi4uLi4uLiB8IExvZyBsaWtlbGlob29kICAgICAgIHwgLi4uLi4uLi4uLi4gfA0KfCBIYW5uYW4tUXVpbm4gY3JpdGVyLiAgfCAuLi4uLi4uLi4uIHwgRGV2aWFuY2UgICAgICAgICAgICAgfCAuLi4uLi4uLi4uLiB8DQp8IFJlc3RyLiBkZXZpYW5jZSAgICAgICB8IC4uLi4uLi4uLi4gfCBSZXN0ci5sb2cgbGlrZWxpaG9vZCB8IC4uLi4uLi4uLi4uIHwNCnwgTFIgc3RhdGlzdGljICAgICAgICAgIHwgLi4uLi4uLi4uLiB8IEF2Zy5sb2cgbGlrZWxpaG9vZCAgIHwgLi4uLi4uLi4uLi4gfA0KfCBQcm9iKExSIHN0YXRpc3RpYykgICAgfCAuLi4uLi4uLi4uIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8DQoNCk9icyB3aXRoIERlcD0wIC4uLi4uIFRvdGFsIG9icw0KDQpPYnMgd2l0aCBEZXA9MSAuLi4uLg0KDQrCoMKgwqDCoMKgKkLhuqNuZyA0LjEuIELhuqNuZyBr4bq/dCBxdeG6oyBo4buTaSBxdXkgY2hvIG3DtCBow6xuaCBsb2dpc3RpYyoNCg0KR2nhuqNpIHRow61jaCBi4bqjbmcga+G6v3QgcXXhuqMgaOG7k2kgcXV5OiAtLSBDw6FjIHPhu5EgdHJvbmcgY+G7mXQgKCpDb2VmZmljaWVudCopIGzhuqduIGzGsOG7o3QgbMOgICRcaGF0XGJldGFfezB9LFxoYXRcYmV0YV97MX0kLCB0cm9uZyBj4buZdCAoKlN0ZC4gRXJyb3IqKSBsw6AgKnNlKihcaGF0XGJldGEqezB9KSwqc2UqKFxoYXRcYmV0YXsxfSksIHRyb25nIGPhu5l0ICh6LVN0YXRpc3RpYyopIGzDoCBnacOhIHRy4buLIGPhu6dhIHRo4buRbmcga8OqIFogdsOgIHRyb25nIGPhu5l0ICgqUHJvYlwqKSBsw6AgUC12YWx1ZShaKS4NCg0KKi0tKiAqTWNGYWRkZW4gUi1zcXVhcmVkKjogSOG7hyBz4buRIE1jRmFkZGVuICRSXjIkLCBoYXkgR2nhuqMgJFJeMiQgKFBzZXVkby0gJFJeMiQpLg0KDQoqLS0qICpTLkQuIGRlcGVuZGVudCB2YXIqOiDEkOG7mSBs4buHY2ggY2h14bqpbiBj4bunYSBiaeG6v24gcGjhu6UgdGh14buZYy4NCg0KKi0tKiAqQWthaWtlIGluZm8gY3JpdGVyaW9uKjogQ2jhu4kgc+G7kSBBSUM7ICpTY2h3YXJ6IGNyaXRlcmlvbio6IENo4buJIHPhu5EgU0M7DQoNCiotLSogKlJlc3RyLiBkZXZpYW5jZSo6IFNhaSBs4buHY2ggaOG6oW4gY2jhur87ICpMUiBzdGF0aXN0aWMqOiBHacOhIHRy4buLIGPhu6dhIHRo4buRbmcga8OqIExSOw0KDQoqLS0qICpQcm9iKExSIHN0YXRpc3RpYykqOiBQIC0tIHZhbHVlIChMUik7ICpMb2cgbGlrZWxpaG9vZCo6IEdpw6EgdHLhu4sgY+G7p2EgaMOgbSBsb2cgbGlrZWxpaG9vZDsNCg0KKi0tKiAqRGV2aWFuY2UqOiBzYWkgbOG7h2NoIChnaeG7kW5nIG5oxrAgKkRldmlhdGlvbiosIG5oxrBuZyB0aMaw4budbmcgZMO5bmcgduG7m2kgYmnhur9uIMSRw6FwIOG7qW5nIHLhu51pIHLhuqFjKTsNCg0KKi0tKiAqUmVzdHIuIGxvZyBsaWtlbGlob29kKjogR2nDoSB0cuG7iyBj4bunYSBow6BtICpsb2cgbGlrZWxpaG9vZCogaOG6oW4gY2jhur8uDQoNClThu6sga+G6v3QgcXXhuqMgaOG7k2kgcXV5LCB0YSBuaOG6rW4gxJHGsOG7o2MgbcO0IGjDrG5oIGjhu5NpIHF1eSDGsOG7m2MgbMaw4bujbmc6ICQkDQpcbG9nIFxsZWZ0KFxmcmFje1xoYXR7XHBpfSh4KX17MS1caGF0e1xwaX0oeCl9XHJpZ2h0KT1caGF0e1xiZXRhfV8wK1xoYXR7XGJldGF9XzEgeCQkICg0LjEuNikNCg0KaGF5OiAkJFxoYXR7XHBpfSh4KT1cZnJhY3sxfXsxK1xleHAgXGxlZnQoLVxoYXR7XGJldGF9XzAtXGhhdHtcYmV0YX1fMSB4XHJpZ2h0KX0kJCAoNC4xLjZhKQ0KDQpUaMO0bmcgcXVhIG3DtCBow6xuaCDGsOG7m2MgbMaw4bujbmcsIG5nxrDhu51pIHRhIG114buRbiBk4buxIGLDoW8gJFxtYXRocm17WX09MSQsIGhheSAkXG1hdGhybXtZfT0wJCwgYuG6sW5nIGPDoWNoIGThu7EgYsOhbyBjaG8geMOhYyBzdeG6pXQgJFxwaSh4KSQgYuG7n2kgJFxoYXR7XHBpfSh4KSQgxJHhu5NuZyB0aOG7nWkgbmfGsOG7nWkgdGEgdGjGsOG7nW5nIMSR4bq3dCByYSBt4buZdCBuZ8aw4buhbmcgJFxtYXRocm17dH0oMDxcbWF0aHJte3R9PDEpJCDEkeG7gyBy4buTaSBk4buxIGLDoW8gY2hvICRcbWF0aHJte1l9JCBi4bufaTogJCQNClxoYXR7WX09IFxiZWdpbntjYXNlc30xICYgXHRleHQgeyBu4bq/dSBk4buxIGLDoW8gfSBcaGF0e1xwaX0oeCkgXGdlcSB0IFxcIDAgJiBcdGV4dCB7IG7hur91IGThu7EgYsOhbyB9IFxoYXR7XHBpfSh4KTx0XGVuZHtjYXNlc30kJA0KDQpUcm9uZyB0aOG7sWMgdOG6vyBuZ8aw4budaSB0YSB0aMaw4budbmcgxJHhurd0IG5nxrDhu6FuZyAkXG1hdGhybXt0fT0wLDUkLiBM4bqleSBuZ8aw4buhbmcgJFxtYXRocm17dH09MCw1JCwgdGEgY8OzIGdpw6EgdHLhu4sgZOG7sSBiw6FvIGNobyAkXG1hdGhybXtZfSQgbMOgOg0KDQokJA0KXGhhdHtZfT1cbGVmdFx7XGJlZ2lue2FycmF5fXtsbH0NCjEgJiBcdGV4dCB7IG7hur91IH0gXGhhdHtccGl9KHgpIFxnZXEgMCw1IFxcDQowICYgXHRleHQgeyBu4bq/dSB9IFxoYXR7XHBpfSh4KTwwLDUNClxlbmR7YXJyYXl9LCBcdGV4dCB7IGhheTogfSBcaGF0e1l9PSBcYmVnaW57Y2FzZXN9MSAmIFx0ZXh0IHsgbuG6v3UgfSBcaGF0e1xiZXRhfV8wK1xoYXR7XGJldGF9XzEgeCBcZ2VxIDAgXFwNCjAgJiBcdGV4dCB7IG7hur91IH0gXGhhdHtcYmV0YX1fMCtcaGF0e1xiZXRhfV8xIHg8MFxlbmR7Y2FzZXN9XHJpZ2h0LiQkDQoNCk1p4buBbiBk4buxIGLDoW8gxJHGsOG7o2MgY2jhu4kgcmEgdHLDqm4gdHLhu6VjIHPhu5EgbmjGsCBzYXU6ICQkIFxiZWdpbntlcXVhdGlvbn1cbGVmdC5ceHJpZ2h0YXJyb3dbXHN1YnN0YWNre3ggXFwgXHRleHQgeyBUcnXhu51uZyBoxqFwIH0gXGhhdHtcYmV0YX1fMT4wfV17XGxlZnQoWT0wIFxxdWFkLVxmcmFje1xoYXR7XGJldGF9fXtcaGF0e1xiZXRhfV8xfShZPTFccmlnaHQufVxyaWdodCkgXHhyaWdodGFycm93W1xzdWJzdGFja3t4IFxcIFx0ZXh0IHsgVHJ14budbmcgaMahcCB9IFxoYXR7XGJldGF9XzE8MH1deyhZPTEpLVxmcmFje1xoYXR7XGJldGF9XzB9e1xoYXR7XGJldGF9XzF9KFk9MCl9IFxlbmR7ZXF1YXRpb259JCQNCg0KQ2jhurNuZyBo4bqhbiwgbuG6v3UgY8OzIG3DtCBow6xuaCB14bubYyBsxrDhu6NuZzogJFxsb2cgXGxlZnQoXGZyYWN7XGhhdHtccGl9KHgpfXsxLVx3aWRlaGF0e1xwaX0oeCl9XHJpZ2h0KT0tMiszIHgkIHRow6wg4bupbmcgduG7m2kgJHg9MCw3NT4tXGZyYWN7XGhhdHtcYmV0YX1fMH17XGhhdHtcYmV0YX1fMX09XGZyYWN7Mn17M30kLCB0YSBk4buxIGLDoW8gJFxoYXR7WX09MSQgKHThu6ljIGzDoCAiVGjDoG5oIGPDtG5nIik7IMO6bmcgduG7m2kgJHg9MCw1PC1cZnJhY3tcd2lkZWhhdHtcYmV0YX1fMH17XHdpZGVoYXR7XGJldGF9XzF9PVxmcmFjezJ9ezN9JCwgdGEgZOG7sSBiw6FvICRcaGF0e1l9PTAkICh04bupYyBsw6AgIlRo4bqldCBi4bqhaSIpLg0KDQojIyAqKjQuMS40LiBDw6FjIHbDrSBk4bulKioNCg0KVsOtIGThu6UgMS4gS2jhuqNvIHPDoXQgc+G7sSDGsGEgdGjDrWNoIGPhu6dhIG5nxrDhu51pIGTDuW5nIMSR4buRaSB24bubaSBjw6FjIG7hu5NuZyDEkeG7mSBjaOG6pXQgYsOpbyBraMOhYyBuaGF1IHRyb25nIG3hu5l0IGxv4bqhaSBuxrDhu5tjIHNhdWNlDQoNCmBgYHs9dGV4fQ0KXGJlZ2lue2FycmF5fXt8bHxjfGN8Y3xjfGN8Y3xjfGN8Y3x9DQpcaGxpbmVcdGV4dCB7TuG7k25nIMSR4buZIGNo4bqldCBiw6lvfSAmIDEuMzUgJiAxLjYwICYgMS43NSAmIDEuODUgJiAxLjk1ICYgMi4wNSAmIDIuMTUgJiAyLjI1ICYgMi4zNSBcXA0KXGhsaW5lXHRleHQge1Phu5EgbmfGsOG7nWkgdGjDrWNofSAmIDEzICYgMTkgJiA2NyAmIDQ1ICYgNzEgJiA1MCAmIDM1ICYgNyAmIDEgXFwNClxobGluZVx0ZXh0IHtT4buRIG5nxrDhu51pIGtow7RuZyB0aMOtY2h9ICYgMCAmIDAgJiAyICYgNSAmIDggJiAyMCAmIDMxICYgNDkgJiAxMiBcXA0KXGhsaW5lDQpcZW5ke2FycmF5fQ0KYGBgDQrCoMKgwqDCoMKgKkLhuqNuZyA0LjIuIMSQaeG7gXUgdHJhIHbhu4EgcGjhuqNuIOG7qW5nIGPhu6dhIG5ndeG7nWkgdGnDqnUgZMO5bmcgxJHhu5FpIHbhu5tpIG7hu5NuZyDEkeG7mSBjaOG6pXQgYsOpbyBj4bunYSBuxrDhu5tjIHPhu5F0Kg0KDQpIw6N5IHBow6JuIHTDrWNoIHBo4bqjbiDhu6luZyBj4bunYSBuZ8aw4budaSB0acOqdSBkw7luZyDEkeG7kWkgduG7m2kgbuG7k25nIMSR4buZIGNo4bqldCBiw6lvIHRyb25nIGxv4bqhaSBuxrDhu5tjIHNhdWNlIG7DoHkgdGjDtG5nIHF1YSBtw7QgaMOsbmggbG9naXN0aWMuDQoNCkdp4bqjaS7hu54gxJHDonkgbuG7k25nIMSR4buZIGNo4bqldCBiw6lvICRcbWF0aHJte1h9JCB0cm9uZyBuxrDhu5tjIHNhdWNlIG7DoHkgdMOhYyDEkeG7mW5nIHbDoG8gcGjhuqNuIMawbmcgY+G7p2EgbmfGsOG7nWkgdGnDqnUgZMO5bmcsIG7Dqm4gJFxtYXRocm17WH0kIGzDoCBiaeG6v24gZ2nhuqNpIHRow61jaCAoaGF5IGJp4bq/biBk4buxIGLDoW8pLiBQaOG6o24g4bupbmcgJFxtYXRocm17WX0kIGPhu6dhIG5nxrDhu51pIHRpw6p1IGTDuW5nIGzDoCBiaeG6v24gxJHDoXAg4bupbmcgxJHhu4tuaCB0w61uaCB24bubaSBoYWkgdGh14buZYyB0w61uaCAoVGjDrWNoIC8gS2jDtG5nIHRow61jaCkuIEfDoW4gc+G7kSAxIGNobyB0aHXhu5ljIHTDrW5oICJUaMOtY2giIHbDoCBz4buRIDAgY2hvIHRodcO0YyB0w61uaCAiS2jDtG5nIHRow61jaCIsIHRhIGPDsyBZIGzDoCBiaeG6v24gbmfhuqt1IG5oacOqbiBjw7MgcGjDom4gcGjhu5FpICQwLTEkLCB24bubaSB4w6FjIHN14bqldCDEkeG7gyBt4buZdCBuZ8aw4budaSB0acOqdSBkw7luZyB0aMOtY2ggbsaw4bubYyBzYXVjZSBwaOG7pSB0aHXhu5ljIHbDoG8gbuG7k25nIMSR4buZIGNo4bqldCBiw6lvICR4JCBsw6A6ICRccGk9XHBpKHgpJC4gU+G7sSBsacOqbiBr4bq/dCBnaeG7r2EgJFxtYXRocm17WH0kIHbDoCAkXG1hdGhybXtZfSQgxJHGsOG7o2MgdGjhu4MgaGnhu4duIHF1YSBtw7QgaMOsbmggaOG7k2kgcXV5IGxvZ2lzdGljOiAkJA0KXGxvZyBcbGVmdFtcZnJhY3tccGkoeCl9ezEtXHBpKHgpfVxyaWdodF09XGJldGFfMCtcYmV0YV8xIC4geCAgICAgICAgICAgICAoYSkNCiQkDQoNClThu6sgYuG6o25nIGThu68gbGnhu4d1IDQuMiwgY2jhuqF5IGjhu5NpIHF1eSBsb2dpc3RpYyDGsOG7m2MgbMaw4bujbmcgY2hvIG3DtCBow6xuaCAoYSksIGPDsyBi4bqjbmcgaOG7k2kgcXV5DQoNCkRlcGVuZGVudCBWYXJpYWJsZTogJFkkIE1ldGhvZDogTUwgLSBCaW5hcnkgTG9naXQgKFF1YWRyYXRpYyBoaWxsIGNsaW1iaW5nKSBTYW1wbGU6IDEgNDM1DQoNCnwgVmFyaWFibGUgfCBDb2VmZmljaWVudCB8IFN0ZC5FcnJvciB8IHotU3RhdGlzdGljIHwgUHJvYi4gIHwNCnw6LS0tLS0tLS06fDotLS0tLS0tLS0tLTp8Oi0tLS0tLS0tLTp8Oi0tLS0tLS0tLS0tOnw6LS0tLS0tOnwNCnwgICAgQyAgICAgfCAgMjIuNzA4MzMgICB8IDIuMjY2MTI1ICB8ICAxMC4wMjA3OCAgIHwgMC4wMDAwIHwNCnwgICAgWCAgICAgfCAgLTEwLjY2MjQyICB8IDEuMDgyNjMyICB8ICAtOS44NDg2MDkgIHwgMC4wMDAwIHwNCg0KfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS18DQp8IE1jRmFkZGVuIFItc3F1YXJlZCAgICB8IDAuMzYxOTMzIHwgTWVhbiBkZXBlbmRlbnQgdmFyICAgfCAwLjcwODA0NiAgfA0KfCBTLkQgZGVwZW5kZW50IHZhciAgICAgfCAwLjQ1NTE4NSB8IFMuRS4gb2YgcmVncmVzc2lvbiAgIHwgMC4zNDg0MTYgIHwNCnwgQWthaWtlIGluZm8gY3JpdGVyaW9uIHwgMC43Nzk4NDIgfCBTdW0gc3F1YXJlZCByZXNpZCAgICB8IDUyLjU2MzMzICB8DQp8IFNjaHdhcnogY3JpdGVyaW9uICAgICB8IDAuNzk4NTc5IHwgTG9nIGxpa2VsaWhvb2QgICAgICAgfCAtMTY3LjYxNTcgfA0KfCBIYW5uYW4tUXVpbm4gY3JpdGVyLiAgfCAwLjc4NzIzOCB8IERldmlhbmNlICAgICAgICAgICAgIHwgMzM1LjIzMTQgIHwNCnwgUmVzdHIuIGRldmlhbmNlICAgICAgIHwgNTI1LjM4NjEgfCBSZXN0ci5sb2cgbGlrZWxpaG9vZCB8IC0yNjIuNjkzMCB8DQp8IExSIHN0YXRpc3RpYyAgICAgICAgICB8IDE5MC4xNTQ3IHwgQXZnLmxvZyBsaWtlbGlob29kICAgfCAtMC4zODUzMjMgfA0KfCBQcm9iKExSIHN0YXRpc3RpYykgICAgfCAwLjAwMDAwMCB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwNCg0KfCAgICAgICAgICAgICAgICB8ICAgICB8ICAgICAgICAgICB8ICAgICB8DQp8LS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tLXwtLS0tLXwNCnwgT2JzIHdpdGggRGVwPTAgfCAxMjcgfCBUb3RhbCBvYnMgfCA0MzUgfA0KfCBPYnMgd2l0aCBEZXA9MSB8IDMwOCB8ICAgICAgICAgICB8ICAgICB8DQoNCsKgwqDCoMKgwqAqQuG6o25nIDQuMy4gS+G6v3QgcXXhuqMgaOG7k2kgcXV5IHbhu4EgcGjhuqNuIOG7qW5nIGPhu6dhIG5ndeG7nWkgdGnDqnUgZMO5bmcgxJHhu5FpIHbhu5tpIG7hu5NuZyDEkeG7mSBjaOG6pXQgYsOpbyB0cm9uZyBudeG7m2Mgc+G7kXQqDQoNClThu6sgxJHDsyBuaOG6rW4gxJHGsOG7o2MgbcO0IGjDrG5oIMaw4bubYyBsxrDhu6NuZzogJCQNClxsb2cgXGxlZnQoXGZyYWN7XGhhdHtccGl9KHgpfXsxLVxoYXR7XHBpfSh4KX1ccmlnaHQpPVxoYXR7XGJldGF9XzArXGhhdHtcYmV0YX1fMSB4PTIyLDcwODMzLTEwLDY2MjQyIC4geA0KJCQgLSBU4bu3IGzhu4cgY8aw4bujYyB0aMOtY2ggbuG7k25nIMSR4buZICR4JCBj4bunYSBjaOG6pXQgYsOpbyBuxrDhu5tjIHNhdWNlIMaw4bubYyB0w61uaCBsw6A6ICQkDQpcd2lkZXRpbGRle1x0ZXh0IHsgT2RkcyB9fT1cZnJhY3tcaGF0e1xwaX0oeCl9ezEtXGhhdHtccGl9KHgpfT1cZXhwIFxsZWZ0KFxoYXR7XGJldGF9XzArXGhhdHtcYmV0YX1fMSB4XHJpZ2h0KT1cZXhwICgyMiw3MDgzMy0xMCw2NjI0MiAuIHgpDQokJA0KDQpDaOG6s25nIGjhuqFuOiAkXHF1YWQkIG9kZHMoMS43NSkgJD1cZnJhY3tcaGF0e1xwaX0oMS43NSl9ezEtXGhhdHtccGl9KDEuNzUpfT1cZnJhY3swLjk4Mjg2MX17MC4wMTcxMzl9PTU3LDM0NjQ2MSQNCg0KY2hvIHRo4bqleSDhu58gbuG7k25nIMSR4buZIGNo4bqldCBiw6lvIGzDoCAxLDc1LCBraOG6oyBuxINuZyBuZ8aw4budaSB0acOqdSBkw7luZyB0aMOtY2ggbsaw4bubYyBzYXVjZSBuw6B5IMaw4bubYyB0w61uaCBn4bqlcCA1NywzNDY0NjEgbOG6p24ga2jhuqMgbsSDbmcga2jDtG5nIHRow61jaC4NCg0KQ+G7mXQgKkZpdHRlZCogdHJvbmcgYuG6o25nIGvhur90IHF14bqjIGNow61uaCBsw6AgY+G7mXQgZ2nDoSB0cuG7iyAkXGhhdHtccGl9XGxlZnQoeF9pXHJpZ2h0KSQNCg0KYGBgez10ZXh9DQpcYmVnaW57YXJyYXl9e3xjfGN8Y3xjfGN8fQ0KXGhsaW5lIFxtYXRocm17WH0gJiB7VGjDrWNofSAmIHsgS2jDtG5nIHRow61jaCB9ICYgZl9pICYge1xoYXR7XHBpfVxsZWZ0KHhfaVxyaWdodCl9IFxcDQpcaGxpbmUgMS4zNSAmIDEzICYgMCAmIDEuMDAwMDAwICYgMC45OTk3NTUgXFwNCjEuNjAgJiAxOSAmIDAgJiAxLjAwMDAwMCAmIDAuOTk2NDg5IFxcDQoxLjc1ICYgNjcgJiAyICYgMC45NzEwMTQgJiAwLjk4Mjg2MSBcXA0KMS44NSAmIDQ1ICYgNSAmIDAuOTAwMDAwICYgMC45NTE3OTMgXFwNCjEuOTUgJiA3MSAmIDggJiAwLjg5ODczNCAmIDAuODcxNzYwIFxcDQoyLjA1ICYgNTAgJiAyMCAmIDAuNzE0Mjg2ICYgMC43MDA2NDUgXFwNCjIuMTUgJiAzNSAmIDMxICYgMC41MzAzMDMgJiAwLjQ0NjI0MCBcXA0KMi4yNSAmIDcgJiA0OSAmIDAuMTI1MDAwICYgMC4yMTcxOTAgXFwNCjIuMzUgJiAxICYgMTIgJiAwLjA3NjkyMyAmIDAuMDg3MTk2IFxcDQpcaGxpbmUNClxlbmR7YXJyYXl9DQpgYGANCsKgwqDCoMKgwqAqQuG6o25nIDQuNC4gWMOhYyBzdeG6pXQgdeG7m2MgxJFvw6FuIMSR4buDIG5ndeG7nWkgdGnDqnUgZMO5bmcgdGhpY2hzIG7hu5NuZyDEkeG7mSBjaOG6pXQgYsOpbyBjw7MgdHJvbmcgbnXhu5tjIHPhu5F0Kg0KDQoqVsOtIGThu6UgMi4yKi4gxJBp4buBdSB0cmEgbeG7mXQgc+G7kSBuZ8aw4budaSB24buBIOG6o25oIGjGsOG7nW5nIGPhu6dhIHnhur91IHThu5EgdHXhu5VpIMSR4buRaSB24bubaSB2aeG7h2MgbeG6r2MgY8SDbiBi4buHbmggdGltIG3huqFjaCB2w6BuaCBDSMSQIChDSEQ6IGNvcm9uYXJ5IGhlYXJ0IGRlc2Vhc2UpIGPDsyBi4bqjbmcgZOG7ryBsaeG7h3Ugc2F1Og0KDQpgYGB7PXRleH0NClxiZWdpbnthcnJheX17Y2NjfGNjY30gDQpzdHQgJiBDSEQgJiBUdeG7lWkgJiBzdHQgJiBDSEQgJiBUdeG7lWkgXFwNClxobGluZSAxICYgTm8gJiAzOSAmIDE2ICYgWWVzICYgNDYgXFwNCjIgJiBObyAmIDQ2ICYgMTcgJiBObyAmIDM4IFxcDQozICYgTm8gJiA0OCAmIDE4ICYgTm8gJiAzOSBcXA0KNCAmIFllcyAmIDYxICYgMTkgJiBObyAmIDQ0IFxcDQo1ICYgTm8gJiA0NiAmIDIwICYgTm8gJiA0OCBcXA0KNiAmIE5vICYgNDMgJiAyMSAmIFllcyAmIDQ3IFxcDQo3ICYgWWVzICYgNjMgJiAyMiAmIE5vICYgNTcgXFwNCjggJiBObyAmIDQ1ICYgMjMgJiBObyAmIDU0IFxcDQo5ICYgTm8gJiA1MiAmIDI0ICYgTm8gJiA2MCBcXA0KMTAgJiBObyAmIDQzICYgMjUgJiBObyAmIDU1IFxcDQoxMSAmIE5vICYgNTAgJiAyNiAmIE5vICYgNDkgXFwNCjEyICYgTm8gJiA0MyAmIDI3ICYgTm8gJiA1MSBcXA0KMTMgJiBObyAmIDQ2ICYgMjggJiBObyAmIDQ4IFxcDQoxNCAmIE5vICYgNDEgJiAyOSAmIE5vICYgNDAgXFwNCjE1ICYgWWVzICYgMzggJiAzMCAmIE5vICYgNTIgXFwNClxlbmR7YXJyYXl9DQpgYGANCsKgwqDCoMKgwqAqQuG6o25nIDQuNSBE4buvIGxp4buHdSB24buBIHR14buVaSB2w6AgQ0hEKg0KDQpYw6l0IOG6o25oIGjGsOG7n25nIGPhu6dhIHR14buVaSAkXG1hdGhybXtYfSQgbMOqbiBraOG6oyBuxINuZyBi4buLIGLhu4duaCB0aW0gbeG6oWNoIHbDoG5oLiDEkOG6t3QgJFxtYXRocm17WX09MSQsIG7hur91IG5nxrDhu51pIMSRxrDhu6NjIGto4bqjbyBzw6F0IGLhu4sgYuG7h25oIHRpbSBt4bqhY2ggdsOgbmgsICRcbWF0aHJte1l9PTAkLCBu4bq/dSBuZ8aw4budaSDEkcOzIGtow7RuZyBi4buLIGLhu4duaCB0aW0sIHRow6wgJFxtYXRocm17WX0kIGzDoCBiaeG6v24gxJHDoXAg4bupbmcgbmjhu4sgcGjDom4gdsOgOiAkXHBpKHgpPUUoWT0xIFxtaWQgWD14KT0kICRQKFk9MSBcbWlkIFg9eCkkIGzDoCB4w6FjIHN14bqldCDEkeG7gyBt4buZdCBuZ8aw4budaSDhu58gdHXhu5VpICR4JCBt4bqvYyBi4buHbmggdGltIG3huqFjaCB2w6BuaC4NCg0KWMOpdCBtw7QgaMOsbmggbG9naXN0aWM6ICRcbG9nIFxsZWZ0W1xmcmFje1xwaSh4KX17MS1ccGkoeCl9XHJpZ2h0XT1cYmV0YV8wK1xiZXRhXzEgeCQNCg0KQ2jhuqF5IGjhu5NpIHF1eSB24bubaSBk4buvIGxp4buHdSDhu58gYuG6o25nIDQuNSAsIGPDsyBi4bqjbmcgNC42Og0KDQpU4burIMSRw7Mgbmjhuq1uIMSRxrDhu6NjIG3DtCBow6xuaCBsb2dpc3RpYyDGsOG7m2MgbMaw4bujbmc6DQoNCiQkXGxvZyBcZnJhY3tcaGF0e1xwaX0oeCl9ezEtXHRpbGRle1xwaX0oeCl9PS01LDcxMjY4NSswLDA4Mzc5NyBcY2RvdCB4JCQNCg0KaGF5OiAkXGhhdHtccGl9KHgpPVxmcmFjezF9ezErXGV4cCAoNSw3MTI2ODUtMCwwODM3OTcgLiB4KX0kLiBEbyAkXGhhdHtcYmV0YX1fMT0wLDA4Mzc5Nz4wJCwgbsOqbiBuZ3V5IGPGoSBt4bqvYyBi4buHbmggdGltIG3huqFjaCB2w6BuaCBsw6AgdMSDbmcgdGhlbyDEkeG7mSB0deG7lWkuIFRoZW8gbcO0IGjDrG5oIG7DoHksIHRhIGPDszogJFxoYXR7XHBpfSg1MCk9XGZyYWN7MX17MStcZXhwICg1LDcxMjY4NS0wLDA4Mzc5Ny41MCl9PTAsMTc5MDQ0JCB04bupYyBsw6AgeMOhYyBzdeG6pXQgZOG7sSDEkW/DoW4gbeG7mXQgbmfGsOG7nWkg4bufIHR14buVaSA1MCBt4bqvYyBi4buHbmggdGltIG3huqFjaCB2w6BuaCBsw6AgJDE3LDkwNDQgXCUkLg0KDQpEZXBlbmRlbnQgVmFyaWFibGU6ICRcbWF0aHJte1l9JCBNZXRob2Q6IE1MIC0gQmluYXJ5IExvZ2l0IChRdWFkcmF0aWMgaGlsbCBjbGltYmluZykgU2FtcGxlOiAxIDMwDQoNCnwgVmFyaWFibGUgfCBDb2VmZmljaWVudCB8IFN0ZC5FcnJvciB8IHotU3RhdGlzdGljIHwgUHJvYi4gIHwNCnw6LS0tLS0tLS06fDotLS0tLS0tLS0tLTp8Oi0tLS0tLS0tLTp8Oi0tLS0tLS0tLS0tOnw6LS0tLS0tOnwNCnwgICAgQyAgICAgfCAgLTUuNzEyNjg1ICB8IDMuNjUwODk5ICB8ICAtMS41NjQ3MzQgIHwgMC4xMTc2IHwNCnwgICAgWCAgICAgfCAgMC4wODM3OTcgICB8IDAuMDcyMTIxICB8ICAxLjE2MTkwMiAgIHwgMC4yNDUzIHwNCg0KfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS18DQp8IE1jRmFkZGVuIFItc3F1YXJlZCAgICB8IDAuMDUwOTAxIHwgTWVhbiBkZXBlbmRlbnQgdmFyICAgfCAwLjE2NjY2NyAgfA0KfCBBa2Fpa2UgaW5mbyBjcml0ZXJpb24gfCAwLjk4ODU4OCB8IFN1bSBzcXVhcmVkIHJlc2lkICAgIHwgMy44Mzc0NDYgIHwNCnwgU2Nod2FyeiBjcml0ZXJpb24gICAgIHwgMS4wODIwMDEgfCBMb2cgbGlrZWxpaG9vZCAgICAgICB8IC0xMi44Mjg4MiB8DQp8IEhhbm5hbi1RdWlubiBjcml0ZXIuICB8IDEuMDE4NDcxIHwgRGV2aWFuY2UgICAgICAgICAgICAgfCAyNS42NTc2MyAgfA0KfCBSZXN0ci4gZGV2aWFuY2UgICAgICAgfCAyNy4wMzM2NyB8IFJlc3RyLmxvZyBsaWtlbGlob29kIHwgLTEzLjUxNjg0IHwNCnwgTFIgc3RhdGlzdGljICAgICAgICAgIHwgMS4zNzYwNDIgfCBBdmcubG9nIGxpa2VsaWhvb2QgICB8IC0wLjQyNzYyNyB8DQp8IFByb2IoTFIgc3RhdGlzdGljKSAgICB8IDAuMjQwNzc2IHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfA0KDQp8ICAgICAgICAgICAgICAgIHwgICAgIHwgICAgICAgICAgIHwgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tfA0KfCBPYnMgd2l0aCBEZXA9MCB8IDI1ICB8IFRvdGFsIG9icyB8IDMwICB8DQp8IE9icyB3aXRoIERlcD0xIHwgNSAgIHwgICAgICAgICAgIHwgICAgIHwNCg0KwqDCoMKgwqDCoCpC4bqjbmcgNC42LiBL4bq/dCBxdeG6oyBo4buTaSBxdXkgduG7gyDhuqNuaCBoxrDhu59uZyBj4bunYSB0deG7lWkgxJHhur9uIGto4bqjIG7Eg25nIG3huq9jIGLhu4duaCB0aW0gbeG6oWNoIHbDoG5oKg0KDQoqVsOtIGThu6UgMyouIEPDsyBk4buvIGxp4buHdSB24buBIGPDoWMgeeG6v3UgdOG7kSBjw7MgdGjhu4MgZ8OieSBuZ3V5IGPGoSB04butIHZvbmcgKDQpLCBsw6A6IGFnZSAodHXhu5VpKSAoMSksIGh5cG90ZW5zaW9uICgyKSAoaOG6oSBodXnhur90IMOhcCksIHByb2NhbGNpdG9uaW4gKG5nL21sKSAoMykgKGzDoCB0aeG7gW4gY2jhuqV0IGPhu6dhIGhvcm1vbmUgY2FsY2l0b25pbiwgbeG7mXQgY8O0bmcgY+G7sSBoaeG7h3UgcXXhuqMgxJHhu4MgcGjDom4gYmnhu4d0IG5oaeG7hW0ga2h14bqpbiB24bubaSBuaGnhu4VtIHZpcnVzKSDEkeG7kWkgduG7m2kgYuG7h25oIG5ow6JuIG5oaeG7hW0gdHLDuW5nIGh1eeG6v3QuDQoNCmBgYHs9dGV4fQ0KXGJlZ2lue2FycmF5fXt8Y3xjfGN8Y3xjfGN8Y3xjfGN8Y3xjfGN8fQ0KXGhsaW5lKDEpICYgKDIpICYgKDMpICYgKDQpICYgKDEpICYgKDIpICYgKDMpICYgKDQpICYgKDEpICYgKDIpICYgKDMpICYgKDQpIFxcDQpcaGxpbmUgNzggJiAxICYgMC43ICYgMSAmIDcwICYgMSAmIDEuMSAmIDEgJiAzNSAmIDAgJiAwLjggJiAwIFxcDQo4MCAmIDEgJiAwLjQgJiAxICYgNDUgJiAxICYgMC42ICYgMSAmIDU1ICYgMCAmIDAuNyAmIDAgXFwNCjUwICYgMSAmIDAuNyAmIDEgJiA2MCAmIDEgJiAxLjMgJiAxICYgNjAgJiAwICYgMC41ICYgMCBcXA0KNTUgJiAxICYgMC44ICYgMSAmIDkwICYgMSAmIDMuMyAmIDEgJiA3MCAmIDAgJiAwLjEgJiAwIFxcDQo2MCAmIDEgJiAwLjkgJiAxICYgNDAgJiAwICYgMC4yICYgMSAmIDMyICYgMCAmIDAuMiAmIDAgXFwNCjY1ICYgMSAmIDEuMCAmIDEgJiA2MCAmIDEgJiAwLjcgJiAwICYgMzAgJiAwICYgMC40ICYgMCBcXA0KNzAgJiAxICYgMC41ICYgMSAmIDYwICYgMCAmIDAuNSAmIDAgJiA0NCAmIDAgJiAwLjUgJiAwIFxcDQo3NSAmIDEgJiAwLjcgJiAxICYgMzAgJiAwICYgMC4yICYgMCAmIDI5ICYgMCAmIDAuMiAmIDAgXFwNCjgwICYgMSAmIDEuMiAmIDEgJiAyOCAmIDAgJiAwLjMgJiAwICYgMzAgJiAwICYgMC43ICYgMCBcXA0KNTAgJiAxICYgMC44ICYgMSAmIDMwICYgMCAmIDAuNCAmIDAgJiA0MCAmIDAgJiAwLjEgJiAwIFxcDQpcaGxpbmUNClxlbmR7YXJyYXl9DQpgYGANCsKgwqDCoMKgwqAqQuG6o25nIDQuNy4gQ8OhYyB54bq/dSB04buRIGfDonkgbmd1eSBjxqEgdMawIHZvbmcgxJHhu5FpIHbhu5tpIGLhu4duaCBuaMOibiBi4buLIG5oaeG7hW0gdHLDuW5nIGh1eeG6v3QqDQoNClRyxrDhu5tjIGjhur90IHRhIHBow6JuIHTDrWNoIHPhu7EgdMOhYyDEkeG7mW5nIGPhu6dhIHnhur91IHThu5EgJFhfMiQgbMOgICgyKSAoaHV54bq/dCDDoXAgdGjhuqVwKSDEkeG6v24gbmd1eSBjxqEgdOG7rSB2b25nIChEZWF0aCkgcXVhIG3DtCBow6xuaCBsb2dpc3RpYzoNCg0KVOG7qyBi4bqjbmcgZOG7ryBsaeG7h3UgNC42ICwgYuG6sW5nIHBoxrDGoW5nIHBow6FwICRcbWF0aHJte01MfSQsIEV2aWV3cyBjaG8gdGEga+G6v3QgcXXhuqMgaOG7k2kgcXV5Og0K