\(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:

Variable Coefficient Std.Error z-Statistic Prob.
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

Variable Coefficient Std.Error z-Statistic Prob.
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

Variable Coefficient Std.Error z-Statistic Prob.
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