1 TÓM TẮT 2019_Generalized Linear Models With Examples in R_9781441901170

1.1 GIỚI THIỆU


Cuốn sách “Generalized Linear Models With Examples in R” của Peter K. Dunn và Gordon K. Smyth, thuộc loạt sách Springer Texts in Statistics, xuất bản năm 2018 bởi Springer Nature, cung cấp hướng dẫn chuyên sâu về Mô hình Tuyến tính Tổng quát (GLMs) và cách triển khai bằng phần mềm R.

1.2 CHƯƠNG 1: MÔ HÌNH THỐNG KÊ (Satistical Models).


Chương 1 giới thiệu về mô hình thống kê, đặt biệt nhấn mạnh về mô hình tuyến tính tổng quát. Ngoài ra, nội dung chương còn trình bày các quy ước toán học để mô tả dữ liệu, tầm quan trọng của việc vẽ đồ thị dữ liệu và cách mã hóa số cho các biến phi số. Hai thành phấn cơ bả của mô hình thống kê là thành phần hệ thống và ngẫu nhiên cũng được giới thiệu, tiếp theo là lớp các mô hình hồi quy. Nội dung còn đề cập tới việc giải thích mô hình so sánh mô hình thống kê với mô hình vật lý, mục đích của mô hình thống kê và hai tiêu chí đánh giá mô hình (độ chính xác và tính tiết kiệm). Cuối cùng là thảo luận về những hạn chế của mô hình thống kê, tính tổng quát của mô hình và giới thiệu sơ lược về việc sử dụng R cho mô hình thống kê.
* Conventions for Describing Data (Các Quy ước để Mô tả Dữ liệu): Việc hiểu các ký hiệu, thuật ngữ và quy ước cơ bản như kiểu dữ liệu, biến số, và các ký hiệu toán học là nền tảng để tiếp cận bất kỳ phân tích thống kê nào và giúp đảm bảo giao tiếp hiệu quả về dữ liệu.

  • Statistical Models Describe Both Random and Systematic Features of Data (Mô hình Thống kê Mô tả Cả Đặc Điểm Ngẫu Nhiên và Có Hệ Thống của Dữ liệu):Đây là cốt lõi của việc xây dựng mô hình thống kê, nhấn mạnh khả năng nắm bắt cả sự biến động không thể đoán trước và các cấu trúc có quy luật, mối quan hệ tiềm ẩn trong dữ liệu để hiểu rõ hơn về quá trình sinh ra dữ liệu.
  • Regression Models (Mô hình Hồi quy):Mô hình hồi quy là một công cụ thống kê quan trọng và phổ biến để khám phá và định lượng mối quan hệ giữa một biến phụ thuộc và một hoặc nhiều biến độc lập, cho phép dự đoán và giải thích các xu hướng.
  • Interpreting Regression Models (Giải thích các Mô hình Hồi quy): Việc xây dựng mô hình chỉ là một phần, khả năng giải thích ý nghĩa thực tế của các hệ số hồi quy, các kiểm định thống kê và độ phù hợp của mô hình là then chốt để rút ra thông tin hữu ích và đưa ra kết luận có ý nghĩa từ dữ liệu.
  • All Models Are Wrong, but Some Are Useful (Tất cả các Mô hình đều Sai, nhưng Một số Mô hình thì Hữu ích): Đây là một triết lý quan trọng trong mô hình hóa thống kê, thừa nhận rằng mọi mô hình chỉ là sự đơn giản hóa của thực tế phức tạp, nhưng vẫn nhấn mạnh giá trị thực tiễn của chúng trong việc cung cấp những hiểu biết sâu sắc và đưa ra quyết định dựa trên dữ liệu.

1.3 CHƯƠNG 2: MÔ HÌNH HỒI QUY TUYẾN TÍNH

  • Linear Regression Models Defined (Định nghĩa Mô hình Hồi quy Tuyến tính): Đề mục này thiết lập các khái niệm cơ bản về mô hình hồi quy tuyến tính, bao gồm biến phụ thuộc, biến độc lập và giả định về mối quan hệ tuyến tính giữa chúng.

  • Simple Linear Regression (Hồi quy Tuyến tính Đơn giản): Bắt đầu với trường hợp một biến độc lập giúp người đọc nắm vững các nguyên tắc cơ bản của phương pháp bình phương tối thiểu (least-squares estimation) để ước lượng các hệ số và đánh giá sự phù hợp của mô hình.

  • Estimation for Multiple Regression (Ước lượng cho Hồi quy Đa biến): Khi có nhiều biến độc lập ảnh hưởng đến biến phụ thuộc, đề mục này giải thích cách phương pháp bình phương tối thiểu được mở rộng để ước lượng các hệ số riêng lẻ cho từng biến. Một điểm quan trọng là việc giải thích ý nghĩa của mỗi hệ số khi các biến độc lập khác được giữ không đổi (ceteris paribus), giúp hiểu được tác động riêng biệt của từng yếu tố.

  • Fitting Linear Regression Models Using R (Ước lượng Mô hình Hồi quy Tuyến tính bằng R): Đề mục này không chỉ hướng dẫn cú pháp cơ bản để sử dụng hàm lm() trong R mà còn có thể đề cập đến cách nhập dữ liệu, kiểm tra dữ liệu ban đầu (ví dụ: vẽ biểu đồ biểu đồ tán xạ), và cách xem các kết quả đầu ra quan trọng từ mô hình (ví dụ: ước lượng hệ số, sai số chuẩn, giá trị \(p,R^2\)). Nó có thể bao gồm cả việc sử dụng các gói và hàm khác để hỗ trợ việc phân tích hồi quy.

  • Suy diễn cho Mô hình Hồi quy Tuyến tính: Kiểm định t Thực hiện suy diễn thống kê cho các tham số trong mô hình hồi quy tuyến tính, đặc biệt là sử dụng kiểm định t. Nó có thể bắt đầu bằng việc nhắc lại các giả định của mô hình hồi quy tuyến tính chuẩn (Normal Linear Regression Models). Sau đó, chương này sẽ thảo luận về phân phối của các ước lượng hệ số\(\widehat{\text{se}}(\hat{\beta}_j)\) Nội dung chính sẽ là cách xây dựng và thực hiện các kiểm định giả thuyết (Hypothesis Tests) cho từng hệ số hồi quy để xác định xem chúng có khác biệt đáng kể so với không hay không. Cuối cùng, chương này có thể đề cập đến việc xây dựng khoảng tin cậy (Confidence Intervals) cho các hệ số hồi quy (βj) và cho giá trị trung bình của biến phản hồi (μy tại một giá trị cụ thể của các biến dự đoán).

  • So sánh các mô hình lồng nhau Phương pháp chính được đề cập là phân tích phương sai (ANOVA), hoặc phân tích độ lệch cho GLMs, để đánh giá sự cải thiện phù hợp của mô hình phức tạp hơn. Phân tích phương sai tuần tự cũng được giới thiệu để xem xét đóng góp của từng biến. Chương này có thể thảo luận về các trường hợp hồi quy song song và độc lập. Nguyên tắc tính biên, quan trọng khi xây dựng mô hình có tương tác, cũng được đề cập. Tóm lại, chương này cung cấp các công cụ để lựa chọn mô hình lồng nhau phù hợp.

  • Công cụ Hỗ trợ Lựa chọn Mô hình
    Các công cụ và phương pháp khác nhau để hỗ trợ quá trình lựa chọn mô hình hồi quy tuyến tính phù hợp bao gồm các kỹ thuật như thêm và loại bỏ biến một cách thủ công dựa trên các tiêu chí thống kê hoặc kiến thức về lĩnh vực nghiên cứu. Chương này cũng có khả năng thảo luận về các phương pháp lựa chọn mô hình tự động, chẳng hạn như quy trình stepwise (tiến, lùi, hoặc cả hai), mặc dù có thể kèm theo những cảnh báo về việc sử dụng chúng một cách mù quáng. Cuối cùng, chương này có thể đề cập đến các phản đối hoặc hạn chế của các quy trình lựa chọn mô hình từng bước, nhấn mạnh tầm quan trọng của việc lựa chọn mô hình dựa trên cả thống kê và ý nghĩa thực tế.

1.4 CHƯƠNG 3: MÔ HÌNH HỒI QUY TUYẾN TÍNH: CHẨN ĐOÁN VÀ XÂY DỰNG MÔ HÌNH

1.4.1 Chẩn đoán

Phần này tập trung vào việc kiểm tra các giả định của mô hình hồi quy tuyến tính và phát hiện các vấn đề tiềm ẩn có thể ảnh hưởng đến tính hợp lệ của mô hình và các kết quả suy diễn. Các nội dung chính bao gồm:
* Các Giả định (Assumptions): Chương này sẽ xem xét các giả định quan trọng của mô hình hồi quy tuyến tính từ góc độ thực tế, bao gồm các loại giả định (ví dụ: tuyến tính, phương sai không đổi, độc lập, phân phối chuẩn). Nó cũng có thể thảo luận về các thang đo (measurement scales) và các hệ quả khi các giả định này bị vi phạm.
* Phần Dư (Residuals): Chương này sẽ giới thiệu khái niệm phần dư (sai số ước tính) và cách sử dụng chúng để đánh giá sự phù hợp của mô hình. Các loại đồ thị phần dư khác nhau sẽ được trình bày để kiểm tra tính tuyến tính, phương sai không đổi, và sự độc lập của các sai số.
* Điểm Dữ liệu Ngoại lai và Ảnh hưởng (Outliers and Influential Observations): Phần này sẽ tập trung vào việc xác định và xử lý các điểm dữ liệu ngoại lai (có giá trị khác biệt đáng kể so với phần còn lại) và các quan sát có ảnh hưởng lớn đến các ước lượng tham số của mô hình. Các công cụ như phần dư student hóa và các thước đo ảnh hưởng (influential measures) có thể được giới thiệu.
* Thuật ngữ cho Phần dư (Terminology for Residuals): Có thể có một phần làm rõ các thuật ngữ khác nhau liên quan đến phần dư.

1.4.2 Xây dựng Mô hình (Model-Building)

Phần này tập trung vào các kỹ thuật để cải thiện mô hình hồi quy khi các vấn đề chẩn đoán được phát hiện hoặc khi muốn xây dựng một mô hình tốt hơn. Các nội dung chính bao gồm:
* Các Biện pháp Khắc phục các Vấn đề Đã Xác định (Remedies: Fixing Identified Problems): Khi các giả định bị vi phạm, chương này sẽ thảo luận về các phương pháp để khắc phục chúng.
* Biến Đổi Phản hồi (Transforming the Response): Một trong những biện pháp khắc phục phổ biến là biến đổi biến phản hồi để đạt được tính tuyến tính, phương sai không đổi hoặc phân phối gần chuẩn hơn. Chương này có thể giới thiệu các loại phép biến đổi khác nhau, bao gồm thang lũy thừa (ladder of powers) và phép biến đổi Box-Cox.
* Biến Đổi Đơn giản của Các Biến Covariate: tập trung vào việc áp dụng các hàm toán học cơ bản lên các biến giải thích trong mô hình hồi quy. Mục đích chính của việc này là để làm tuyến tính hóa mối quan hệ giữa biến giải thích và biến phản hồi, điều này có thể giúp mô hình phù hợp hơn với dữ liệu. Các phép biến đổi thường được sử dụng bao gồm lấy logarit khi mối quan hệ có tính chất tăng hoặc giảm theo cấp số nhân, lấy căn bậc hai khi sự tác động của biến giảm dần, hoặc sử dụng hàm nghịch đảo khi tác động mạnh ở giá trị nhỏ và yếu dần ở giá trị lớn.

1.5 CHƯƠNG 4: Ý TƯỞNG ƯỚC LƯỢNG KHẢ NĂNG XẢY RA CỰC ĐẠI

Ước lượng khả năng Xảy ra Cực đại (Maximum Likelihood Estimation)

  • Ý tưởng cơ bản: MLE là một phương pháp thống kê mạnh mẽ nhằm xác định các giá trị tham số ẩn của một mô hình xác suất. Mục tiêu chính là tìm ra bộ tham số mà khi đó, xác suất (hoặc mật độ xác suất) của việc quan sát được dữ liệu thực tế là cao nhất. Nói một cách khác, chúng ta đang cố gắng “làm cho” dữ liệu đã xảy ra trở nên “khả năng” nhất có thể dưới mô hình giả định.
  • Nguyên tắc cốt lõi: Phương pháp MLE dựa trên việc xây dựng hàm khả năng (likelihood function), ký hiệu thường là \(\mathcal{L}(\theta|\mathbf{y})\) trong đó θ là vector các tham số chưa biết và y là dữ liệu quan sát được. Hàm khả năng này thực chất là hàm mật độ xác suất (hoặc hàm khối lượng xác suất) của dữ liệu, nhưng được xem như một hàm của các tham số θ khi dữ liệu y đã cố định. Nguyên tắc MLE là tìm giá trị \(\widehat{\theta}\) mà cực đại hóa hàm khả năng này.
  • Điểm quan trọng: MLE đặc biệt quan trọng và hữu ích khi làm việc với các loại dữ liệu có phân phối khác với phân phối chuẩn, nơi các phương pháp dựa trên giả định về sai số chuẩn (như bình phương tối thiểu thông thường) có thể không còn hiệu quả hoặc dẫn đến các ước lượng không tối ưu. MLE cung cấp một khuôn khổ lý thuyết thống nhất và linh hoạt cho việc ước lượng tham số trong rất nhiều loại mô hình khác nhau, từ các mô hình rời rạc (như Bernoulli, Poisson, nhị thức) đến các mô hình liên tục (như Gamma, mũ).
  • Ước lượng Khả năng Cực đại (MLE): Giá trị \(\widehat{\theta}\) mà đạt được giá trị lớn nhất của hàm khả năng được gọi là ước lượng khả năng cực đại (maximum likelihood estimator). MLE là một điểm trong không gian tham số mà tại đó, mô hình “phù hợp” nhất với dữ liệu đã quan sát theo nghĩa là làm cho dữ liệu đó có khả năng xảy ra cao nhất. Ước lượng này thường được ký hiệu bằng cách thêm dấu mũ lên trên ký hiệu tham số, ví dụ \(\widehat{\theta}\).
  • Tìm MLE:trong thực tế, việc trực tiếp cực đại hóa hàm khả năng đôi khi phức tạp, do đó người ta thường làm việc với logarit của hàm khả năng (log-likelihood function), ký hiệu \[l(\theta|\mathbf{y}) = \log \mathcal{L}(\theta|\mathbf{y})\] Vì logarit là một hàm tăng đơn điệu, việc cực đại hóa log-likelihood tương đương với việc cực đại hóa likelihood. Để tìm MLE, chúng ta thường lấy đạo hàm (hoặc đạo hàm riêng đối với nhiều tham số) của log-likelihood theo các tham số, đặt chúng bằng không, và giải hệ phương trình thu được. Các nghiệm của hệ phương trình này là các ứng viên cho MLE, và chúng ta cần kiểm tra điều kiện đạo hàm bậc hai để đảm bảo đó là điểm cực đại.
  • Đánh giá độ chính xác: Độ chính xác của các ước lượng MLE có thể được đánh giá thông qua thông tin (information), thường được đo bằng độ cong của log-likelihood function tại MLE. Thông tin lớn cho thấy log-likelihood có đỉnh nhọn, ngụ ý rằng ước lượng là chính xác hơn (ít biến động hơn). Sai số chuẩn (standard error) của MLE, một thước đo độ biến động của ước lượng, thường được ước tính dựa trên nghịch đảo của thông tin (hoặc nghịch đảo của ma trận thông tin trong trường hợp nhiều tham số).

Thuật toán Fisher Scoring
Phần này trình bày thuật toán Fisher scoring như một phương pháp lặp để tính toán các ước lượng khả năng cực đại, đặc biệt khi không thể giải phương trình điểm số một cách trực tiếp. Thuật toán này sử dụng ma trận thông tin kỳ vọng để cập nhật các ước lượng tham số qua các lần lặp cho đến khi đạt được sự hội tụ. Đây là một phương pháp tối ưu hóa thường được sử dụng cho các mô hình phức tạp.
Kiểm định Giả thuyết
Phần này tập trung vào việc sử dụng phương pháp ước lượng khả năng cực đại (MLE) để thực hiện kiểm định giả thuyết về các tham số của mô hình. Khả năng xảy ra các loại kiểm định bao gồm ba phương pháp tiệm cận chính cho mẫu lớn: kiểm định tỷ số khả năng (Likelihood Ratio Test - LRT), kiểm định Wald, và kiểm định điểm số (Score Test). Cả ba kiểm định này đều dựa trên lý thuyết tiệm cận và thường có phân phối chi bình phương (\(X^2\)) dưới giả thuyết không khi kích thước mẫu đủ lớn. Việc lựa chọn kiểm định nào có thể phụ thuộc vào tính toán, các đặc tính tiệm cận cụ thể, và liệu chúng ta đang kiểm định một hay nhiều tham số.
Cơ sở của các kiểm định này nằm ở các thuộc tính tiệm cận của MLE. MLE được chứng minh là nhất quán (converges to the true parameter value khi kích thước mẫu tăng lên), phân phối tiệm cận chuẩn (asymptotically normal), và hiệu quả tiệm cận (asymptotically efficient, có phương sai nhỏ nhất trong lớp các ước lượng không chệch tiệm cận). Kiểm định tỷ số khả năng so sánh sự phù hợp của mô hình đầy đủ với sự phù hợp của mô hình bị ràng buộc theo giả thuyết không. Kiểm định Wald dựa trên khoảng cách giữa ước lượng MLE và giá trị tham số dưới giả thuyết không, sử dụng sai số chuẩn ước tính từ ma trận thông tin. Kiểm định điểm số đánh giá độ dốc của hàm log-khả năng tại giá trị tham số được chỉ định bởi giả thuyết không.
Kiểm định Wald có thể gặp vấn đề với dữ liệu nhị thức, đặc biệt khi các xác suất gần 0 hoặc 1, hoặc khi kích thước mẫu nhỏ. Trong những tình huống này, phân phối tiệm cận chuẩn có thể không phải là một xấp xỉ tốt cho phân phối thực tế của MLE. Điều này có thể dẫn đến các kiểm định Wald không chính xác, với tỷ lệ lỗi loại I thực tế khác đáng kể so với mức ý nghĩa danh nghĩa (ví dụ: α=0.05). Các vấn đề thường gặp bao gồm khoảng tin cậy Wald có thể nằm ngoài khoảng hợp lý của tham số (ví dụ: xác suất âm hoặc lớn hơn 1) và các kiểm định giả thuyết có thể cho kết quả không đáng tin cậy. Trong những trường hợp như vậy, kiểm định tỷ số khả năng (LRT) hoặc kiểm định điểm số (Score Test) thường được coi là đáng tin cậy hơn vì chúng dựa trên toàn bộ hàm khả năng và có các đặc tính tiệm cận tốt hơn trong một số tình huống.

1.6 CHƯƠNG 5: CÁC MÔ HÌNH TUYẾN TÍNH TỔNG QUÁT GLMs

  • Hai Thành phần của Mô hình Tuyến tính Tổng quát: Mô hình Tuyến tính Tổng quát (GLMs) được xây dựng dựa trên sự kết hợp của hai thành phần chính. Thành phần ngẫu nhiên chỉ định phân phối xác suất của biến phản hồi (Y), xác định cấu trúc ngẫu nhiên của dữ liệu. Thay vì chỉ giới hạn ở phân phối chuẩn, GLMs cho phép Y tuân theo các phân phối khác nhau như Bernoulli (cho dữ liệu nhị phân), Poisson (cho dữ liệu đếm), hoặc Gamma (cho dữ liệu liên tục dương). Thành phần hệ thống mô tả phần kỳ vọng của biến phản hồi thông qua một hàm tuyến tính của các biến giải thích (X). Cụ thể, nó tạo ra một phần tuyến tính (linear predictor), thường ký hiệu là \[\eta = \beta_0 + \beta_1 X_1 + \dots + \beta_p X_p.\]. Sự kết hợp linh hoạt của thành phần ngẫu nhiên và hệ thống cho phép GLMs mô hình hóa nhiều loại dữ liệu khác nhau.
  • Thành phần Ngẫu nhiên: Họ hàm mũ
    Thành phần ngẫu nhiên của GLMs thường thuộc về họ hàm mũ (Exponential Dispersion Models - EDMs). Họ này bao gồm nhiều phân phối xác suất phổ biến, có chung một dạng toán học cụ thể. Các phân phối trong họ hàm mũ được đặc trưng bởi một tham số vị trí (thường liên quan đến giá trị trung bình) và một tham số tỷ lệ (hoặc phân tán). Việc sử dụng EDMs mang lại nhiều lợi ích về mặt lý thuyết và tính toán cho GLMs, bao gồm các công thức thống nhất cho ước lượng tham số và suy diễn. Các ví dụ quan trọng về EDMs bao gồm phân phối chuẩn, Bernoulli, Poisson, nhị thức, Gamma và Inverse Gaussian, mỗi phân phối phù hợp với một loại dữ liệu cụ thể.
  • Thành phần Hệ thống
    Thành phần hệ thống của GLMs tập trung vào mối quan hệ giữa giá trị kỳ vọng của biến phản hồi và các biến giải thích. Thay vì trực tiếp mô hình hóa kỳ vọng bằng một hàm tuyến tính như trong mô hình tuyến tính thông thường, GLMs sử dụng một hàm liên kết (link function) để kết nối kỳ vọng của biến phản hồi (trên thang đo của phân phối của nó) với phần tuyến tính η. Hàm liên kết \[g(\mu) = \eta\] là một hàm đơn điệu và khả vi. Việc lựa chọn hàm liên kết cho phép GLMs mô hình hóa các mối quan hệ phi tuyến tính giữa biến phản hồi và các biến giải thích. Các hàm liên kết phổ biến bao gồm hàm logit (cho phân phối Bernoulli/nhị thức), hàm log (cho phân phối Poisson/Gamma), và hàm identity (trong trường hợp tương tự mô hình tuyến tính).
  • Định nghĩa Mô hình Tuyến tính Tổng quát
    Một Mô hình Tuyến tính Tổng quát (GLM) được định nghĩa bởi ba thành phần chính: (1) một thành phần ngẫu nhiên xác định phân phối xác suất của biến phản hồi Y, thường là một phân phối thuộc họ hàm mũ; (2) một thành phần hệ thống bao gồm một tổ hợp tuyến tính η của các biến giải thích; và (3) một hàm liên kết g đơn điệu và khả vi, liên kết giá trị kỳ vọng \(\mu=E(Y)\) của biến phản hồi với thành phần hệ thống thông qua \[g(\mu) = \eta\]. GLMs mở rộng mô hình tuyến tính thông thường bằng cách cho phép biến phản hồi có phân phối khác chuẩn và mô hình hóa mối quan hệ thông qua một hàm liên kết, làm cho chúng trở thành một công cụ mạnh mẽ để phân tích nhiều loại dữ liệu khác nhau.

1.7 CHƯƠNG 6:MÔ HÌNH TUYẾN TÍNH TỔNG QUÁT: ƯỚC LƯỢNG

Tính toán Khả năng cho β
Để ước lượng các hệ số hồi quy β trong GLMs, chúng ta cần xây dựng hàm khả năng dựa trên phân phối đã chọn cho biến phản hồi và hàm liên kết. Hàm khả năng này đo lường mức độ phù hợp của các giá trị tham số với dữ liệu quan sát được. Việc cực đại hóa hàm khả năng (hoặc log-hàm khả năng) sẽ cho ra các ước lượng MLE của β. Để tìm điểm cực đại, chúng ta thường lấy đạo hàm bậc nhất của log-hàm khả năng theo β, tạo ra các phương trình điểm số. Ma trận thông tin (bao gồm thông tin quan sát và thông tin kỳ vọng) là đạo hàm bậc hai âm của log-hàm khả năng, cung cấp thông tin về độ cong và độ chính xác của các ước lượng.
Tính toán Ước lượng của β
Các phương trình điểm số thu được từ log-hàm khả năng thường là phi tuyến và không thể giải trực tiếp. Do đó, các thuật toán численное lặp là cần thiết để tìm các ước lượng MLE của β. Các phương pháp phổ biến bao gồm thuật toán Newton-Raphson, sử dụng ma trận thông tin quan sát, và thuật toán Fisher Scoring, sử dụng ma trận thông tin kỳ vọng. Các thuật toán này bắt đầu với một giá trị khởi tạo và lặp đi lặp lại để cải thiện ước lượng cho đến khi đạt được sự hội tụ. Việc lựa chọn thuật toán có thể phụ thuộc vào đặc điểm của hàm khả năng và tốc độ hội tụ.
Độ Lệch Phần Dư
Độ lệch là một thước đo về sự khác biệt giữa mô hình hiện tại và một mô hình bão hòa (saturared model) hoàn toàn phù hợp với dữ liệu. Nó đóng vai trò tương tự như tổng bình phương sai số (SSE) trong mô hình tuyến tính thông thường, nhưng được định nghĩa dựa trên hàm khả năng. Độ lệch phần dư được sử dụng để đánh giá sự phù hợp tổng thể của mô hình GLM với dữ liệu. Nó cũng là công cụ quan trọng để so sánh các mô hình lồng nhau thông qua kiểm định tỷ số khả năng (likelihood ratio tests), tương tự như kiểm định F trong ANOVA của mô hình tuyến tính.
Sai số Chuẩn cho β
Sai số chuẩn của các ước lượng hệ số β đo lường độ biến động của chúng giữa các mẫu khác nhau và cung cấp thông tin về độ tin cậy của các ước lượng điểm. Chúng thường được ước tính dựa trên ma trận thông tin. Cụ thể, ma trận hiệp phương sai tiệm cận của \(\hat{\beta}\) là nghịch đảo của ma trận thông tin kỳ vọng (hoặc ma trận thông tin quan sát). Sai số chuẩn của mỗi hệ số là căn bậc hai của phần tử đường chéo tương ứng trong ma trận hiệp phương sai này. Sai số chuẩn được sử dụng để xây dựng khoảng tin cậy và thực hiện kiểm định giả thuyết cho các hệ số.

1.8 CHƯƠNG 7: MÔ HÌNH TUYẾN TÍNH TỔNG QUÁT : SUY DIỄN

Suy diễn cho các Hệ số Khi ϕ Đã Biết
Khi tham số phân tán ϕ được coi là đã biết, việc suy diễn cho các hệ số hồi quy β thường dựa trên tính chất tiệm cận của các ước lượng MLE. Kiểm định Wald được sử dụng để kiểm tra các giả thuyết về từng hệ số riêng lẻ bằng cách so sánh ước lượng với giá trị giả định dưới giả thuyết không, sử dụng sai số chuẩn ước tính từ ma trận thông tin. Khoảng tin cậy cho các hệ số cá nhân có thể được xây dựng dựa trên ước lượng và sai số chuẩn, thường sử dụng phân phối chuẩn tiệm cận. Các kiểm định và khoảng tin cậy tương tự cũng có thể được xây dựng cho giá trị kỳ vọng μ của biến phản hồi tại các giá trị cụ thể của các biến giải thích.
Kiểm định Tỷ số Khả năng để So sánh các Mô hình Lồng nhau: Kiểm định \(X^2\)
Kiểm định tỷ số khả năng (LRT) là một phương pháp mạnh mẽ để so sánh hai mô hình GLM lồng nhau, trong đó một mô hình là trường hợp đặc biệt của mô hình kia (có ít tham số hơn). Thống kê kiểm định LRT được tính bằng hai lần hiệu số giữa log-likelihood của mô hình phức tạp hơn và mô hình đơn giản hơn. Dưới giả thuyết không rằng mô hình đơn giản là đúng, thống kê LRT tiệm cận theo phân phối \(X^2\) với số bậc tự do bằng hiệu số tham số giữa hai mô hình. LRT đánh giá liệu việc thêm các tham số vào mô hình phức tạp hơn có cải thiện đáng kể sự phù hợp với dữ liệu hay không.
Các Kết quả Tiệm cận cho Mẫu Lớn
Nhiều kết quả suy diễn trong GLMs dựa trên lý thuyết tiệm cận, có nghĩa là chúng trở nên chính xác hơn khi kích thước mẫu tăng lên. Các ước lượng MLE của β có tính chất tiệm cận chuẩn, với ma trận hiệp phương sai tiệm cận được ước tính bằng nghịch đảo của ma trận thông tin (Fisher information). Các thống kê kiểm định như Wald, Score và LRT đều có phân phối tiệm cận \(X^2\) dưới giả thuyết không. Các kết quả tiệm cận này cung cấp cơ sở cho việc xây dựng các kiểm định giả thuyết và khoảng tin cậy trong GLMs, đặc biệt khi phân phối chính xác của các thống kê này là phức tạp hoặc chưa biết.
Kiểm định Độ Phù hợp Khi ϕ Đã Biết
Đánh giá mức độ phù hợp của mô hình GLM với dữ liệu là rất quan trọng để đảm bảo tính hợp lệ của các kết quả suy diễn. Khi tham số phân tán ϕ đã biết, có một số kiểm định độ phù hợp có thể được sử dụng. Kiểm định độ lệch (deviance goodness-of-fit test) so sánh độ lệch của mô hình hiện tại với độ lệch của một mô hình bão hòa. Kiểm định Pearson goodness-of-fit test dựa trên thống kê Pearson chi bình phương, đo lường sự khác biệt giữa tần số quan sát và tần số kỳ vọng theo mô hình. Cả hai kiểm định này đều có thể được so sánh với phân phối \(X^2\) để đánh giá liệu mô hình có phù hợp tốt với dữ liệu hay không.

1.9 CHƯƠNG 8: CÁC MÔ HÌNH TUYẾN TÍNH TỔNG QUÁT: CHẨN ĐOÁN

Các Giả định của GLMs
GLMs dựa trên một số giả định quan trọng, bao gồm sự độc lập của các quan sát, việc lựa chọn đúng họ phân phối cho biến phản hồi, và việc xác định đúng hàm liên kết cho mối quan hệ giữa giá trị kỳ vọng và phần tuyến tính. Khác với mô hình tuyến tính thông thường, GLMs không nhất thiết yêu cầu phương sai không đổi hoặc phân phối chuẩn cho sai số. Việc hiểu rõ các giả định cụ thể cho từng loại GLM (dựa trên phân phối được chọn) là then chốt để đảm bảo tính hợp lệ của các kết quả phân tích. Vi phạm các giả định này có thể dẫn đến ước lượng tham số bị chệch, sai số chuẩn không chính xác và các kết luận sai lầm.
Phần dư cho GLMs
Phần dư trong GLMs được định nghĩa khác biệt so với mô hình tuyến tính thông thường do sự đa dạng của các phân phối và hàm liên kết. Phần dư phản hồi đơn giản là hiệu số giữa giá trị quan sát và giá trị dự đoán trên thang đo của biến phản hồi, nhưng chúng thường không có phân phối và phương sai đồng nhất. Phần dư Pearson được chuẩn hóa theo phương sai dự kiến và hữu ích cho việc kiểm tra sự phù hợp của phương sai. Phần dư độ lệch dựa trên tỷ số khả năng và có các đặc tính tốt hơn cho việc kiểm tra sự phù hợp tổng thể của mô hình. Phần dư quantile cố gắng tạo ra các phần dư có phân phối gần chuẩn hơn. Việc lựa chọn loại phần dư phù hợp phụ thuộc vào mục tiêu chẩn đoán cụ thể.
Kiểm tra các Giả định của Mô hình
Việc kiểm tra các giả định của GLMs thường bao gồm việc sử dụng các biểu đồ phần dư khác nhau. Biểu đồ phần dư theo giá trị dự đoán có thể giúp phát hiện các vấn đề về tính phi tuyến trong thành phần hệ thống hoặc phương sai không đồng nhất. Biểu đồ phần dư theo các biến giải thích riêng lẻ có thể chỉ ra sự cần thiết của việc thêm các số hạng bậc cao hơn hoặc các biến tương tác. Biểu đồ Q-Q của phần dư quantile có thể được sử dụng để đánh giá sự phù hợp của phân phối đã chọn cho biến phản hồi. Việc kiểm tra tính độc lập thường khó khăn hơn và có thể dựa vào kiến thức về cách dữ liệu được thu thập hoặc sử dụng các kiểm định tự tương quan nếu có cấu trúc thời gian hoặc không gian.
Điểm Dữ liệu Ngoại lai và Ảnh hưởng
Các điểm dữ liệu ngoại lai (có giá trị khác biệt đáng kể so với phần còn lại) và các quan sát có ảnh hưởng (ảnh hưởng lớn đến các ước lượng tham số khi bị loại bỏ) có thể gây ra các vấn đề nghiêm trọng cho mô hình GLM. Các phương pháp phát hiện ngoại lai trong GLMs bao gồm việc xem xét các phần dư lớn (đặc biệt là phần dư student hóa hoặc độ lệch) và sử dụng các thống kê dựa trên khoảng cách (ví dụ: khoảng cách Cook’s). Các thước đo ảnh hưởng tương tự như trong mô hình tuyến tính (ví dụ: leverage) cũng có thể được điều chỉnh cho GLMs để xác định các quan sát có tác động lớn đến các hệ số. Việc xử lý các điểm này cần thận trọng và dựa trên hiểu biết về dữ liệu.
Các Biện pháp Khắc phục các Vấn đề Đã Xác định
Khi các vấn đề chẩn đoán được xác định, có nhiều biện pháp khắc phục có thể được áp dụng. Nếu có vấn đề về dạng hàm của thành phần hệ thống, việc thêm các số hạng đa thức hoặc các biến tương tác có thể hữu ích. Nếu phân phối của biến phản hồi được cho là không phù hợp, việc thử một họ phân phối khác trong họ hàm mũ có thể cần thiết. Các phép biến đổi trên biến phản hồi hoặc các biến giải thích đôi khi có thể giúp cải thiện tính tuyến tính hoặc tính đồng nhất của phương sai (nếu có). Đối với các điểm dữ liệu ngoại lai có ảnh hưởng, việc kiểm tra lại dữ liệu hoặc sử dụng các phương pháp hồi quy mạnh mẽ (robust regression) có thể được xem xét.

1.10 CHƯƠNG 9: MÔ HÌNH CHO TỶ LỆ: BINIMIAL GLMs

Mô hình hóa Tỷ lệ (Modelling Proportions): Nhiều nghiên cứu tập trung vào việc phân tích tỷ lệ, chẳng hạn như tỷ lệ cử tri ủng hộ một ứng viên hoặc tỷ lệ côn trùng chết sau khi tiếp xúc với các liều lượng thuốc trừ sâu khác nhau. Dữ liệu tỷ lệ thường được mô hình hóa một cách phù hợp bằng phân phối nhị thức, trong đó biến phản hồi là số lượng thành công trong một số lượng thử nghiệm cố định. Mô hình Tuyến tính Tổng quát (GLMs) cung cấp một khuôn khổ thống kê mạnh mẽ để phân tích các loại dữ liệu này, cho phép chúng ta khám phá mối quan hệ giữa tỷ lệ và các biến giải thích.
Các Hàm Liên kết (Link Functions): Trong bối cảnh của Binomial GLMs, việc lựa chọn hàm liên kết phù hợp là rất quan trọng để đảm bảo các giá trị dự đoán nằm trong khoảng từ 0 đến 1 và mô hình hóa mối quan hệ một cách hợp lý. Ba hàm liên kết phổ biến thường được sử dụng cho dữ liệu nhị thức bao gồm hàm logit (hoặc logistic), hàm probit và hàm complementary log-log. Hàm logit, là hàm liên kết chính tắc cho phân phối nhị thức, liên kết tỷ lệ với log của odds ratio. Hàm probit sử dụng hàm phân phối tích lũy của phân phối chuẩn, trong khi hàm complementary log-log thường được áp dụng trong phân tích dữ liệu sống còn hoặc khi có sự bất đối xứng trong phản ứng.
Odds, Odds Ratios và Hàm Liên kết Logit (Odds, Odds Ratios and the Logit Link): Để hiểu rõ hơn về hàm liên kết logit, cần nắm vững khái niệm về odds, được định nghĩa là tỷ lệ giữa xác suất xảy ra sự kiện và xác suất không xảy ra sự kiện. Odds ratio là tỷ số của odds giữa hai nhóm hoặc điều kiện khác nhau, thường được sử dụng để đo lường độ mạnh của mối liên hệ. Hàm liên kết logit thực hiện phép biến đổi logarit trên odds, tạo ra một mối quan hệ tuyến tính giữa log-odds và các biến giải thích trong mô hình GLM. Tính chất này giúp việc diễn giải các hệ số hồi quy trở nên trực quan hơn, vì chúng thể hiện sự thay đổi trong log-odds khi các biến giải thích thay đổi.
Quá Phân Tán (Overdispersion): Một vấn đề thường gặp khi làm việc với dữ liệu nhị thức là hiện tượng quá phân tán, xảy ra khi phương sai của dữ liệu lớn hơn so với phương sai dự kiến theo mô hình nhị thức. Quá phân tán có thể do nhiều nguyên nhân, chẳng hạn như sự phụ thuộc giữa các quan sát hoặc sự khác biệt không giải thích được giữa các đơn vị quan sát. Việc phát hiện và xử lý quá phân tán là rất quan trọng để đảm bảo các ước lượng sai số chuẩn và các kết quả kiểm định giả thuyết là đáng tin cậy. Các phương pháp xử lý có thể bao gồm việc sử dụng các mô hình quasi-likelihood hoặc các mô hình nhị thức mở rộng.
Khi Kiểm định Wald Thất Bại (When Wald Tests Fail): Kiểm định Wald, một phương pháp phổ biến để kiểm tra ý nghĩa của các hệ số trong GLMs, có thể gặp vấn đề khi làm việc với dữ liệu nhị thức, đặc biệt khi các tỷ lệ dự đoán gần với các giá trị giới hạn 0 hoặc 1, hoặc khi kích thước mẫu nhỏ. Trong những tình huống này, các xấp xỉ tiệm cận mà kiểm định Wald dựa vào có thể không còn chính xác, dẫn đến các kết luận sai lầm. Do đó, trong những trường hợp như vậy, các phương pháp kiểm định khác như kiểm định tỷ số khả năng (likelihood ratio test) thường được ưu tiên sử dụng vì chúng có các đặc tính tiệm cận tốt hơn.
Không có Kiểm định Độ Phù hợp Tốt cho Phản hồi Nhị phân (No Goodness-of-Fit for Binary Responses): Khi mỗi đơn vị quan sát chỉ có một thử nghiệm (ví dụ: m=1 cho dữ liệu Bernoulli), các kiểm định độ phù hợp truyền thống dựa trên việc so sánh tần số quan sát và tần số dự kiến thường không thể áp dụng được. Điều này là do không có đủ bậc tự do để ước tính sự khác biệt giữa mô hình và dữ liệu. Trong những trường hợp như vậy, việc đánh giá độ phù hợp của mô hình nhị phân thường dựa trên các phương pháp khác, chẳng hạn như kiểm tra phần dư hoặc đánh giá ý nghĩa thực tế của các hệ số.
Ví dụ Nghiên cứu (Case Study): Để minh họa việc áp dụng Binomial GLMs trong thực tế, chương này thường cung cấp một ví dụ nghiên cứu chi tiết. Ví dụ này có thể bao gồm việc mô hình hóa tỷ lệ côn trùng chết theo liều lượng thuốc trừ sâu, phân tích tỷ lệ thành công/thất bại trong một thí nghiệm, hoặc dự đoán tỷ lệ cử tri ủng hộ một đảng chính trị dựa trên các yếu tố nhân khẩu học. Thông qua ví dụ này, người đọc có thể hiểu rõ hơn về quy trình xây dựng, ước lượng, diễn giải và đánh giá một mô hình Binomial GLM.

1.11 CHƯƠNG 10: MÔ HÌNH CHO SỐ LƯỢNG: POISSON VÀ NEGATIVE BINOMIAL GLMs

Poisson GLMs: Phân phối Poisson là lựa chọn mặc định cho dữ liệu đếm, với đặc điểm phương sai bằng kỳ vọng \((V(\mu)=\mu)\) Hàm liên kết chính tắc là logarit (log), đảm bảo giá trị fitted\(\hat{\mu}\) luôn dương và mô hình hóa theo dạng \(log \mu = \eta\) trong đó η là bộ dự báo tuyến tính. Khi các biến giải thích đều là định tính, mô hình Poisson GLM được gọi là mô hình log-linear. Đối với Poisson GLMs, nên sử dụng phần dư quantile để đánh giá sự phù hợp của mô hình.
Mô hình hóa Tỷ lệ (Rates): Poisson GLMs có thể mô hình hóa tỷ lệ bằng cách đưa biện pháp phơi nhiễm (exposure) vào mô hình như một phần bù (offset) trong bộ dự báo tuyến tính theo dạng \(log \mu/T=\eta\) tương đương với \(log \mu =logT+\eta\) trong đó \(\text{log T}\) là offset đã biết lượng.
Bảng Tương tác: Mô hình Log-Linear:Khi dữ liệu đếm được tóm tắt trong bảng tương tác với các biến định tính, Poisson GLM trở thành mô hình log-linear. Ngược lại, khi mô hình Poisson log-linear bao gồm thuật ngữ hằng số, nó có thể tương đương với mô hình multinomial khi có điều kiện trên tổng lớn. “Nghịch lý Simpson” được đề cập trong mục này, nhưng không có thông tin chi tiết cụ thể được cung cấp.
Sự Tương đương giữa Binomial và Poisson GLMs: Trong các trường hợp cụ thể (ví dụ: dữ liệu tỷ lệ từ bảng tương tác khi tổng số thử nghiệm lớn và tỷ lệ thành công nhỏ), phân phối Binomial xấp xỉ phân phối Poisson. Điều này dẫn đến sự tương đương giữa Binomial GLM (với liên kết logit) và Poisson GLM (log-linear) trong những điều kiện này.
Negative Binomial GLMs: Mô hình này được sử dụng khi dữ liệu đếm có hiện tượng phân tán quá mức (overdispersion), tức là phương sai lớn hơn giá trị trung bình. Mô hình Negative Binomial có hàm phương sai dạng bậc hai \[V(\mu) = \mu + \mu^2 / k\] cho phép phương sai tăng nhanh hơn trung bình so với Poisson \((V(\mu)=\mu)\). Mô hình này ước lượng thêm một tham số phụ (k) ngoài các hệ số hồi quy. Hàm liên kết mặc định là logarit và nên sử dụng phần dư quantile cho mô hình này.

1.12 CHƯƠNG 11: DỮ LIỆU LIÊN TỤC DƯƠNG: GAMMA VÀ INVERSE GAUSSIAN GLMs

  • Mô hình hóa Dữ liệu Liên tục Dương
    Dữ liệu liên tục dương thường có đặc điểm phân phối lệch phải và giới hạn ở giá trị không. Các phương pháp dựa trên phân phối chuẩn có thể không phù hợp cho loại dữ liệu này do vi phạm giả định về tính đối xứng và phương sai hằng số. GLMs cung cấp một cách tiếp cận linh hoạt hơn bằng cách sử dụng các phân phối như Gamma và Inverse Gaussian, vốn được thiết kế cho dữ liệu dương và có thể mô hình hóa phương sai thay đổi theo giá trị trung bình. Việc lựa chọn phân phối phù hợp phụ thuộc vào hình dạng phân phối của dữ liệu và mối quan hệ giữa trung bình và phương sai.
  • Phân phối Gamma
    Phân phối Gamma là một phân phối liên tục dương được đặc trưng bởi tham số hình dạng (α) và tham số tỷ lệ (β) (hoặc tham số nghịch đảo tỷ lệ). Giá trị trung bình của phân phối Gamma là \(\mu=\alpha\beta\) và phương sai \(V(\mu)=\mu^2/\alpha\).Điểm đáng chú ý là phương sai tăng theo bình phương của giá trị trung bình, cho thấy sự phù hợp với nhiều loại dữ liệu liên tục dương. Trong bối cảnh GLMs, phân phối Gamma thường được sử dụng với hàm liên kết logarit (liên kết chính tắc) để đảm bảo giá trị dự đoán dương.
  • Phân phối Inverse Gaussian
    Phân phối Inverse Gaussian là một phân phối liên tục dương khác, thường được sử dụng khi dữ liệu có độ lệch lớn hơn so với phân phối Gamma. Nó được đặc trưng bởi tham số vị trí (μ) và tham số hình dạng hoặc phân tán (λ hoặc ϕ). Phương sai của phân phối Inverse Gaussian là #\(V(\mu)=\mu^3/\lambda\). Đặc điểm phương sai tăng theo lũy thừa bậc ba của giá trị trung bình là một điểm khác biệt quan trọng so với phân phối Gamma. Hàm liên kết chính tắc cho phân phối Inverse Gaussian là hàm nghịch đảo bình phương \((1/\mu^2)\).
  • Hàm Liên kết
    Việc lựa chọn hàm liên kết phù hợp là then chốt để thiết lập mối quan hệ giữa giá trị kỳ vọng của dữ liệu liên tục dương và phần tuyến tính của các biến giải thích. Đối với phân phối Gamma, hàm liên kết logarit \[(\log(\mu) = \eta)\] là phổ biến nhất và là hàm liên kết chính tắc. Đối với phân phối Inverse Gaussian, hàm liên kết nghịch đảo bình phương \((1/\mu^2=\eta)\) là hàm liên kết chính tắc, mặc dù các hàm liên kết khác như nghịch đảo \((1/\mu=\eta)\) và identity \((\mu=\eta)\) cũng có thể được sử dụng tùy thuộc vào ứng dụng.
  • Ước lượng Tham số Phân tán
    Cả phân phối Gamma và Inverse Gaussian đều có một tham số phân tán (ϕ) cần được ước lượng từ dữ liệu, bên cạnh các hệ số hồi quy. Đối với phân phối Gamma, ước lượng MLE của ϕ (thường được ký hiệu là \[\nu = 1/\alpha\] không có dạng đóng và thường yêu cầu các phương pháp lặp. Đối với phân phối Inverse Gaussian, ước lượng MLE của tham số phân tán ϕ cũng cần các phương pháp số học .Các ước lrên độ lệch Pearson thường được sử dụng như một lựa chọn thực tế để ước lượng tham số phân tán trong cả hai trường hợp.

1.13 CHƯƠNG 12: MÔ HÌNH TUYẾN TÍNH TỔNG QUÁT TWEEDIE

  • Các EDMs Tweedie
    Họ phân phối Tweedie là một lớp rộng các phân phối mũ phân tán (EDMs) được đặc trưng bởi tham số chỉ số ξ, quyết định phương sai theo quy luật \[V(\mu) = \phi \mu^\xi.\] Tùy thuộc vào giá trị của ξ, họ Tweedie bao gồm các phân phối quen thuộc như Normal (ξ=0), Poisson (ξ=1), Gamma (ξ=2), và Inverse Gaussian (ξ=3). Đặc biệt, nó còn bao gồm các phân phối hữu ích cho dữ liệu liên tục dương có điểm không chính xác (1<ξ<2). Cấu trúc của Tweedie EDMs cho phép mô hình hóa nhiều loại dữ liệu khác nhau trong một khuôn khổ GLM thống nhất.
  • Các GLMs Tweedie
    Để xây dựng Tweedie GLM, chúng ta cần xác định phân phối Tweedie (thông qua ξ), hàm liên kết và phần tuyến tính. Ước lượng tham số chỉ số ξ thường là một bước quan trọng, có thể dựa trên dữ liệu hoặc các phương pháp ước lượng đặc biệt. Sau khi xác định ξ, các hệ số hồi quy và tham số phân tán ϕ được ước lượng bằng phương pháp maximum likelihood. Việc vừa mô hình Tweedie GLM đòi hỏi các hàm phần mềm chuyên biệt, vì không phải phần mềm GLM tiêu chuẩn nào cũng hỗ trợ trực tiếp họ phân phối này.Hàm liên kết logarit thường được sử dụng cho các phân phối Tweedie với dữ liệu dương. Việc lựa chọn hàm liên kết có thể ảnh hưởng đến sự hội tụ và khả năng diễn giải của mô hình. Các phương pháp chẩn đoán tương tự như GLMs tiêu chuẩn (ví dụ: phân tích phần dư) cũng được áp dụng cho Tweedie GLMs.
  • Các Nghiên cứu Trường hợp
    Các nghiên cứu trường hợp trong chương này minh họa tính ứng dụng của Tweedie GLMs cho các loại dữ liệu khác nhau. Ví dụ có thể bao gồm mô hình hóa chi phí bảo hiểm (dữ liệu liên tục dương với nhiều giá trị không), nồng độ chất ô nhiễm (dữ liệu liên tục dương), hoặc các loại dữ liệu khác mà phương sai có mối quan hệ lũy thừa với giá trị trung bình. Các ví dụ này giúp làm rõ cách lựa chọn phân phối Tweedie phù hợp (dựa trên đặc điểm dữ liệu và ước lượng ξ), cách diễn giải các hệ số và đánh giá sự phù hợp của mô hình trong thực tế.

2 THỐNG KÊ MÔ TẢ

2.1 Giới thiệu bộ dữ liệu

  • Bộ dữ liệu permarket Transactions chứa thông tin chi tiết về 14,059 giao dịch mua hàng tại một siêu thị. Mỗi hàng trong bảng ghi lại một giao dịch riêng lẻ, cung cấp thông tin đa dạng về cả khách hàng và sản phẩm được mua.
  • Thông tin Khách hàng: Bộ dữ liệu bao gồm các thuộc tính nhân khẩu học của khách hàng như CustomerID (mã định danh duy nhất), Gender (giới tính), MaritalStatus (tình trạng hôn nhân), Homeowner (sở hữu nhà), Children (số lượng con cái) và AnnualIncome (khoảng thu nhập hàng năm). Ngoài ra, thông tin về địa lý của khách hàng cũng được ghi lại thông qua City (thành phố), StateOrProvince (tiểu bang/tỉnh) và Country (quốc gia, chủ yếu là USA trong các dòng hiển thị).
  • Thông tin Giao dịch: Mỗi giao dịch được xác định bởi X (có thể là ID giao dịch) và thời điểm mua hàng PurchaseDate (tháng 12 năm 2007 trong các dòng đầu).
  • Tổng quan và tiềm năng phân tích: Bộ dữ liệu “Supermarket Transactions” này cung cấp một nguồn tài nguyên phong phú để phân tích hành vi mua hàng của khách hàng. Các nhà phân tích có thể khám phá các xu hướng mua sắm theo nhân khẩu học, xác định các sản phẩm bán chạy nhất, hiểu rõ hơn về mối quan hệ giữa các sản phẩm được mua cùng nhau, và phân khúc khách hàng dựa trên thói quen mua hàng của họ. Với hơn 14,000 giao dịch, bộ dữ liệu này hứa hẹn mang lại nhiều thông tin giá trị về hoạt động kinh doanh của siêu thị.
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Warning: package 'crayon' was built under R version 4.3.3
## Warning in instance$preRenderHook(instance): It seems your data is too big for
## client-side DataTables. You may consider server-side processing:
## https://rstudio.github.io/DT/server.html

2.2 Thống kê biến định lượng

## Warning: package 'psych' was built under R version 4.3.3
## 
## Attaching package: 'psych'
## The following object is masked from 'package:crayon':
## 
##     %+%
  • Biến UnitsSold(X1): Số lượng đơn vị sản phẩm bán ra trung bình mỗi giao dịch là 4.09, với độ lệch chuẩn 1.17 cho thấy độ phân tán tương đối nhỏ. Phân phối gần đối xứng với độ lệch 0.01 và đỉnh phẳng hơn phân phối chuẩn (kurtosis -0.438). Số lượng đơn vị bán ra dao động từ 1 đến 8, cho thấy sự giới hạn về số lượng mặt hàng trong một giao dịch. Sai số chuẩn của trung bình rất nhỏ (0.0099), cho thấy ước tính trung bình khá chính xác do kích thước mẫu lớn.
  • Biến Revenue (X11): Doanh thu trung bình mỗi giao dịch là 13.00, với độ lệch chuẩn lớn hơn đáng kể là 6.22, cho thấy sự biến động cao về giá trị các giao dịch. Phân phối lệch phải với độ lệch 1.13, và đỉnh nhọn hơn cùng đuôi dày hơn phân phối chuẩn (kurtosis 1.39), cho thấy sự tồn tại của một số giao dịch có giá trị cao. Doanh thu dao động từ 0.53 đến 56.7, với trung vị thấp hơn trung bình (11.25) càng khẳng định sự lệch phải.

2.3 Thống kê mô tả biến định tính

Biến Gender

## 
##         F         M       Sum 
## 0.5099936 0.4900064 1.0000000

Biểu đồ tròn này thể hiện tỷ lệ giới tính trong bộ dữ liệu. Theo đó, giới tính nữ (F) chiếm phần lớn hơn một chút với tỷ lệ 51%, trong khi giới tính nam (M) chiếm 49%. Sự khác biệt giữa hai giới tính là không đáng kể, cho thấy một sự phân bố giới tính tương đối cân bằng trong tập dữ liệu này.
Biến MaritalStatus

##   value count
## 1     M  6866
## 2     S  7193
## Warning: package 'ggplot2' was built under R version 4.3.3
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
## The following object is masked from 'package:crayon':
## 
##     %+%

Biểu đồ cột này so sánh số lượng giữa hai tình trạng hôn nhân. Dữ liệu cho thấy số người có tình trạng Độc thân (S) là 7193, cao hơn so với số người Đã kết hôn (M) là 6866. Mặc dù có sự chênh lệch, nhưng số lượng người thuộc cả hai nhóm tình trạng hôn nhân này khá tương đương trong bộ dữ liệu. Điều này cho thấy cả hai nhóm đối tượng khách hàng này đều có sự hiện diện đáng kể trong các giao dịch siêu thị.

Biến Homeowner

## 
##         N         Y       Sum 
## 0.3993883 0.6006117 1.0000000

Biểu đồ cột ngang này thể hiện tỷ lệ khách hàng là chủ sở hữu nhà. Theo đó, có tới 60.06% khách hàng xác nhận là chủ sở hữu nhà (ký hiệu Y), trong khi chỉ có 39.94% khách hàng không phải là chủ sở hữu nhà (ký hiệu N). Sự chênh lệch đáng kể này cho thấy đa số khách hàng trong tập dữ liệu này có đặc điểm là chủ sở hữu nhà. Đây có thể là một yếu tố quan trọng cần xem xét khi phân tích hành vi mua hàng, vì quyền sở hữu nhà có thể liên quan đến sự ổn định tài chính và các ưu tiên tiêu dùng khác. Việc có đa số khách hàng là chủ sở hữu nhà có thể ảnh hưởng đến loại sản phẩm và dịch vụ mà siêu thị này cung cấp hoặc tập trung vào.

Biến Children

##   value count
## 1     0  1344
## 2     1  2718
## 3     2  2839
## 4     3  2893
## 5     4  2826
## 6     5  1439

Biểu đồ cột này cho thấy sự phân bố số lượng khách hàng theo số lượng con cái của họ. Có thể thấy rằng, số lượng khách hàng có con (từ 1 đến 4 con) chiếm phần lớn trong tập dữ liệu này, với số lượng dao động từ 2718 đến 2893 khách hàng. Đáng chú ý, nhóm khách hàng có 3 con có số lượng cao nhất (2893). Số lượng khách hàng không có con (1344) và số lượng khách hàng có số lượng con lớn nhất (5 con, 1439) thấp hơn đáng kể so với các nhóm có từ 1 đến 4 con. Điều này cho thấy gia đình có từ 1 đến 4 con là nhóm khách hàng phổ biến nhất trong dữ liệu giao dịch siêu thị này. Thông tin này có thể hữu ích cho siêu thị trong việc điều chỉnh các chương trình khuyến mãi và lựa chọn sản phẩm phù hợp với đối tượng khách hàng gia đình. Có vẻ như các gia đình có quy mô vừa phải (1-4 con) là một phân khúc khách hàng quan trọng.

Biến AnnualIncome

Biểu đồ cột ngang này thể hiện tỷ lệ khách hàng theo các khoảng thu nhập hàng năm. Nhóm khách hàng có thu nhập từ $10K - $30K chiếm tỷ lệ cao nhất trong bộ dữ liệu. Tiếp theo là nhóm thu nhập $50K - $70K, chiếm một phần đáng kể. Các nhóm thu nhập cao hơn, từ $90K trở lên, có tỷ lệ khách hàng thấp hơn đáng kể. Đáng chú ý, các nhóm thu nhập $30K - $50K và $150K + chiếm tỷ lệ nhỏ nhất trong tổng số khách hàng. Nhìn chung, phân bố thu nhập của tập khách hàng này tập trung chủ yếu ở các mức thu nhập thấp hơn và trung bình thấp, điều này có thể ảnh hưởng đến các chiến lược marketing và lựa chọn sản phẩm của siêu thị.

Biến City

##            value count
## 1       Acapulco   383
## 2     Bellingham   143
## 3  Beverly Hills   811
## 4      Bremerton   834
## 5        Camacho   452
## 6    Guadalajara    75
## 7        Hidalgo   845
## 8    Los Angeles   926
## 9         Merida   654
## 10   Mexico City   194
## 11       Orizaba   464
## 12      Portland   876
## 13         Salem  1386
## 14    San Andres   621
## 15     San Diego   866
## 16 San Francisco   130
## 17       Seattle   922
## 18       Spokane   875
## 19        Tacoma  1257
## 20     Vancouver   633
## 21      Victoria   176
## 22   Walla Walla   160
## 23        Yakima   376

Biểu đồ cột này cho thấy sự phân bố số lượng khách hàng theo thành phố nơi họ sinh sống. Los Angeles nổi bật với số lượng khách hàng cao nhất (1398), theo sau là San Diego với 1267 khách hàng. Các thành phố như Seattle (922) và Beverly Hills (878) cũng có lượng khách hàng đáng kể. Tuy nhiên, phần lớn các thành phố còn lại trong dữ liệu ghi nhận số lượng khách hàng thấp hơn nhiều, thường dưới 500, và thậm chí có một số thành phố chỉ có một số lượng rất nhỏ khách hàng. Điều này cho thấy sự tập trung đáng kể của khách hàng ở một vài thành phố lớn, đặc biệt là Los Angeles và San Diego, có thể phản ánh quy mô dân số hoặc mức độ hoạt động của siêu thị ở các khu vực này. Việc phân tích sâu hơn có thể cho thấy liệu có sự khác biệt đáng kể nào trong hành vi mua hàng giữa khách hàng ở các thành phố khác nhau hay không.

Biến StateorProvince

Biểu đồ cột này cho thấy sự phân bố tỷ lệ khách hàng theo tiểu bang hoặc tỉnh. Washington (WA) chiếm ưu thế rõ rệt với 32.5% tổng số khách hàng. Tiếp theo là California (CA) với 19.4% và Oregon (OR) với 16.1%, cho thấy ba khu vực này chiếm phần lớn tập khách hàng. Các khu vực khác như British Columbia (BC) và Distrito Federal (DF) có tỷ lệ tương đương là 5.8%. Các tiểu bang/tỉnh còn lại, bao gồm Yucatan và Zacatecas (cùng 4.7%), Veracruz (3.3%), Guerrero (2.7%), và đặc biệt là Jalisco (chỉ 0.5%), có tỷ lệ khách hàng thấp hơn đáng kể. Điều này cho thấy sự tập trung địa lý rõ ràng của khách hàng ở một số tiểu bang/tỉnh nhất định, có thể liên quan đến vị trí địa lý của chuỗi siêu thị hoặc các chiến lược marketing tập trung vào các khu vực cụ thể. Sự khác biệt lớn về tỷ lệ khách hàng giữa các khu vực có thể là một yếu tố quan trọng trong việc phân tích doanh số và lập kế hoạch kinh doanh.

Biến Country

Biểu đồ tròn này thể hiện sự phân bố tỷ lệ khách hàng theo quốc gia. Rõ ràng, Hoa Kỳ (USA) chiếm phần lớn nhất, cho thấy đây là thị trường chính của siêu thị. Mexico cũng đóng góp một tỷ lệ khách hàng đáng kể thứ hai. Ngược lại, Canada chỉ chiếm một phần nhỏ nhất trong tổng số khách hàng được thể hiện trong biểu đồ này. Điều này có thể phản ánh vị trí địa lý của chuỗi siêu thị, các chiến lược marketing tập trung hoặc sự khác biệt về mức độ phổ biến của siêu thị ở các quốc gia này. Việc phân tích sâu hơn có thể xem xét hành vi mua hàng khác nhau giữa khách hàng từ các quốc gia này.

Biến ProductFamily

## 
##          Drink           Food Non-Consumable            Sum 
##     0.08891102     0.72217085     0.18891813     1.00000000

Biểu đồ tròn này thể hiện tỷ lệ các nhóm sản phẩm chính (ProductFamily) trong các giao dịch siêu thị. Nhóm Food chiếm phần lớn nhất với tỷ lệ 72.22%, cho thấy đây là danh mục sản phẩm được mua nhiều nhất. Tiếp theo là nhóm Non-Consumable (Hàng tiêu dùng không thiết yếu) với tỷ lệ 18.89%, cho thấy đây cũng là một phần quan trọng trong doanh số của siêu thị. Nhóm Drink (Đồ uống) chiếm tỷ lệ nhỏ nhất trong ba nhóm chính được hiển thị, chỉ với 8.89%. Sự khác biệt lớn về tỷ lệ cho thấy Food là trụ cột chính trong doanh số của siêu thị này. Các phân tích sâu hơn có thể tập trung vào các danh mục nhỏ hơn bên trong nhóm Food để hiểu rõ hơn về sở thích tiêu dùng.

Biến ProductDepartment

  • Bảng tần số:
## 
## Alcoholic Beverages         Baked Goods        Baking Goods           Beverages 
##                 356                 425                1072                 680 
##     Breakfast Foods        Canned Foods     Canned Products            Carousel 
##                 188                 977                 109                  59 
##            Checkout               Dairy                Deli                Eggs 
##                  82                 903                 699                 198 
##        Frozen Foods  Health and Hygiene           Household                Meat 
##                1382                 893                1420                  89 
##         Periodicals             Produce             Seafood         Snack Foods 
##                 202                1994                 102                1600 
##              Snacks       Starchy Foods 
##                 352                 277

Bảng tần số cho biến ProductDepartment trong bộ dữ liệu. Nhìn vào số lượng giao dịch cho từng phòng ban sản phẩm, có thể thấy Produce (Nông sản) có số lượng giao dịch cao nhất với 1994, cho thấy đây là một trong những mặt hàng được mua thường xuyên nhất. Snack Foods (Đồ ăn nhẹ) cũng có số lượng giao dịch đáng kể với 1600. Các phòng ban khác như Household (Đồ gia dụng - 1420) và Frozen Foods (Đồ đông lạnh - 1382) cũng ghi nhận lượng giao dịch lớn, cho thấy sự quan trọng của các mặt hàng này đối với khách hàng. Ngược lại, các phòng ban như Carousel (59) và Checkout (82) có số lượng giao dịch thấp nhất, điều này có thể là do bản chất của các mục này (Carousel có thể là mặt hàng theo mùa hoặc đặc biệt, Checkout có thể liên quan đến các mặt hàng nhỏ lẻ gần quầy thanh toán). Các phòng ban còn lại như Dairy (903), Health and Hygiene (893), Canned Foods (977), và Baking Goods (1072) đều có số lượng giao dịch trung bình cao, cho thấy sự đa dạng trong nhu cầu mua sắm của khách hàng.

  • Bảng tần suất:
## 
## Alcoholic Beverages         Baked Goods        Baking Goods           Beverages 
##         0.025321858         0.030229746         0.076250089         0.048367594 
##     Breakfast Foods        Canned Foods     Canned Products            Carousel 
##         0.013372217         0.069492852         0.007753041         0.004196600 
##            Checkout               Dairy                Deli                Eggs 
##         0.005832563         0.064229319         0.049719041         0.014083505 
##        Frozen Foods  Health and Hygiene           Household                Meat 
##         0.098300021         0.063518031         0.101002916         0.006330464 
##         Periodicals             Produce             Seafood         Snack Foods 
##         0.014368020         0.141830856         0.007255139         0.113806103 
##              Snacks       Starchy Foods 
##         0.025037343         0.019702682

Produce (Nông sản) chiếm tỷ lệ cao nhất (14.18%), cho thấy đây là danh mục hàng hóa được mua thường xuyên nhất, đóng góp đáng kể vào tổng số giao dịch. Tiếp theo là Snack Foods (Đồ ăn nhẹ - 11.38%) và Household (Đồ gia dụng - 10.10%), cho thấy tầm quan trọng của các mặt hàng này trong cơ cấu mua sắm. Frozen Foods (Đồ đông lạnh) cũng chiếm một tỷ lệ đáng kể (9.83%).

Các phòng ban khác như Baking Goods (7.63%), Canned Foods (6.95%), Dairy (6.42%), và Health and Hygiene (6.35%) cũng đóng góp một phần quan trọng vào tổng số giao dịch. Ngược lại, các phòng ban như Carousel (0.42%), Checkout (0.58%), Meat (0.63%), Canned Products (0.78%), và Seafood (0.73%) có tỷ lệ giao dịch rất thấp, cho thấy đây có thể là các mặt hàng ít được mua hoặc có số lượng giao dịch nhỏ. Các phòng ban còn lại có tỷ lệ giao dịch dao động từ khoảng 1% đến gần 5%.

Nhìn chung, tỷ lệ này làm nổi bật sự khác biệt rõ rệt về mức độ đóng góp của từng phòng ban vào tổng số giao dịch của siêu thị, với một số phòng ban chiếm ưu thế rõ ràng trong khi những phòng ban khác chỉ đóng góp một phần rất nhỏ. Thông tin này rất hữu ích cho việc đưa ra các quyết định liên quan đến quản lý hàng tồn kho, bố trí không gian cửa hàng và chiến lược marketing.

Biến ProductCategory

  • Bảng tần số:
## 
##         Baking Goods    Bathroom Products        Beer and Wine 
##                  484                  365                  356 
##                Bread      Breakfast Foods              Candles 
##                  425                  417                   45 
##                Candy     Canned Anchovies         Canned Clams 
##                  352                   44                   53 
##       Canned Oysters      Canned Sardines        Canned Shrimp 
##                   35                   40                   38 
##          Canned Soup          Canned Tuna Carbonated Beverages 
##                  404                   87                  154 
##    Cleaning Supplies        Cold Remedies                Dairy 
##                  189                   93                  903 
##        Decongestants               Drinks                 Eggs 
##                   85                  135                  198 
##           Electrical      Frozen Desserts       Frozen Entrees 
##                  355                  323                  118 
##                Fruit             Hardware        Hot Beverages 
##                  765                  129                  226 
##              Hygiene     Jams and Jellies     Kitchen Products 
##                  197                  588                  217 
##            Magazines                 Meat        Miscellaneous 
##                  202                  761                   42 
##  Packaged Vegetables       Pain Relievers       Paper Products 
##                   48                  192                  345 
##                Pizza     Plastic Products Pure Juice Beverages 
##                  194                  141                  165 
##              Seafood          Side Dishes          Snack Foods 
##                  102                  153                 1600 
##            Specialty        Starchy Foods           Vegetables 
##                  289                  277                 1728

Bảng tần số cho thấy số lượng giao dịch tuyệt đối cho từng danh mục sản phẩm (ProductCategory). Snack Foods dẫn đầu với 1600 giao dịch, tiếp theo là Vegetables với 1728. Các danh mục khác có số lượng giao dịch đáng chú ý bao gồm Dairy (903), Fruit (765), Meat (761), và Jams and Jellies (588). Ngược lại, các danh mục như Canned Oysters (35), Canned Shrimp (38), và Canned Sardines (40) có số lượng giao dịch rất thấp. Các danh mục còn lại có số lượng giao dịch dao động ở mức trung bình. Nhìn chung, bảng tần số này cho thấy sự khác biệt lớn về mức độ phổ biến của các danh mục sản phẩm dựa trên số lượng giao dịch.

  • Bảng tần suất:
## 
##         Baking Goods    Bathroom Products        Beer and Wine 
##          0.034426346          0.025962017          0.025321858 
##                Bread      Breakfast Foods              Candles 
##          0.030229746          0.029660716          0.003200797 
##                Candy     Canned Anchovies         Canned Clams 
##          0.025037343          0.003129668          0.003769827 
##       Canned Oysters      Canned Sardines        Canned Shrimp 
##          0.002489508          0.002845153          0.002702895 
##          Canned Soup          Canned Tuna Carbonated Beverages 
##          0.028736041          0.006188207          0.010953837 
##    Cleaning Supplies        Cold Remedies                Dairy 
##          0.013443346          0.006614980          0.064229319 
##        Decongestants               Drinks                 Eggs 
##          0.006045949          0.009602390          0.014083505 
##           Electrical      Frozen Desserts       Frozen Entrees 
##          0.025250729          0.022974607          0.008393200 
##                Fruit             Hardware        Hot Beverages 
##          0.054413543          0.009175617          0.016075112 
##              Hygiene     Jams and Jellies     Kitchen Products 
##          0.014012376          0.041823743          0.015434953 
##            Magazines                 Meat        Miscellaneous 
##          0.014368020          0.054129028          0.002987410 
##  Packaged Vegetables       Pain Relievers       Paper Products 
##          0.003414183          0.013656732          0.024539441 
##                Pizza     Plastic Products Pure Juice Beverages 
##          0.013798990          0.010029163          0.011736254 
##              Seafood          Side Dishes          Snack Foods 
##          0.007255139          0.010882709          0.113806103 
##            Specialty        Starchy Foods           Vegetables 
##          0.020556227          0.019702682          0.122910591

Bảng tần suất tương đối (trong ảnh) hiển thị tỷ lệ phần trăm của từng danh mục sản phẩm trong tổng số giao dịch. Vegetables chiếm tỷ lệ cao nhất (12.29%), tiếp theo là Snack Foods (11.38%). Fruit (5.44%) và Meat (5.41%) cũng đóng góp một phần đáng kể vào tổng số giao dịch. Các danh mục có tỷ lệ thấp nhất bao gồm Canned Oysters (0.25%), Canned Shrimp (0.27%), và Canned Sardines (0.28%). Bảng này cung cấp cái nhìn về mức độ đóng góp của từng danh mục vào tổng doanh số hoặc số lượng giao dịch, giúp so sánh tầm quan trọng tương đối của chúng. Ví dụ, mặc dù số lượng giao dịch của Vegetables cao hơn Snack Foods, cả hai đều chiếm tỷ lệ lớn nhất trong tổng số giao dịch.

LS0tDQp0aXRsZTogIk5oaeG7h20gduG7pSB0deG6p24gMSINCmF1dGhvcjogInBubWluaGNoYXUiDQpkYXRlOiAiMjAyNS0wNS0xOCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtOiAiZGVmYXVsdCINCiAgICB0b2NfZGVwdGg6IDMNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQojICoqVMOTTSBU4bquVCAyMDE5X0dlbmVyYWxpemVkIExpbmVhciBNb2RlbHMgV2l0aCBFeGFtcGxlcyBpbiBSXzk3ODE0NDE5MDExNzAqKg0KDQojIyAqKkdJ4buaSSBUSEnhu4ZVKiogICANCioqKg0KICBDdeG7kW4gc8OhY2ggKioiR2VuZXJhbGl6ZWQgTGluZWFyIE1vZGVscyBXaXRoIEV4YW1wbGVzIGluIFIiKiogY+G7p2EgUGV0ZXIgSy4gRHVubiB2w6AgR29yZG9uIEsuIFNteXRoLCB0aHXhu5ljIGxv4bqhdCBzw6FjaCBTcHJpbmdlciBUZXh0cyBpbiBTdGF0aXN0aWNzLCB4deG6pXQgYuG6o24gbsSDbSAyMDE4IGLhu59pIFNwcmluZ2VyIE5hdHVyZSwgY3VuZyBj4bqlcCBoxrDhu5tuZyBk4bqrbiBjaHV5w6puIHPDonUgduG7gSAqKk3DtCBow6xuaCBUdXnhur9uIHTDrW5oIFThu5VuZyBxdcOhdCAoR0xNcykqKiB2w6AgY8OhY2ggdHJp4buDbiBraGFpIGLhurFuZyBwaOG6p24gbeG7gW0gKipSKiouDQoNCiMjICoqQ0jGr8agTkcgMTogTcOUIEjDjE5IIFRI4buQTkcgS8OKIChTYXRpc3RpY2FsIE1vZGVscykuKiogICANCioqKg0KICBDaMawxqFuZyAxIGdp4bubaSB0aGnhu4d1IHbhu4EgbcO0IGjDrG5oIHRo4buRbmcga8OqLCDEkeG6t3QgYmnhu4d0IG5o4bqlbiBt4bqhbmggduG7gSBtw7QgaMOsbmggdHV54bq/biAgdMOtbmggdOG7lW5nIHF1w6F0LiBOZ2/DoGkgcmEsIG7hu5lpIGR1bmcgY2jGsMahbmcgY8OybiB0csOsbmggYsOgeSBjw6FjIHF1eSDGsOG7m2MgdG/DoW4gaOG7jWMgxJHhu4MgbcO0IHThuqMgZOG7ryBsaeG7h3UsIHThuqdtIHF1YW4gdHLhu41uZyBj4bunYSB2aeG7h2MgduG6vSDEkeG7kyB0aOG7iyBk4buvIGxp4buHdSB2w6AgY8OhY2ggbcOjIGjDs2Egc+G7kSBjaG8gY8OhYyBiaeG6v24gcGhpIHPhu5EuIEhhaSB0aMOgbmggcGjhuqVuIGPGoSBi4bqjIGPhu6dhIG3DtCBow6xuaCB0aOG7kW5nIGvDqiBsw6AgdGjDoG5oIHBo4bqnbiBo4buHIHRo4buRbmcgdsOgIG5n4bqrdSBuaGnDqm4gY8WpbmcgxJHGsOG7o2MgZ2nhu5tpIHRoaeG7h3UsIHRp4bq/cCB0aGVvIGzDoCBs4bubcCBjw6FjIG3DtCBow6xuaCBo4buTaSBxdXkuIE7hu5lpIGR1bmcgY8OybiDEkeG7gSBj4bqtcCB04bubaSB2aeG7h2MgZ2nhuqNpIHRow61jaCBtw7QgaMOsbmggc28gc8OhbmggbcO0IGjDrG5oIHRo4buRbmcga8OqIHbhu5tpIG3DtCBow6xuaCB24bqtdCBsw70sIG3hu6VjIMSRw61jaCBj4bunYSBtw7QgaMOsbmggdGjhu5FuZyBrw6ogdsOgIGhhaSB0acOqdSBjaMOtIMSRw6FuaCBnacOhIG3DtCBow6xuaCAoxJHhu5kgY2jDrW5oIHjDoWMgdsOgIHTDrW5oIHRp4bq/dCBraeG7h20pLiBDdeG7kWkgY8O5bmcgbMOgIHRo4bqjbyBsdeG6rW4gduG7gSBuaOG7r25nIGjhuqFuIGNo4bq/IGPhu6dhIG3DtCBow6xuaCB0aOG7kW5nIGvDqiwgdMOtbmggdOG7lW5nIHF1w6F0IGPhu6dhIG3DtCBow6xuaCB2w6AgZ2nhu5tpIHRoaeG7h3Ugc8ahIGzGsOG7o2MgduG7gSB2aeG7h2Mgc+G7rSBk4bulbmcgUiBjaG8gbcO0IGjDrG5oIHRo4buRbmcga8OqLiAgIA0KKiAqKkNvbnZlbnRpb25zIGZvciBEZXNjcmliaW5nIERhdGEgKEPDoWMgUXV5IMaw4bubYyDEkeG7gyBNw7QgdOG6oyBE4buvIGxp4buHdSk6KiogVmnhu4djIGhp4buDdSBjw6FjIGvDvSBoaeG7h3UsIHRodeG6rXQgbmfhu68gdsOgIHF1eSDGsOG7m2MgY8ahIGLhuqNuIG5oxrAga2nhu4N1IGThu68gbGnhu4d1LCBiaeG6v24gc+G7kSwgdsOgIGPDoWMga8O9IGhp4buHdSB0b8OhbiBo4buNYyBsw6AgbuG7gW4gdOG6o25nIMSR4buDIHRp4bq/cCBj4bqtbiBi4bqldCBr4buzIHBow6JuIHTDrWNoIHRo4buRbmcga8OqIG7DoG8gdsOgIGdpw7pwIMSR4bqjbSBi4bqjbyBnaWFvIHRp4bq/cCBoaeG7h3UgcXXhuqMgduG7gSBk4buvIGxp4buHdS4gICANCiAgDQoqICoqU3RhdGlzdGljYWwgTW9kZWxzIERlc2NyaWJlIEJvdGggUmFuZG9tIGFuZCBTeXN0ZW1hdGljIEZlYXR1cmVzIG9mIERhdGEgKE3DtCBow6xuaCBUaOG7kW5nIGvDqiBNw7QgdOG6oyBD4bqjIMSQ4bq3YyDEkGnhu4NtIE5n4bqrdSBOaGnDqm4gdsOgIEPDsyBI4buHIFRo4buRbmcgY+G7p2EgROG7ryBsaeG7h3UpOioqxJDDonkgbMOgIGPhu5F0IGzDtWkgY+G7p2Egdmnhu4djIHjDonkgZOG7sW5nIG3DtCBow6xuaCB0aOG7kW5nIGvDqiwgbmjhuqVuIG3huqFuaCBraOG6oyBuxINuZyBu4bqvbSBi4bqvdCBj4bqjIHPhu7EgYmnhur9uIMSR4buZbmcga2jDtG5nIHRo4buDIMSRb8OhbiB0csaw4bubYyB2w6AgY8OhYyBj4bqldSB0csO6YyBjw7MgcXV5IGx14bqtdCwgbeG7kWkgcXVhbiBo4buHIHRp4buBbSDhuqluIHRyb25nIGThu68gbGnhu4d1IMSR4buDIGhp4buDdSByw7UgaMahbiB24buBIHF1w6EgdHLDrG5oIHNpbmggcmEgZOG7ryBsaeG7h3UuICAgDQoqICoqUmVncmVzc2lvbiBNb2RlbHMgKE3DtCBow6xuaCBI4buTaSBxdXkpOioqTcO0IGjDrG5oIGjhu5NpIHF1eSBsw6AgbeG7mXQgY8O0bmcgY+G7pSB0aOG7kW5nIGvDqiBxdWFuIHRy4buNbmcgdsOgIHBo4buVIGJp4bq/biDEkeG7gyBraMOhbSBwaMOhIHbDoCDEkeG7i25oIGzGsOG7o25nIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgbeG7mXQgYmnhur9uIHBo4bulIHRodeG7mWMgdsOgIG3hu5l0IGhv4bq3YyBuaGnhu4F1IGJp4bq/biDEkeG7mWMgbOG6rXAsIGNobyBwaMOpcCBk4buxIMSRb8OhbiB2w6AgZ2nhuqNpIHRow61jaCBjw6FjIHh1IGjGsOG7m25nLiAgIA0KKiAqKkludGVycHJldGluZyBSZWdyZXNzaW9uIE1vZGVscyAoR2nhuqNpIHRow61jaCBjw6FjIE3DtCBow6xuaCBI4buTaSBxdXkpOioqIFZp4buHYyB4w6J5IGThu7FuZyBtw7QgaMOsbmggY2jhu4kgbMOgIG3hu5l0IHBo4bqnbiwga2jhuqMgbsSDbmcgZ2nhuqNpIHRow61jaCDDvSBuZ2jEqWEgdGjhu7FjIHThur8gY+G7p2EgY8OhYyBo4buHIHPhu5EgaOG7k2kgcXV5LCBjw6FjIGtp4buDbSDEkeG7i25oIHRo4buRbmcga8OqIHbDoCDEkeG7mSBwaMO5IGjhu6NwIGPhu6dhIG3DtCBow6xuaCBsw6AgdGhlbiBjaOG7kXQgxJHhu4MgcsO6dCByYSB0aMO0bmcgdGluIGjhu691IMOtY2ggdsOgIMSRxrBhIHJhIGvhur90IGx14bqtbiBjw7Mgw70gbmdoxKlhIHThu6sgZOG7ryBsaeG7h3UuICAgDQoqICoqQWxsIE1vZGVscyBBcmUgV3JvbmcsIGJ1dCBTb21lIEFyZSBVc2VmdWwgKFThuqV0IGPhuqMgY8OhYyBNw7QgaMOsbmggxJHhu4F1IFNhaSwgbmjGsG5nIE3hu5l0IHPhu5EgTcO0IGjDrG5oIHRow6wgSOG7r3Ugw61jaCk6KiogxJDDonkgbMOgIG3hu5l0IHRyaeG6v3QgbMO9IHF1YW4gdHLhu41uZyB0cm9uZyBtw7QgaMOsbmggaMOzYSB0aOG7kW5nIGvDqiwgdGjhu6thIG5o4bqtbiBy4bqxbmcgbeG7jWkgbcO0IGjDrG5oIGNo4buJIGzDoCBz4buxIMSRxqFuIGdp4bqjbiBow7NhIGPhu6dhIHRo4buxYyB04bq/IHBo4bupYyB04bqhcCwgbmjGsG5nIHbhuqtuIG5o4bqlbiBt4bqhbmggZ2nDoSB0cuG7iyB0aOG7sWMgdGnhu4VuIGPhu6dhIGNow7puZyB0cm9uZyB2aeG7h2MgY3VuZyBj4bqlcCBuaOG7r25nIGhp4buDdSBiaeG6v3Qgc8OidSBz4bqvYyB2w6AgxJHGsGEgcmEgcXV54bq/dCDEkeG7i25oIGThu7FhIHRyw6puIGThu68gbGnhu4d1LiAgIA0KDQojIyAqKkNIxq/GoE5HIDI6IE3DlCBIw4xOSCBI4buSSSBRVVkgVFVZ4bq+TiBUw41OSCoqDQoNCiogKipMaW5lYXIgUmVncmVzc2lvbiBNb2RlbHMgRGVmaW5lZCAoxJDhu4tuaCBuZ2jEqWEgTcO0IGjDrG5oIEjhu5NpIHF1eSBUdXnhur9uIHTDrW5oKToqKiDEkOG7gSBt4bulYyBuw6B5IHRoaeG6v3QgbOG6rXAgY8OhYyBraMOhaSBuaeG7h20gY8ahIGLhuqNuIHbhu4EgbcO0IGjDrG5oIGjhu5NpIHF1eSB0dXnhur9uIHTDrW5oLCBiYW8gZ+G7k20gYmnhur9uIHBo4bulIHRodeG7mWMsIGJp4bq/biDEkeG7mWMgbOG6rXAgdsOgIGdp4bqjIMSR4buLbmggduG7gSBt4buRaSBxdWFuIGjhu4cgdHV54bq/biB0w61uaCBnaeG7r2EgY2jDum5nLiAgIA0KKiAqKlNpbXBsZSBMaW5lYXIgUmVncmVzc2lvbiAoSOG7k2kgcXV5IFR1eeG6v24gdMOtbmggxJDGoW4gZ2nhuqNuKToqKiBC4bqvdCDEkeG6p3UgduG7m2kgdHLGsOG7nW5nIGjhu6NwIG3hu5l0IGJp4bq/biDEkeG7mWMgbOG6rXAgZ2nDunAgbmfGsOG7nWkgxJHhu41jIG7huq9tIHbhu69uZyBjw6FjIG5ndXnDqm4gdOG6r2MgY8ahIGLhuqNuIGPhu6dhIHBoxrDGoW5nIHBow6FwIGLDrG5oIHBoxrDGoW5nIHThu5FpIHRoaeG7g3UgKGxlYXN0LXNxdWFyZXMgZXN0aW1hdGlvbikgxJHhu4MgxrDhu5tjIGzGsOG7o25nIGPDoWMgaOG7hyBz4buRIHbDoCDEkcOhbmggZ2nDoSBz4buxIHBow7kgaOG7o3AgY+G7p2EgbcO0IGjDrG5oLiAgIA0KKiAgKipFc3RpbWF0aW9uIGZvciBNdWx0aXBsZSBSZWdyZXNzaW9uICjGr+G7m2MgbMaw4bujbmcgY2hvIEjhu5NpIHF1eSDEkGEgYmnhur9uKToqKiBLaGkgY8OzIG5oaeG7gXUgYmnhur9uIMSR4buZYyBs4bqtcCDhuqNuaCBoxrDhu59uZyDEkeG6v24gYmnhur9uIHBo4bulIHRodeG7mWMsIMSR4buBIG3hu6VjIG7DoHkgZ2nhuqNpIHRow61jaCBjw6FjaCBwaMawxqFuZyBwaMOhcCBiw6xuaCBwaMawxqFuZyB04buRaSB0aGnhu4N1IMSRxrDhu6NjIG3hu58gcuG7mW5nIMSR4buDIMaw4bubYyBsxrDhu6NuZyBjw6FjIGjhu4cgc+G7kSByacOqbmcgbOG6uyBjaG8gdOG7q25nIGJp4bq/bi4gTeG7mXQgxJFp4buDbSBxdWFuIHRy4buNbmcgbMOgIHZp4buHYyBnaeG6o2kgdGjDrWNoIMO9IG5naMSpYSBj4bunYSBt4buXaSBo4buHIHPhu5Ega2hpIGPDoWMgYmnhur9uIMSR4buZYyBs4bqtcCBraMOhYyDEkcaw4bujYyBnaeG7ryBraMO0bmcgxJHhu5VpIChjZXRlcmlzIHBhcmlidXMpLCBnacO6cCBoaeG7g3UgxJHGsOG7o2MgdMOhYyDEkeG7mW5nIHJpw6puZyBiaeG7h3QgY+G7p2EgdOG7q25nIHnhur91IHThu5EuICAgDQoqICoqRml0dGluZyBMaW5lYXIgUmVncmVzc2lvbiBNb2RlbHMgVXNpbmcgUiAoxq/hu5tjIGzGsOG7o25nIE3DtCBow6xuaCBI4buTaSBxdXkgVHV54bq/biB0w61uaCBi4bqxbmcgUik6KiogxJDhu4EgbeG7pWMgbsOgeSBraMO0bmcgY2jhu4kgaMaw4bubbmcgZOG6q24gY8O6IHBow6FwIGPGoSBi4bqjbiDEkeG7gyBz4butIGThu6VuZyBow6BtIGxtKCkgdHJvbmcgUiBtw6AgY8OybiBjw7MgdGjhu4MgxJHhu4EgY+G6rXAgxJHhur9uIGPDoWNoIG5o4bqtcCBk4buvIGxp4buHdSwga2nhu4NtIHRyYSBk4buvIGxp4buHdSBiYW4gxJHhuqd1ICh2w60gZOG7pTogduG6vSBiaeG7g3UgxJHhu5MgYmnhu4N1IMSR4buTIHTDoW4geOG6oSksIHbDoCBjw6FjaCB4ZW0gY8OhYyBr4bq/dCBxdeG6oyDEkeG6p3UgcmEgcXVhbiB0cuG7jW5nIHThu6sgbcO0IGjDrG5oICh2w60gZOG7pTogxrDhu5tjIGzGsOG7o25nIGjhu4cgc+G7kSwgc2FpIHPhu5EgY2h14bqpbiwgZ2nDoSB0cuG7iyAkcCxSXjIkKS4gTsOzIGPDsyB0aOG7gyBiYW8gZ+G7k20gY+G6oyB2aeG7h2Mgc+G7rSBk4bulbmcgY8OhYyBnw7NpIHbDoCBow6BtIGtow6FjIMSR4buDIGjhu5cgdHLhu6Mgdmnhu4djIHBow6JuIHTDrWNoIGjhu5NpIHF1eS4NCg0KKiAqKlN1eSBkaeG7hW4gY2hvIE3DtCBow6xuaCBI4buTaSBxdXkgVHV54bq/biB0w61uaDogS2nhu4NtIMSR4buLbmggdCoqDQpUaOG7sWMgaGnhu4duIHN1eSBkaeG7hW4gdGjhu5FuZyBrw6ogY2hvIGPDoWMgdGhhbSBz4buRIHRyb25nIG3DtCBow6xuaCBo4buTaSBxdXkgdHV54bq/biB0w61uaCwgxJHhurdjIGJp4buHdCBsw6Agc+G7rSBk4bulbmcga2nhu4NtIMSR4buLbmggdC4gTsOzIGPDsyB0aOG7gyBi4bqvdCDEkeG6p3UgYuG6sW5nIHZp4buHYyBuaOG6r2MgbOG6oWkgY8OhYyBnaeG6oyDEkeG7i25oIGPhu6dhIG3DtCBow6xuaCBo4buTaSBxdXkgdHV54bq/biB0w61uaCBjaHXhuqluIChOb3JtYWwgTGluZWFyIFJlZ3Jlc3Npb24gTW9kZWxzKS4gU2F1IMSRw7MsIGNoxrDGoW5nIG7DoHkgc+G6vSB0aOG6o28gbHXhuq1uIHbhu4EgcGjDom4gcGjhu5FpIGPhu6dhIGPDoWMgxrDhu5tjIGzGsOG7o25nIGjhu4cgc+G7kSRcd2lkZWhhdHtcdGV4dHtzZX19KFxoYXR7XGJldGF9X2opJA0KTuG7mWkgZHVuZyBjaMOtbmggc+G6vSBsw6AgY8OhY2ggeMOieSBk4buxbmcgdsOgIHRo4buxYyBoaeG7h24gY8OhYyBraeG7g20gxJHhu4tuaCBnaeG6oyB0aHV54bq/dCAoSHlwb3RoZXNpcyBUZXN0cykgY2hvIHThu6tuZyBo4buHIHPhu5EgaOG7k2kgcXV5IMSR4buDIHjDoWMgxJHhu4tuaCB4ZW0gY2jDum5nIGPDsyBraMOhYyBiaeG7h3QgxJHDoW5nIGvhu4Mgc28gduG7m2kga2jDtG5nIGhheSBraMO0bmcuIEN14buRaSBjw7luZywgY2jGsMahbmcgbsOgeSBjw7MgdGjhu4MgxJHhu4EgY+G6rXAgxJHhur9uIHZp4buHYyB4w6J5IGThu7FuZyBraG/huqNuZyB0aW4gY+G6rXkgKENvbmZpZGVuY2UgSW50ZXJ2YWxzKSBjaG8gY8OhYyBo4buHIHPhu5EgaOG7k2kgcXV5ICjOsmopDQogdsOgIGNobyBnacOhIHRy4buLIHRydW5nIGLDrG5oIGPhu6dhIGJp4bq/biBwaOG6o24gaOG7k2kgKM68eSB04bqhaSBt4buZdCBnacOhIHRy4buLIGPhu6UgdGjhu4MgY+G7p2EgY8OhYyBiaeG6v24gZOG7sSDEkW/DoW4pLiAgIA0KDQoqICoqU28gc8OhbmggY8OhYyBtw7QgaMOsbmggbOG7k25nIG5oYXUqKg0KUGjGsMahbmcgcGjDoXAgY2jDrW5oIMSRxrDhu6NjIMSR4buBIGPhuq1wIGzDoCBwaMOibiB0w61jaCBwaMawxqFuZyBzYWkgKEFOT1ZBKSwgaG/hurdjIHBow6JuIHTDrWNoIMSR4buZIGzhu4djaCBjaG8gR0xNcywgxJHhu4MgxJHDoW5oIGdpw6Egc+G7sSBj4bqjaSB0aGnhu4duIHBow7kgaOG7o3AgY+G7p2EgbcO0IGjDrG5oIHBo4bupYyB04bqhcCBoxqFuLiBQaMOibiB0w61jaCBwaMawxqFuZyBzYWkgdHXhuqduIHThu7EgY8WpbmcgxJHGsOG7o2MgZ2nhu5tpIHRoaeG7h3UgxJHhu4MgeGVtIHjDqXQgxJHDs25nIGfDs3AgY+G7p2EgdOG7q25nIGJp4bq/bi4gQ2jGsMahbmcgbsOgeSBjw7MgdGjhu4MgdGjhuqNvIGx14bqtbiB24buBIGPDoWMgdHLGsOG7nW5nIGjhu6NwIGjhu5NpIHF1eSBzb25nIHNvbmcgdsOgIMSR4buZYyBs4bqtcC4gTmd1ecOqbiB04bqvYyB0w61uaCBiacOqbiwgcXVhbiB0cuG7jW5nIGtoaSB4w6J5IGThu7FuZyBtw7QgaMOsbmggY8OzIHTGsMahbmcgdMOhYywgY8WpbmcgxJHGsOG7o2MgxJHhu4EgY+G6rXAuIFTDs20gbOG6oWksIGNoxrDGoW5nIG7DoHkgY3VuZyBj4bqlcCBjw6FjIGPDtG5nIGPhu6UgxJHhu4MgbOG7sWEgY2jhu41uIG3DtCBow6xuaCBs4buTbmcgbmhhdSBwaMO5IGjhu6NwLiAgIA0KDQoqICoqQ8O0bmcgY+G7pSBI4buXIHRy4bujIEzhu7FhIGNo4buNbiBNw7QgaMOsbmgqKiAgIA0KQ8OhYyBjw7RuZyBj4bulIHbDoCBwaMawxqFuZyBwaMOhcCBraMOhYyBuaGF1IMSR4buDIGjhu5cgdHLhu6MgcXXDoSB0csOsbmggbOG7sWEgY2jhu41uIG3DtCBow6xuaCBo4buTaSBxdXkgdHV54bq/biB0w61uaCBwaMO5IGjhu6NwIGJhbyBn4buTbSBjw6FjIGvhu7kgdGh14bqtdCBuaMawIHRow6ptIHbDoCBsb+G6oWkgYuG7jyBiaeG6v24gbeG7mXQgY8OhY2ggdGjhu6cgY8O0bmcgZOG7sWEgdHLDqm4gY8OhYyB0acOqdSBjaMOtIHRo4buRbmcga8OqIGhv4bq3YyBraeG6v24gdGjhu6ljIHbhu4EgbMSpbmggduG7sWMgbmdoacOqbiBj4bupdS4gQ2jGsMahbmcgbsOgeSBjxaluZyBjw7Mga2jhuqMgbsSDbmcgdGjhuqNvIGx14bqtbiB24buBIGPDoWMgcGjGsMahbmcgcGjDoXAgbOG7sWEgY2jhu41uIG3DtCBow6xuaCB04buxIMSR4buZbmcsIGNo4bqzbmcgaOG6oW4gbmjGsCBxdXkgdHLDrG5oIHN0ZXB3aXNlICh0aeG6v24sIGzDuWksIGhv4bq3YyBj4bqjIGhhaSksIG3hurdjIGTDuSBjw7MgdGjhu4Mga8OobSB0aGVvIG5o4buvbmcgY+G6o25oIGLDoW8gduG7gSB2aeG7h2Mgc+G7rSBk4bulbmcgY2jDum5nIG3hu5l0IGPDoWNoIG3DuSBxdcOhbmcuIEN14buRaSBjw7luZywgY2jGsMahbmcgbsOgeSBjw7MgdGjhu4MgxJHhu4EgY+G6rXAgxJHhur9uIGPDoWMgcGjhuqNuIMSR4buRaSBob+G6t2MgaOG6oW4gY2jhur8gY+G7p2EgY8OhYyBxdXkgdHLDrG5oIGzhu7FhIGNo4buNbiBtw7QgaMOsbmggdOG7q25nIGLGsOG7m2MsIG5o4bqlbiBt4bqhbmggdOG6p20gcXVhbiB0cuG7jW5nIGPhu6dhIHZp4buHYyBs4buxYSBjaOG7jW4gbcO0IGjDrG5oIGThu7FhIHRyw6puIGPhuqMgdGjhu5FuZyBrw6ogdsOgIMO9IG5naMSpYSB0aOG7sWMgdOG6vy4gICANCg0KDQojIyAqKkNIxq/GoE5HIDM6IE3DlCBIw4xOSCBI4buSSSBRVVkgVFVZ4bq+TiBUw41OSDogQ0jhuqhOIMSQT8OBTiBWw4AgWMOCWSBE4buwTkcgTcOUIEjDjE5IKiogICANCg0KIyMjICoqQ2jhuqluIMSRb8OhbioqICAgDQogUGjhuqduIG7DoHkgdOG6rXAgdHJ1bmcgdsOgbyB2aeG7h2Mga2nhu4NtIHRyYSBjw6FjIGdp4bqjIMSR4buLbmggY+G7p2EgbcO0IGjDrG5oIGjhu5NpIHF1eSB0dXnhur9uIHTDrW5oIHbDoCBwaMOhdCBoaeG7h24gY8OhYyB24bqlbiDEkeG7gSB0aeG7gW0g4bqpbiBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIHTDrW5oIGjhu6NwIGzhu4cgY+G7p2EgbcO0IGjDrG5oIHbDoCBjw6FjIGvhur90IHF14bqjIHN1eSBkaeG7hW4uIEPDoWMgbuG7mWkgZHVuZyBjaMOtbmggYmFvIGfhu5NtOiAgIA0KKiAqKkPDoWMgR2nhuqMgxJHhu4tuaCAoQXNzdW1wdGlvbnMpOioqIENoxrDGoW5nIG7DoHkgc+G6vSB4ZW0geMOpdCBjw6FjIGdp4bqjIMSR4buLbmggcXVhbiB0cuG7jW5nIGPhu6dhIG3DtCBow6xuaCBo4buTaSBxdXkgdHV54bq/biB0w61uaCB04burIGfDs2MgxJHhu5kgdGjhu7FjIHThur8sIGJhbyBn4buTbSBjw6FjIGxv4bqhaSBnaeG6oyDEkeG7i25oICh2w60gZOG7pTogdHV54bq/biB0w61uaCwgcGjGsMahbmcgc2FpIGtow7RuZyDEkeG7lWksIMSR4buZYyBs4bqtcCwgcGjDom4gcGjhu5FpIGNodeG6qW4pLiBOw7MgY8WpbmcgY8OzIHRo4buDIHRo4bqjbyBsdeG6rW4gduG7gSBjw6FjIHRoYW5nIMSRbyAobWVhc3VyZW1lbnQgc2NhbGVzKSB2w6AgY8OhYyBo4buHIHF14bqjIGtoaSBjw6FjIGdp4bqjIMSR4buLbmggbsOgeSBi4buLIHZpIHBo4bqhbS4gICANCiogKipQaOG6p24gRMawIChSZXNpZHVhbHMpOioqIENoxrDGoW5nIG7DoHkgc+G6vSBnaeG7m2kgdGhp4buHdSBraMOhaSBuaeG7h20gcGjhuqduIGTGsCAoc2FpIHPhu5EgxrDhu5tjIHTDrW5oKSB2w6AgY8OhY2ggc+G7rSBk4bulbmcgY2jDum5nIMSR4buDIMSRw6FuaCBnacOhIHPhu7EgcGjDuSBo4bujcCBj4bunYSBtw7QgaMOsbmguIEPDoWMgbG/huqFpIMSR4buTIHRo4buLIHBo4bqnbiBkxrAga2jDoWMgbmhhdSBz4bq9IMSRxrDhu6NjIHRyw6xuaCBiw6B5IMSR4buDIGtp4buDbSB0cmEgdMOtbmggdHV54bq/biB0w61uaCwgcGjGsMahbmcgc2FpIGtow7RuZyDEkeG7lWksIHbDoCBz4buxIMSR4buZYyBs4bqtcCBj4bunYSBjw6FjIHNhaSBz4buRLiAgIA0KKiAqKsSQaeG7g20gROG7ryBsaeG7h3UgTmdv4bqhaSBsYWkgdsOgIOG6om5oIGjGsOG7n25nIChPdXRsaWVycyBhbmQgSW5mbHVlbnRpYWwgT2JzZXJ2YXRpb25zKToqKiBQaOG6p24gbsOgeSBz4bq9IHThuq1wIHRydW5nIHbDoG8gdmnhu4djIHjDoWMgxJHhu4tuaCB2w6AgeOG7rSBsw70gY8OhYyDEkWnhu4NtIGThu68gbGnhu4d1IG5nb+G6oWkgbGFpIChjw7MgZ2nDoSB0cuG7iyBraMOhYyBiaeG7h3QgxJHDoW5nIGvhu4Mgc28gduG7m2kgcGjhuqduIGPDsm4gbOG6oWkpIHbDoCBjw6FjIHF1YW4gc8OhdCBjw7Mg4bqjbmggaMaw4bufbmcgbOG7m24gxJHhur9uIGPDoWMgxrDhu5tjIGzGsOG7o25nIHRoYW0gc+G7kSBj4bunYSBtw7QgaMOsbmguIEPDoWMgY8O0bmcgY+G7pSBuaMawIHBo4bqnbiBkxrAgc3R1ZGVudCBow7NhIHbDoCBjw6FjIHRoxrDhu5tjIMSRbyDhuqNuaCBoxrDhu59uZyAoaW5mbHVlbnRpYWwgbWVhc3VyZXMpIGPDsyB0aOG7gyDEkcaw4bujYyBnaeG7m2kgdGhp4buHdS4gICANCiAqICoqVGh14bqtdCBuZ+G7ryBjaG8gUGjhuqduIGTGsCAoVGVybWlub2xvZ3kgZm9yIFJlc2lkdWFscyk6KiogQ8OzIHRo4buDIGPDsyBt4buZdCBwaOG6p24gbMOgbSByw7UgY8OhYyB0aHXhuq10IG5n4buvIGtow6FjIG5oYXUgbGnDqm4gcXVhbiDEkeG6v24gcGjhuqduIGTGsC4gICANCiANCiMjIyAqKljDonkgZOG7sW5nIE3DtCBow6xuaCAoTW9kZWwtQnVpbGRpbmcpKiogICANCiBQaOG6p24gbsOgeSB04bqtcCB0cnVuZyB2w6BvIGPDoWMga+G7uSB0aHXhuq10IMSR4buDIGPhuqNpIHRoaeG7h24gbcO0IGjDrG5oIGjhu5NpIHF1eSBraGkgY8OhYyB24bqlbiDEkeG7gSBjaOG6qW4gxJFvw6FuIMSRxrDhu6NjIHBow6F0IGhp4buHbiBob+G6t2Mga2hpIG114buRbiB4w6J5IGThu7FuZyBt4buZdCBtw7QgaMOsbmggdOG7kXQgaMahbi4gQ8OhYyBu4buZaSBkdW5nIGNow61uaCBiYW8gZ+G7k206ICAgDQoqICoqQ8OhYyBCaeG7h24gcGjDoXAgS2jhuq9jIHBo4bulYyBjw6FjIFbhuqVuIMSR4buBIMSQw6MgWMOhYyDEkeG7i25oIChSZW1lZGllczogRml4aW5nIElkZW50aWZpZWQgUHJvYmxlbXMpOioqIEtoaSBjw6FjIGdp4bqjIMSR4buLbmggYuG7iyB2aSBwaOG6oW0sIGNoxrDGoW5nIG7DoHkgc+G6vSB0aOG6o28gbHXhuq1uIHbhu4EgY8OhYyBwaMawxqFuZyBwaMOhcCDEkeG7gyBraOG6r2MgcGjhu6VjIGNow7puZy4gICANCiogKipCaeG6v24gxJDhu5VpIFBo4bqjbiBo4buTaSAoVHJhbnNmb3JtaW5nIHRoZSBSZXNwb25zZSk6KiogTeG7mXQgdHJvbmcgbmjhu69uZyBiaeG7h24gcGjDoXAga2jhuq9jIHBo4bulYyBwaOG7lSBiaeG6v24gbMOgIGJp4bq/biDEkeG7lWkgYmnhur9uIHBo4bqjbiBo4buTaSDEkeG7gyDEkeG6oXQgxJHGsOG7o2MgdMOtbmggdHV54bq/biB0w61uaCwgcGjGsMahbmcgc2FpIGtow7RuZyDEkeG7lWkgaG/hurdjIHBow6JuIHBo4buRaSBn4bqnbiBjaHXhuqluIGjGoW4uIENoxrDGoW5nIG7DoHkgY8OzIHRo4buDIGdp4bubaSB0aGnhu4d1IGPDoWMgbG/huqFpIHBow6lwIGJp4bq/biDEkeG7lWkga2jDoWMgbmhhdSwgYmFvIGfhu5NtIHRoYW5nIGzFqXkgdGjhu6thIChsYWRkZXIgb2YgcG93ZXJzKSB2w6AgcGjDqXAgYmnhur9uIMSR4buVaSBCb3gtQ294LiAgIA0KKiAqKkJp4bq/biDEkOG7lWkgxJDGoW4gZ2nhuqNuIGPhu6dhIEPDoWMgQmnhur9uIENvdmFyaWF0ZSoqOiB04bqtcCB0cnVuZyB2w6BvIHZp4buHYyDDoXAgZOG7pW5nIGPDoWMgaMOgbSB0b8OhbiBo4buNYyBjxqEgYuG6o24gbMOqbiBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoIHRyb25nIG3DtCBow6xuaCBo4buTaSBxdXkuIE3hu6VjIMSRw61jaCBjaMOtbmggY+G7p2Egdmnhu4djIG7DoHkgbMOgIMSR4buDIGzDoG0gdHV54bq/biB0w61uaCBow7NhIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgYmnhur9uIGdp4bqjaSB0aMOtY2ggdsOgIGJp4bq/biBwaOG6o24gaOG7k2ksIMSRaeG7gXUgbsOgeSBjw7MgdGjhu4MgZ2nDunAgbcO0IGjDrG5oIHBow7kgaOG7o3AgaMahbiB24bubaSBk4buvIGxp4buHdS4gQ8OhYyBwaMOpcCBiaeG6v24gxJHhu5VpIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyBiYW8gZ+G7k20gbOG6pXkgbG9nYXJpdCBraGkgbeG7kWkgcXVhbiBo4buHIGPDsyB0w61uaCBjaOG6pXQgdMSDbmcgaG/hurdjIGdp4bqjbSB0aGVvIGPhuqVwIHPhu5EgbmjDom4sIGzhuqV5IGPEg24gYuG6rWMgaGFpIGtoaSBz4buxIHTDoWMgxJHhu5luZyBj4bunYSBiaeG6v24gZ2nhuqNtIGThuqduLCBob+G6t2Mgc+G7rSBk4bulbmcgaMOgbSBuZ2jhu4tjaCDEkeG6o28ga2hpIHTDoWMgxJHhu5luZyBt4bqhbmgg4bufIGdpw6EgdHLhu4sgbmjhu48gdsOgIHnhur91IGThuqduIOG7nyBnacOhIHRy4buLIGzhu5tuLiAgIA0KIA0KIyMgKipDSMavxqBORyA0OiDDnSBUxq/hu55ORyDGr+G7mkMgTMav4buiTkcgS0jhuqIgTsSCTkcgWOG6olkgUkEgQ+G7sEMgxJDhuqBJKiogICANCioqxq/hu5tjIGzGsOG7o25nIGto4bqjIG7Eg25nIFjhuqN5IHJhIEPhu7FjIMSR4bqhaSAoTWF4aW11bSBMaWtlbGlob29kIEVzdGltYXRpb24pKioNCg0KKiAqKsOdIHTGsOG7n25nIGPGoSBi4bqjbjoqKiBNTEUgbMOgIG3hu5l0IHBoxrDGoW5nIHBow6FwIHRo4buRbmcga8OqIG3huqFuaCBt4bq9IG5o4bqxbSB4w6FjIMSR4buLbmggY8OhYyBnacOhIHRy4buLIHRoYW0gc+G7kSDhuqluIGPhu6dhIG3hu5l0IG3DtCBow6xuaCB4w6FjIHN14bqldC4gTeG7pWMgdGnDqnUgY2jDrW5oIGzDoCB0w6xtIHJhIGLhu5kgdGhhbSBz4buRIG3DoCBraGkgxJHDsywgeMOhYyBzdeG6pXQgKGhv4bq3YyBt4bqtdCDEkeG7mSB4w6FjIHN14bqldCkgY+G7p2Egdmnhu4djIHF1YW4gc8OhdCDEkcaw4bujYyBk4buvIGxp4buHdSB0aOG7sWMgdOG6vyBsw6AgY2FvIG5o4bqldC4gTsOzaSBt4buZdCBjw6FjaCBraMOhYywgY2jDum5nIHRhIMSRYW5nIGPhu5EgZ+G6r25nICJsw6BtIGNobyIgZOG7ryBsaeG7h3UgxJHDoyB44bqjeSByYSB0cuG7nyBuw6puICJraOG6oyBuxINuZyIgbmjhuqV0IGPDsyB0aOG7gyBkxrDhu5tpIG3DtCBow6xuaCBnaeG6oyDEkeG7i25oLiAgIA0KKiAqKk5ndXnDqm4gdOG6r2MgY+G7kXQgbMO1aToqKiBQaMawxqFuZyBwaMOhcCBNTEUgZOG7sWEgdHLDqm4gdmnhu4djIHjDonkgZOG7sW5nIGjDoG0ga2jhuqMgbsSDbmcgKGxpa2VsaWhvb2QgZnVuY3Rpb24pLCBrw70gaGnhu4d1IHRoxrDhu51uZyBsw6AgJFxtYXRoY2Fse0x9KFx0aGV0YXxcbWF0aGJme3l9KSQgIHRyb25nIMSRw7MgzrggbMOgIHZlY3RvciBjw6FjIHRoYW0gc+G7kSBjaMawYSBiaeG6v3QgdsOgIHkgbMOgIGThu68gbGnhu4d1IHF1YW4gc8OhdCDEkcaw4bujYy4gSMOgbSBraOG6oyBuxINuZyBuw6B5IHRo4buxYyBjaOG6pXQgbMOgIGjDoG0gbeG6rXQgxJHhu5kgeMOhYyBzdeG6pXQgKGhv4bq3YyBow6BtIGto4buRaSBsxrDhu6NuZyB4w6FjIHN14bqldCkgY+G7p2EgZOG7ryBsaeG7h3UsIG5oxrBuZyDEkcaw4bujYyB4ZW0gbmjGsCBt4buZdCBow6BtIGPhu6dhIGPDoWMgdGhhbSBz4buRIM64IGtoaSBk4buvIGxp4buHdSB5IMSRw6MgY+G7kSDEkeG7i25oLiBOZ3V5w6puIHThuq9jIE1MRSBsw6AgdMOsbSBnacOhIHRy4buLICRcd2lkZWhhdHtcdGhldGF9JCBtw6AgY+G7sWMgxJHhuqFpIGjDs2EgaMOgbSBraOG6oyBuxINuZyBuw6B5LiAgIA0KKiAqKsSQaeG7g20gcXVhbiB0cuG7jW5nOioqIE1MRSDEkeG6t2MgYmnhu4d0IHF1YW4gdHLhu41uZyB2w6AgaOG7r3Ugw61jaCBraGkgbMOgbSB2aeG7h2MgduG7m2kgY8OhYyBsb+G6oWkgZOG7ryBsaeG7h3UgY8OzIHBow6JuIHBo4buRaSBraMOhYyB24bubaSBwaMOibiBwaOG7kWkgY2h14bqpbiwgbsahaSBjw6FjIHBoxrDGoW5nIHBow6FwIGThu7FhIHRyw6puIGdp4bqjIMSR4buLbmggduG7gSBzYWkgc+G7kSBjaHXhuqluIChuaMawIGLDrG5oIHBoxrDGoW5nIHThu5FpIHRoaeG7g3UgdGjDtG5nIHRoxrDhu51uZykgY8OzIHRo4buDIGtow7RuZyBjw7JuIGhp4buHdSBxdeG6oyBob+G6t2MgZOG6q24gxJHhur9uIGPDoWMgxrDhu5tjIGzGsOG7o25nIGtow7RuZyB04buRaSDGsHUuIE1MRSBjdW5nIGPhuqVwIG3hu5l0IGtodcO0biBraOG7lSBsw70gdGh1eeG6v3QgdGjhu5FuZyBuaOG6pXQgdsOgIGxpbmggaG/huqF0IGNobyB2aeG7h2MgxrDhu5tjIGzGsOG7o25nIHRoYW0gc+G7kSB0cm9uZyBy4bqldCBuaGnhu4F1IGxv4bqhaSBtw7QgaMOsbmgga2jDoWMgbmhhdSwgdOG7qyBjw6FjIG3DtCBow6xuaCBy4budaSBy4bqhYyAobmjGsCBCZXJub3VsbGksIFBvaXNzb24sIG5o4buLIHRo4bupYykgxJHhur9uIGPDoWMgbcO0IGjDrG5oIGxpw6puIHThu6VjIChuaMawIEdhbW1hLCBtxakpLiAgIA0KKiAqKsav4bubYyBsxrDhu6NuZyBLaOG6oyBuxINuZyBD4buxYyDEkeG6oWkgKE1MRSk6KiogR2nDoSB0cuG7iyAkXHdpZGVoYXR7XHRoZXRhfSQgbcOgIMSR4bqhdCDEkcaw4bujYyBnacOhIHRy4buLIGzhu5tuIG5o4bqldCBj4bunYSBow6BtIGto4bqjIG7Eg25nIMSRxrDhu6NjIGfhu41pIGzDoCDGsOG7m2MgbMaw4bujbmcga2jhuqMgbsSDbmcgY+G7sWMgxJHhuqFpIChtYXhpbXVtIGxpa2VsaWhvb2QgZXN0aW1hdG9yKS4gTUxFIGzDoCBt4buZdCDEkWnhu4NtIHRyb25nIGtow7RuZyBnaWFuIHRoYW0gc+G7kSBtw6AgdOG6oWkgxJHDsywgbcO0IGjDrG5oICJwaMO5IGjhu6NwIiBuaOG6pXQgduG7m2kgZOG7ryBsaeG7h3UgxJHDoyBxdWFuIHPDoXQgdGhlbyBuZ2jEqWEgbMOgIGzDoG0gY2hvIGThu68gbGnhu4d1IMSRw7MgY8OzIGto4bqjIG7Eg25nIHjhuqN5IHJhIGNhbyBuaOG6pXQuIMav4bubYyBsxrDhu6NuZyBuw6B5IHRoxrDhu51uZyDEkcaw4bujYyBrw70gaGnhu4d1IGLhurFuZyBjw6FjaCB0aMOqbSBk4bqldSBtxakgbMOqbiB0csOqbiBrw70gaGnhu4d1IHRoYW0gc+G7kSwgdsOtIGThu6UgJFx3aWRlaGF0e1x0aGV0YX0kLiAgIA0KKiAqKlTDrG0gTUxFOioqdHJvbmcgdGjhu7FjIHThur8sIHZp4buHYyB0cuG7sWMgdGnhur9wIGPhu7FjIMSR4bqhaSBow7NhIGjDoG0ga2jhuqMgbsSDbmcgxJHDtGkga2hpIHBo4bupYyB04bqhcCwgZG8gxJHDsyBuZ8aw4budaSB0YSB0aMaw4budbmcgbMOgbSB2aeG7h2MgduG7m2kgbG9nYXJpdCBj4bunYSBow6BtIGto4bqjIG7Eg25nIChsb2ctbGlrZWxpaG9vZCBmdW5jdGlvbiksIGvDvSBoaeG7h3UgJCRsKFx0aGV0YXxcbWF0aGJme3l9KSA9IFxsb2cgXG1hdGhjYWx7TH0oXHRoZXRhfFxtYXRoYmZ7eX0pJCQgIFbDrCBsb2dhcml0IGzDoCBt4buZdCBow6BtIHTEg25nIMSRxqFuIMSRaeG7h3UsIHZp4buHYyBj4buxYyDEkeG6oWkgaMOzYSBsb2ctbGlrZWxpaG9vZCB0xrDGoW5nIMSRxrDGoW5nIHbhu5tpIHZp4buHYyBj4buxYyDEkeG6oWkgaMOzYSBsaWtlbGlob29kLiDEkOG7gyB0w6xtIE1MRSwgY2jDum5nIHRhIHRoxrDhu51uZyBs4bqleSDEkeG6oW8gaMOgbSAoaG/hurdjIMSR4bqhbyBow6BtIHJpw6puZyDEkeG7kWkgduG7m2kgbmhp4buBdSB0aGFtIHPhu5EpIGPhu6dhIGxvZy1saWtlbGlob29kIHRoZW8gY8OhYyB0aGFtIHPhu5EsIMSR4bq3dCBjaMO6bmcgYuG6sW5nIGtow7RuZywgdsOgIGdp4bqjaSBo4buHIHBoxrDGoW5nIHRyw6xuaCB0aHUgxJHGsOG7o2MuIEPDoWMgbmdoaeG7h20gY+G7p2EgaOG7hyBwaMawxqFuZyB0csOsbmggbsOgeSBsw6AgY8OhYyDhu6luZyB2acOqbiBjaG8gTUxFLCB2w6AgY2jDum5nIHRhIGPhuqduIGtp4buDbSB0cmEgxJFp4buBdSBraeG7h24gxJHhuqFvIGjDoG0gYuG6rWMgaGFpIMSR4buDIMSR4bqjbSBi4bqjbyDEkcOzIGzDoCDEkWnhu4NtIGPhu7FjIMSR4bqhaS4gICANCiogKirEkMOhbmggZ2nDoSDEkeG7mSBjaMOtbmggeMOhYzoqKiDEkOG7mSBjaMOtbmggeMOhYyBj4bunYSBjw6FjIMaw4bubYyBsxrDhu6NuZyBNTEUgY8OzIHRo4buDIMSRxrDhu6NjIMSRw6FuaCBnacOhIHRow7RuZyBxdWEgdGjDtG5nIHRpbiAoaW5mb3JtYXRpb24pLCB0aMaw4budbmcgxJHGsOG7o2MgxJFvIGLhurFuZyDEkeG7mSBjb25nIGPhu6dhIGxvZy1saWtlbGlob29kIGZ1bmN0aW9uIHThuqFpIE1MRS4gVGjDtG5nIHRpbiBs4bubbiBjaG8gdGjhuqV5IGxvZy1saWtlbGlob29kIGPDsyDEkeG7iW5oIG5o4buNbiwgbmfhu6Ugw70gcuG6sW5nIMaw4bubYyBsxrDhu6NuZyBsw6AgY2jDrW5oIHjDoWMgaMahbiAow610IGJp4bq/biDEkeG7mW5nIGjGoW4pLiBTYWkgc+G7kSBjaHXhuqluIChzdGFuZGFyZCBlcnJvcikgY+G7p2EgTUxFLCBt4buZdCB0aMaw4bubYyDEkW8gxJHhu5kgYmnhur9uIMSR4buZbmcgY+G7p2EgxrDhu5tjIGzGsOG7o25nLCB0aMaw4budbmcgxJHGsOG7o2MgxrDhu5tjIHTDrW5oIGThu7FhIHRyw6puIG5naOG7i2NoIMSR4bqjbyBj4bunYSB0aMO0bmcgdGluIChob+G6t2Mgbmdo4buLY2ggxJHhuqNvIGPhu6dhIG1hIHRy4bqtbiB0aMO0bmcgdGluIHRyb25nIHRyxrDhu51uZyBo4bujcCBuaGnhu4F1IHRoYW0gc+G7kSkuICAgDQoNCioqVGh14bqtdCB0b8OhbiBGaXNoZXIgU2NvcmluZyoqICAgDQogUGjhuqduIG7DoHkgdHLDrG5oIGLDoHkgdGh14bqtdCB0b8OhbiBGaXNoZXIgc2NvcmluZyBuaMawIG3hu5l0IHBoxrDGoW5nIHBow6FwIGzhurdwIMSR4buDIHTDrW5oIHRvw6FuIGPDoWMgxrDhu5tjIGzGsOG7o25nIGto4bqjIG7Eg25nIGPhu7FjIMSR4bqhaSwgxJHhurdjIGJp4buHdCBraGkga2jDtG5nIHRo4buDIGdp4bqjaSBwaMawxqFuZyB0csOsbmggxJFp4buDbSBz4buRIG3hu5l0IGPDoWNoIHRy4buxYyB0aeG6v3AuIFRodeG6rXQgdG/DoW4gbsOgeSBz4butIGThu6VuZyBtYSB0cuG6rW4gdGjDtG5nIHRpbiBr4buzIHbhu41uZyDEkeG7gyBj4bqtcCBuaOG6rXQgY8OhYyDGsOG7m2MgbMaw4bujbmcgdGhhbSBz4buRIHF1YSBjw6FjIGzhuqduIGzhurdwIGNobyDEkeG6v24ga2hpIMSR4bqhdCDEkcaw4bujYyBz4buxIGjhu5lpIHThu6UuIMSQw6J5IGzDoCBt4buZdCBwaMawxqFuZyBwaMOhcCB04buRaSDGsHUgaMOzYSB0aMaw4budbmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY2hvIGPDoWMgbcO0IGjDrG5oIHBo4bupYyB04bqhcC4gICANCiAqKktp4buDbSDEkeG7i25oIEdp4bqjIHRodXnhur90KiogICANCiAgUGjhuqduIG7DoHkgdOG6rXAgdHJ1bmcgdsOgbyB2aeG7h2Mgc+G7rSBk4bulbmcgcGjGsMahbmcgcGjDoXAgxrDhu5tjIGzGsOG7o25nIGto4bqjIG7Eg25nIGPhu7FjIMSR4bqhaSAoTUxFKSDEkeG7gyB0aOG7sWMgaGnhu4duIGtp4buDbSDEkeG7i25oIGdp4bqjIHRodXnhur90IHbhu4EgY8OhYyB0aGFtIHPhu5EgY+G7p2EgbcO0IGjDrG5oLiBLaOG6oyBuxINuZyB44bqjeSByYSBjw6FjIGxv4bqhaSBraeG7g20gxJHhu4tuaCBiYW8gZ+G7k20gYmEgcGjGsMahbmcgcGjDoXAgdGnhu4dtIGPhuq1uIGNow61uaCBjaG8gbeG6q3UgbOG7m246IGtp4buDbSDEkeG7i25oIHThu7cgc+G7kSBraOG6oyBuxINuZyAoTGlrZWxpaG9vZCBSYXRpbyBUZXN0IC0gTFJUKSwga2nhu4NtIMSR4buLbmggV2FsZCwgdsOgIGtp4buDbSDEkeG7i25oIMSRaeG7g20gc+G7kSAoU2NvcmUgVGVzdCkuIEPhuqMgYmEga2nhu4NtIMSR4buLbmggbsOgeSDEkeG7gXUgZOG7sWEgdHLDqm4gbMO9IHRodXnhur90IHRp4buHbSBj4bqtbiB2w6AgdGjGsOG7nW5nIGPDsyBwaMOibiBwaOG7kWkgY2hpIGLDrG5oIHBoxrDGoW5nICgkWF4yJCkgZMaw4bubaSBnaeG6oyB0aHV54bq/dCBraMO0bmcga2hpIGvDrWNoIHRoxrDhu5tjIG3huqt1IMSR4bunIGzhu5tuLiBWaeG7h2MgbOG7sWEgY2jhu41uIGtp4buDbSDEkeG7i25oIG7DoG8gY8OzIHRo4buDIHBo4bulIHRodeG7mWMgdsOgbyB0w61uaCB0b8OhbiwgY8OhYyDEkeG6t2MgdMOtbmggdGnhu4dtIGPhuq1uIGPhu6UgdGjhu4MsIHbDoCBsaeG7h3UgY2jDum5nIHRhIMSRYW5nIGtp4buDbSDEkeG7i25oIG3hu5l0IGhheSBuaGnhu4F1IHRoYW0gc+G7kS4gICANCiAgQ8ahIHPhu58gY+G7p2EgY8OhYyBraeG7g20gxJHhu4tuaCBuw6B5IG7hurFtIOG7nyBjw6FjIHRodeG7mWMgdMOtbmggdGnhu4dtIGPhuq1uIGPhu6dhIE1MRS4gTUxFIMSRxrDhu6NjIGNo4bupbmcgbWluaCBsw6AgbmjhuqV0IHF1w6FuIChjb252ZXJnZXMgdG8gdGhlIHRydWUgcGFyYW1ldGVyIHZhbHVlIGtoaSBrw61jaCB0aMaw4bubYyBt4bqrdSB0xINuZyBsw6puKSwgcGjDom4gcGjhu5FpIHRp4buHbSBj4bqtbiBjaHXhuqluIChhc3ltcHRvdGljYWxseSBub3JtYWwpLCB2w6AgaGnhu4d1IHF14bqjIHRp4buHbSBj4bqtbiAoYXN5bXB0b3RpY2FsbHkgZWZmaWNpZW50LCBjw7MgcGjGsMahbmcgc2FpIG5o4buPIG5o4bqldCB0cm9uZyBs4bubcCBjw6FjIMaw4bubYyBsxrDhu6NuZyBraMO0bmcgY2jhu4djaCB0aeG7h20gY+G6rW4pLiBLaeG7g20gxJHhu4tuaCB04bu3IHPhu5Ega2jhuqMgbsSDbmcgc28gc8Ohbmggc+G7sSBwaMO5IGjhu6NwIGPhu6dhIG3DtCBow6xuaCDEkeG6p3kgxJHhu6cgduG7m2kgc+G7sSBwaMO5IGjhu6NwIGPhu6dhIG3DtCBow6xuaCBi4buLIHLDoG5nIGJ14buZYyB0aGVvIGdp4bqjIHRodXnhur90IGtow7RuZy4gS2nhu4NtIMSR4buLbmggV2FsZCBk4buxYSB0csOqbiBraG/huqNuZyBjw6FjaCBnaeG7r2EgxrDhu5tjIGzGsOG7o25nIE1MRSB2w6AgZ2nDoSB0cuG7iyB0aGFtIHPhu5EgZMaw4bubaSBnaeG6oyB0aHV54bq/dCBraMO0bmcsIHPhu60gZOG7pW5nIHNhaSBz4buRIGNodeG6qW4gxrDhu5tjIHTDrW5oIHThu6sgbWEgdHLhuq1uIHRow7RuZyB0aW4uIEtp4buDbSDEkeG7i25oIMSRaeG7g20gc+G7kSDEkcOhbmggZ2nDoSDEkeG7mSBk4buRYyBj4bunYSBow6BtIGxvZy1raOG6oyBuxINuZyB04bqhaSBnacOhIHRy4buLIHRoYW0gc+G7kSDEkcaw4bujYyBjaOG7iSDEkeG7i25oIGLhu59pIGdp4bqjIHRodXnhur90IGtow7RuZy4gICANCiAgS2nhu4NtIMSR4buLbmggV2FsZCBjw7MgdGjhu4MgZ+G6t3AgduG6pW4gxJHhu4EgduG7m2kgZOG7ryBsaeG7h3Ugbmjhu4sgdGjhu6ljLCDEkeG6t2MgYmnhu4d0IGtoaSBjw6FjIHjDoWMgc3XhuqV0IGfhuqduIDAgaG/hurdjIDEsIGhv4bq3YyBraGkga8OtY2ggdGjGsOG7m2MgbeG6q3Ugbmjhu48uIFRyb25nIG5o4buvbmcgdMOsbmggaHXhu5FuZyBuw6B5LCBwaMOibiBwaOG7kWkgdGnhu4dtIGPhuq1uIGNodeG6qW4gY8OzIHRo4buDIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHjhuqVwIHjhu4kgdOG7kXQgY2hvIHBow6JuIHBo4buRaSB0aOG7sWMgdOG6vyBj4bunYSBNTEUuIMSQaeG7gXUgbsOgeSBjw7MgdGjhu4MgZOG6q24gxJHhur9uIGPDoWMga2nhu4NtIMSR4buLbmggV2FsZCBraMO0bmcgY2jDrW5oIHjDoWMsIHbhu5tpIHThu7cgbOG7hyBs4buXaSBsb+G6oWkgSSB0aOG7sWMgdOG6vyBraMOhYyDEkcOhbmcga+G7gyBzbyB24bubaSBt4bupYyDDvSBuZ2jEqWEgZGFuaCBuZ2jEqWEgKHbDrSBk4bulOiDOsT0wLjA1KS4gQ8OhYyB24bqlbiDEkeG7gSB0aMaw4budbmcgZ+G6t3AgYmFvIGfhu5NtIGtob+G6o25nIHRpbiBj4bqteSBXYWxkIGPDsyB0aOG7gyBu4bqxbSBuZ2/DoGkga2hv4bqjbmcgaOG7o3AgbMO9IGPhu6dhIHRoYW0gc+G7kSAodsOtIGThu6U6IHjDoWMgc3XhuqV0IMOibSBob+G6t2MgbOG7m24gaMahbiAxKSB2w6AgY8OhYyBraeG7g20gxJHhu4tuaCBnaeG6oyB0aHV54bq/dCBjw7MgdGjhu4MgY2hvIGvhur90IHF14bqjIGtow7RuZyDEkcOhbmcgdGluIGPhuq15LiBUcm9uZyBuaOG7r25nIHRyxrDhu51uZyBo4bujcCBuaMawIHbhuq15LCBraeG7g20gxJHhu4tuaCB04bu3IHPhu5Ega2jhuqMgbsSDbmcgKExSVCkgaG/hurdjIGtp4buDbSDEkeG7i25oIMSRaeG7g20gc+G7kSAoU2NvcmUgVGVzdCkgdGjGsOG7nW5nIMSRxrDhu6NjIGNvaSBsw6AgxJHDoW5nIHRpbiBj4bqteSBoxqFuIHbDrCBjaMO6bmcgZOG7sWEgdHLDqm4gdG/DoG4gYuG7mSBow6BtIGto4bqjIG7Eg25nIHbDoCBjw7MgY8OhYyDEkeG6t2MgdMOtbmggdGnhu4dtIGPhuq1uIHThu5F0IGjGoW4gdHJvbmcgbeG7mXQgc+G7kSB0w6xuaCBodeG7kW5nLiAgIA0KIA0KIyMgKipDSMavxqBORyA1OiBDw4FDIE3DlCBIw4xOSCBUVVnhur5OIFTDjU5IIFThu5RORyBRVcOBVCBHTE1zKiogICANCg0KKiAqKkhhaSBUaMOgbmggcGjhuqduIGPhu6dhIE3DtCBow6xuaCBUdXnhur9uIHTDrW5oIFThu5VuZyBxdcOhdCoqOiBNw7QgaMOsbmggVHV54bq/biB0w61uaCBU4buVbmcgcXXDoXQgKEdMTXMpIMSRxrDhu6NjIHjDonkgZOG7sW5nIGThu7FhIHRyw6puIHPhu7Ega+G6v3QgaOG7o3AgY+G7p2EgaGFpIHRow6BuaCBwaOG6p24gY2jDrW5oLiBUaMOgbmggcGjhuqduIG5n4bqrdSBuaGnDqm4gY2jhu4kgxJHhu4tuaCBwaMOibiBwaOG7kWkgeMOhYyBzdeG6pXQgY+G7p2EgYmnhur9uIHBo4bqjbiBo4buTaSAoWSksIHjDoWMgxJHhu4tuaCBj4bqldSB0csO6YyBuZ+G6q3Ugbmhpw6puIGPhu6dhIGThu68gbGnhu4d1LiBUaGF5IHbDrCBjaOG7iSBnaeG7m2kgaOG6oW4g4bufIHBow6JuIHBo4buRaSBjaHXhuqluLCBHTE1zIGNobyBwaMOpcCBZIHR1w6JuIHRoZW8gY8OhYyBwaMOibiBwaOG7kWkga2jDoWMgbmhhdSBuaMawIEJlcm5vdWxsaSAoY2hvIGThu68gbGnhu4d1IG5o4buLIHBow6JuKSwgUG9pc3NvbiAoY2hvIGThu68gbGnhu4d1IMSR4bq/bSksIGhv4bq3YyBHYW1tYSAoY2hvIGThu68gbGnhu4d1IGxpw6puIHThu6VjIGTGsMahbmcpLiBUaMOgbmggcGjhuqduIGjhu4cgdGjhu5FuZyBtw7QgdOG6oyBwaOG6p24ga+G7syB24buNbmcgY+G7p2EgYmnhur9uIHBo4bqjbiBo4buTaSB0aMO0bmcgcXVhIG3hu5l0IGjDoG0gdHV54bq/biB0w61uaCBj4bunYSBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoIChYKS4gQ+G7pSB0aOG7gywgbsOzIHThuqFvIHJhIG3hu5l0IHBo4bqnbiB0dXnhur9uIHTDrW5oIChsaW5lYXIgcHJlZGljdG9yKSwgdGjGsOG7nW5nIGvDvSBoaeG7h3UgbMOgICQkXGV0YSA9IFxiZXRhXzAgKyBcYmV0YV8xIFhfMSArIFxkb3RzICsgXGJldGFfcCBYX3AuJCQuICBT4buxIGvhur90IGjhu6NwIGxpbmggaG/huqF0IGPhu6dhIHRow6BuaCBwaOG6p24gbmfhuqt1IG5oacOqbiB2w6AgaOG7hyB0aOG7kW5nIGNobyBwaMOpcCBHTE1zIG3DtCBow6xuaCBow7NhIG5oaeG7gXUgbG/huqFpIGThu68gbGnhu4d1IGtow6FjIG5oYXUuICAgDQoqICoqVGjDoG5oIHBo4bqnbiBOZ+G6q3Ugbmhpw6puOiBI4buNIGjDoG0gbcWpKiogICANCiAgVGjDoG5oIHBo4bqnbiBuZ+G6q3Ugbmhpw6puIGPhu6dhIEdMTXMgdGjGsOG7nW5nIHRodeG7mWMgduG7gSBo4buNIGjDoG0gbcWpIChFeHBvbmVudGlhbCBEaXNwZXJzaW9uIE1vZGVscyAtIEVETXMpLiBI4buNIG7DoHkgYmFvIGfhu5NtIG5oaeG7gXUgcGjDom4gcGjhu5FpIHjDoWMgc3XhuqV0IHBo4buVIGJp4bq/biwgY8OzIGNodW5nIG3hu5l0IGThuqFuZyB0b8OhbiBo4buNYyBj4bulIHRo4buDLiBDw6FjIHBow6JuIHBo4buRaSB0cm9uZyBo4buNIGjDoG0gbcWpIMSRxrDhu6NjIMSR4bq3YyB0csawbmcgYuG7n2kgbeG7mXQgdGhhbSBz4buRIHbhu4sgdHLDrSAodGjGsOG7nW5nIGxpw6puIHF1YW4gxJHhur9uIGdpw6EgdHLhu4sgdHJ1bmcgYsOsbmgpIHbDoCBt4buZdCB0aGFtIHPhu5EgdOG7tyBs4buHIChob+G6t2MgcGjDom4gdMOhbikuIFZp4buHYyBz4butIGThu6VuZyBFRE1zIG1hbmcgbOG6oWkgbmhp4buBdSBs4bujaSDDrWNoIHbhu4EgbeG6t3QgbMO9IHRodXnhur90IHbDoCB0w61uaCB0b8OhbiBjaG8gR0xNcywgYmFvIGfhu5NtIGPDoWMgY8O0bmcgdGjhu6ljIHRo4buRbmcgbmjhuqV0IGNobyDGsOG7m2MgbMaw4bujbmcgdGhhbSBz4buRIHbDoCBzdXkgZGnhu4VuLiBDw6FjIHbDrSBk4bulIHF1YW4gdHLhu41uZyB24buBIEVETXMgYmFvIGfhu5NtIHBow6JuIHBo4buRaSBjaHXhuqluLCBCZXJub3VsbGksIFBvaXNzb24sIG5o4buLIHRo4bupYywgR2FtbWEgdsOgIEludmVyc2UgR2F1c3NpYW4sIG3hu5dpIHBow6JuIHBo4buRaSBwaMO5IGjhu6NwIHbhu5tpIG3hu5l0IGxv4bqhaSBk4buvIGxp4buHdSBj4bulIHRo4buDLiAgIA0KKiAqKlRow6BuaCBwaOG6p24gSOG7hyB0aOG7kW5nKiogICANCiAgVGjDoG5oIHBo4bqnbiBo4buHIHRo4buRbmcgY+G7p2EgR0xNcyB04bqtcCB0cnVuZyB2w6BvIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgZ2nDoSB0cuG7iyBr4buzIHbhu41uZyBj4bunYSBiaeG6v24gcGjhuqNuIGjhu5NpIHbDoCBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoLiBUaGF5IHbDrCB0cuG7sWMgdGnhur9wIG3DtCBow6xuaCBow7NhIGvhu7MgduG7jW5nIGLhurFuZyBt4buZdCBow6BtIHR1eeG6v24gdMOtbmggbmjGsCB0cm9uZyBtw7QgaMOsbmggdHV54bq/biB0w61uaCB0aMO0bmcgdGjGsOG7nW5nLCBHTE1zIHPhu60gZOG7pW5nIG3hu5l0IGjDoG0gbGnDqm4ga+G6v3QgKGxpbmsgZnVuY3Rpb24pIMSR4buDIGvhur90IG7hu5FpIGvhu7MgduG7jW5nIGPhu6dhIGJp4bq/biBwaOG6o24gaOG7k2kgKHRyw6puIHRoYW5nIMSRbyBj4bunYSBwaMOibiBwaOG7kWkgY+G7p2EgbsOzKSB24bubaSBwaOG6p24gdHV54bq/biB0w61uaCDOty4gSMOgbSBsacOqbiBr4bq/dCAkJGcoXG11KSA9IFxldGEkJCBsw6AgbeG7mXQgaMOgbSDEkcahbiDEkWnhu4d1IHbDoCBraOG6oyB2aS4gVmnhu4djIGzhu7FhIGNo4buNbiBow6BtIGxpw6puIGvhur90IGNobyBwaMOpcCBHTE1zIG3DtCBow6xuaCBow7NhIGPDoWMgbeG7kWkgcXVhbiBo4buHIHBoaSB0dXnhur9uIHTDrW5oIGdp4buvYSBiaeG6v24gcGjhuqNuIGjhu5NpIHbDoCBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoLiBDw6FjIGjDoG0gbGnDqm4ga+G6v3QgcGjhu5UgYmnhur9uIGJhbyBn4buTbSBow6BtIGxvZ2l0IChjaG8gcGjDom4gcGjhu5FpIEJlcm5vdWxsaS9uaOG7iyB0aOG7qWMpLCBow6BtIGxvZyAoY2hvIHBow6JuIHBo4buRaSBQb2lzc29uL0dhbW1hKSwgdsOgIGjDoG0gaWRlbnRpdHkgKHRyb25nIHRyxrDhu51uZyBo4bujcCB0xrDGoW5nIHThu7EgbcO0IGjDrG5oIHR1eeG6v24gdMOtbmgpLiAgICANCiogKirEkOG7i25oIG5naMSpYSBNw7QgaMOsbmggVHV54bq/biB0w61uaCBU4buVbmcgcXXDoXQqKiAgIA0KIE3hu5l0IE3DtCBow6xuaCBUdXnhur9uIHTDrW5oIFThu5VuZyBxdcOhdCAoR0xNKSDEkcaw4bujYyDEkeG7i25oIG5naMSpYSBi4bufaSBiYSB0aMOgbmggcGjhuqduIGNow61uaDogKDEpIG3hu5l0IHRow6BuaCBwaOG6p24gbmfhuqt1IG5oacOqbiB4w6FjIMSR4buLbmggcGjDom4gcGjhu5FpIHjDoWMgc3XhuqV0IGPhu6dhIGJp4bq/biBwaOG6o24gaOG7k2kgWSwgdGjGsOG7nW5nIGzDoCBt4buZdCBwaMOibiBwaOG7kWkgdGh14buZYyBo4buNIGjDoG0gbcWpOyAoMikgbeG7mXQgdGjDoG5oIHBo4bqnbiBo4buHIHRo4buRbmcgYmFvIGfhu5NtIG3hu5l0IHThu5UgaOG7o3AgdHV54bq/biB0w61uaCDOtyBj4bunYSBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoOyB2w6AgKDMpIG3hu5l0IGjDoG0gbGnDqm4ga+G6v3QgZyDEkcahbiDEkWnhu4d1IHbDoCBraOG6oyB2aSwgbGnDqm4ga+G6v3QgZ2nDoSB0cuG7iyBr4buzIHbhu41uZyAkXG11PUUoWSkkIGPhu6dhIGJp4bq/biBwaOG6o24gaOG7k2kgduG7m2kgdGjDoG5oIHBo4bqnbiBo4buHIHRo4buRbmcgdGjDtG5nIHF1YSAkJGcoXG11KSA9IFxldGEkJC4gR0xNcyBt4bufIHLhu5luZyBtw7QgaMOsbmggdHV54bq/biB0w61uaCB0aMO0bmcgdGjGsOG7nW5nIGLhurFuZyBjw6FjaCBjaG8gcGjDqXAgYmnhur9uIHBo4bqjbiBo4buTaSBjw7MgcGjDom4gcGjhu5FpIGtow6FjIGNodeG6qW4gdsOgIG3DtCBow6xuaCBow7NhIG3hu5FpIHF1YW4gaOG7hyB0aMO0bmcgcXVhIG3hu5l0IGjDoG0gbGnDqm4ga+G6v3QsIGzDoG0gY2hvIGNow7puZyB0cuG7nyB0aMOgbmggbeG7mXQgY8O0bmcgY+G7pSBt4bqhbmggbeG6vSDEkeG7gyBwaMOibiB0w61jaCBuaGnhu4F1IGxv4bqhaSBk4buvIGxp4buHdSBraMOhYyBuaGF1LiAgIA0KIA0KIyMgKipDSMavxqBORyA2Ok3DlCBIw4xOSCBUVVnhur5OIFTDjU5IIFThu5RORyBRVcOBVDogxq/hu5pDIEzGr+G7ok5HKiogICANCioqVMOtbmggdG/DoW4gS2jhuqMgbsSDbmcgY2hvIM6yKiogICANCiDEkOG7gyDGsOG7m2MgbMaw4bujbmcgY8OhYyBo4buHIHPhu5EgaOG7k2kgcXV5IM6yIHRyb25nIEdMTXMsIGNow7puZyB0YSBj4bqnbiB4w6J5IGThu7FuZyBow6BtIGto4bqjIG7Eg25nIGThu7FhIHRyw6puIHBow6JuIHBo4buRaSDEkcOjIGNo4buNbiBjaG8gYmnhur9uIHBo4bqjbiBo4buTaSB2w6AgaMOgbSBsacOqbiBr4bq/dC4gSMOgbSBraOG6oyBuxINuZyBuw6B5IMSRbyBsxrDhu51uZyBt4bupYyDEkeG7mSBwaMO5IGjhu6NwIGPhu6dhIGPDoWMgZ2nDoSB0cuG7iyB0aGFtIHPhu5EgduG7m2kgZOG7ryBsaeG7h3UgcXVhbiBzw6F0IMSRxrDhu6NjLiBWaeG7h2MgY+G7sWMgxJHhuqFpIGjDs2EgaMOgbSBraOG6oyBuxINuZyAoaG/hurdjIGxvZy1ow6BtIGto4bqjIG7Eg25nKSBz4bq9IGNobyByYSBjw6FjIMaw4bubYyBsxrDhu6NuZyBNTEUgY+G7p2EgzrIuIMSQ4buDIHTDrG0gxJFp4buDbSBj4buxYyDEkeG6oWksIGNow7puZyB0YSB0aMaw4budbmcgbOG6pXkgxJHhuqFvIGjDoG0gYuG6rWMgbmjhuqV0IGPhu6dhIGxvZy1ow6BtIGto4bqjIG7Eg25nIHRoZW8gzrIsIHThuqFvIHJhIGPDoWMgcGjGsMahbmcgdHLDrG5oIMSRaeG7g20gc+G7kS4gTWEgdHLhuq1uIHRow7RuZyB0aW4gKGJhbyBn4buTbSB0aMO0bmcgdGluIHF1YW4gc8OhdCB2w6AgdGjDtG5nIHRpbiBr4buzIHbhu41uZykgbMOgIMSR4bqhbyBow6BtIGLhuq1jIGhhaSDDom0gY+G7p2EgbG9nLWjDoG0ga2jhuqMgbsSDbmcsIGN1bmcgY+G6pXAgdGjDtG5nIHRpbiB24buBIMSR4buZIGNvbmcgdsOgIMSR4buZIGNow61uaCB4w6FjIGPhu6dhIGPDoWMgxrDhu5tjIGzGsOG7o25nLiAgIA0KKipUw61uaCB0b8OhbiDGr+G7m2MgbMaw4bujbmcgY+G7p2EgzrIqKiAgIA0KIEPDoWMgcGjGsMahbmcgdHLDrG5oIMSRaeG7g20gc+G7kSB0aHUgxJHGsOG7o2MgdOG7qyBsb2ctaMOgbSBraOG6oyBuxINuZyB0aMaw4budbmcgbMOgIHBoaSB0dXnhur9uIHbDoCBraMO0bmcgdGjhu4MgZ2nhuqNpIHRy4buxYyB0aeG6v3AuIERvIMSRw7MsIGPDoWMgdGh14bqtdCB0b8OhbiDRh9C40YHQu9C10L3QvdC+0LUgbOG6t3AgbMOgIGPhuqduIHRoaeG6v3QgxJHhu4MgdMOsbSBjw6FjIMaw4bubYyBsxrDhu6NuZyBNTEUgY+G7p2EgzrIuIEPDoWMgcGjGsMahbmcgcGjDoXAgcGjhu5UgYmnhur9uIGJhbyBn4buTbSB0aHXhuq10IHRvw6FuIE5ld3Rvbi1SYXBoc29uLCBz4butIGThu6VuZyBtYSB0cuG6rW4gdGjDtG5nIHRpbiBxdWFuIHPDoXQsIHbDoCB0aHXhuq10IHRvw6FuIEZpc2hlciBTY29yaW5nLCBz4butIGThu6VuZyBtYSB0cuG6rW4gdGjDtG5nIHRpbiBr4buzIHbhu41uZy4gQ8OhYyB0aHXhuq10IHRvw6FuIG7DoHkgYuG6r3QgxJHhuqd1IHbhu5tpIG3hu5l0IGdpw6EgdHLhu4sga2jhu59pIHThuqFvIHbDoCBs4bq3cCDEkWkgbOG6t3AgbOG6oWkgxJHhu4MgY+G6o2kgdGhp4buHbiDGsOG7m2MgbMaw4bujbmcgY2hvIMSR4bq/biBraGkgxJHhuqF0IMSRxrDhu6NjIHPhu7EgaOG7mWkgdOG7pS4gVmnhu4djIGzhu7FhIGNo4buNbiB0aHXhuq10IHRvw6FuIGPDsyB0aOG7gyBwaOG7pSB0aHXhu5ljIHbDoG8gxJHhurdjIMSRaeG7g20gY+G7p2EgaMOgbSBraOG6oyBuxINuZyB2w6AgdOG7kWMgxJHhu5kgaOG7mWkgdOG7pS4gICANCioqxJDhu5kgTOG7h2NoIFBo4bqnbiBExrAqKiAgIA0KIMSQ4buZIGzhu4djaCBsw6AgbeG7mXQgdGjGsOG7m2MgxJFvIHbhu4Egc+G7sSBraMOhYyBiaeG7h3QgZ2nhu69hIG3DtCBow6xuaCBoaeG7h24gdOG6oWkgdsOgIG3hu5l0IG3DtCBow6xuaCBiw6NvIGjDsmEgKHNhdHVyYXJlZCBtb2RlbCkgaG/DoG4gdG/DoG4gcGjDuSBo4bujcCB24bubaSBk4buvIGxp4buHdS4gTsOzIMSRw7NuZyB2YWkgdHLDsiB0xrDGoW5nIHThu7EgbmjGsCB04buVbmcgYsOsbmggcGjGsMahbmcgc2FpIHPhu5EgKFNTRSkgdHJvbmcgbcO0IGjDrG5oIHR1eeG6v24gdMOtbmggdGjDtG5nIHRoxrDhu51uZywgbmjGsG5nIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIGThu7FhIHRyw6puIGjDoG0ga2jhuqMgbsSDbmcuIMSQ4buZIGzhu4djaCBwaOG6p24gZMawIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIMSRw6FuaCBnacOhIHPhu7EgcGjDuSBo4bujcCB04buVbmcgdGjhu4MgY+G7p2EgbcO0IGjDrG5oIEdMTSB24bubaSBk4buvIGxp4buHdS4gTsOzIGPFqW5nIGzDoCBjw7RuZyBj4bulIHF1YW4gdHLhu41uZyDEkeG7gyBzbyBzw6FuaCBjw6FjIG3DtCBow6xuaCBs4buTbmcgbmhhdSB0aMO0bmcgcXVhIGtp4buDbSDEkeG7i25oIHThu7cgc+G7kSBraOG6oyBuxINuZyAobGlrZWxpaG9vZCByYXRpbyB0ZXN0cyksIHTGsMahbmcgdOG7sSBuaMawIGtp4buDbSDEkeG7i25oIEYgdHJvbmcgQU5PVkEgY+G7p2EgbcO0IGjDrG5oIHR1eeG6v24gdMOtbmguICAgDQoqKlNhaSBz4buRIENodeG6qW4gY2hvIM6yKiogICANCiBTYWkgc+G7kSBjaHXhuqluIGPhu6dhIGPDoWMgxrDhu5tjIGzGsOG7o25nIGjhu4cgc+G7kSDOsiDEkW8gbMaw4budbmcgxJHhu5kgYmnhur9uIMSR4buZbmcgY+G7p2EgY2jDum5nIGdp4buvYSBjw6FjIG3huqt1IGtow6FjIG5oYXUgdsOgIGN1bmcgY+G6pXAgdGjDtG5nIHRpbiB24buBIMSR4buZIHRpbiBj4bqteSBj4bunYSBjw6FjIMaw4bubYyBsxrDhu6NuZyDEkWnhu4NtLiBDaMO6bmcgdGjGsOG7nW5nIMSRxrDhu6NjIMaw4bubYyB0w61uaCBk4buxYSB0csOqbiBtYSB0cuG6rW4gdGjDtG5nIHRpbi4gQ+G7pSB0aOG7gywgbWEgdHLhuq1uIGhp4buHcCBwaMawxqFuZyBzYWkgdGnhu4dtIGPhuq1uIGPhu6dhICRcaGF0e1xiZXRhfSQgbMOgIG5naOG7i2NoIMSR4bqjbyBj4bunYSBtYSB0cuG6rW4gdGjDtG5nIHRpbiBr4buzIHbhu41uZyAoaG/hurdjIG1hIHRy4bqtbiB0aMO0bmcgdGluIHF1YW4gc8OhdCkuIFNhaSBz4buRIGNodeG6qW4gY+G7p2EgbeG7l2kgaOG7hyBz4buRIGzDoCBjxINuIGLhuq1jIGhhaSBj4bunYSBwaOG6p24gdOG7rSDEkcaw4budbmcgY2jDqW8gdMawxqFuZyDhu6luZyB0cm9uZyBtYSB0cuG6rW4gaGnhu4dwIHBoxrDGoW5nIHNhaSBuw6B5LiBTYWkgc+G7kSBjaHXhuqluIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIHjDonkgZOG7sW5nIGtob+G6o25nIHRpbiBj4bqteSB2w6AgdGjhu7FjIGhp4buHbiBraeG7g20gxJHhu4tuaCBnaeG6oyB0aHV54bq/dCBjaG8gY8OhYyBo4buHIHPhu5EuICAgDQogDQojIyAqKkNIxq/GoE5HIDc6IE3DlCBIw4xOSCBUVVnhur5OIFTDjU5IIFThu5RORyBRVcOBVCA6IFNVWSBESeG7hE4qKiAgIA0KKipTdXkgZGnhu4VuIGNobyBjw6FjIEjhu4cgc+G7kSBLaGkgz5UgxJDDoyBCaeG6v3QqKiAgIA0KIEtoaSB0aGFtIHPhu5EgcGjDom4gdMOhbiDPlSDEkcaw4bujYyBjb2kgbMOgIMSRw6MgYmnhur90LCB2aeG7h2Mgc3V5IGRp4buFbiBjaG8gY8OhYyBo4buHIHPhu5EgaOG7k2kgcXV5IM6yIHRoxrDhu51uZyBk4buxYSB0csOqbiB0w61uaCBjaOG6pXQgdGnhu4dtIGPhuq1uIGPhu6dhIGPDoWMgxrDhu5tjIGzGsOG7o25nIE1MRS4gS2nhu4NtIMSR4buLbmggV2FsZCDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyBraeG7g20gdHJhIGPDoWMgZ2nhuqMgdGh1eeG6v3QgduG7gSB04burbmcgaOG7hyBz4buRIHJpw6puZyBs4bq7IGLhurFuZyBjw6FjaCBzbyBzw6FuaCDGsOG7m2MgbMaw4bujbmcgduG7m2kgZ2nDoSB0cuG7iyBnaeG6oyDEkeG7i25oIGTGsOG7m2kgZ2nhuqMgdGh1eeG6v3Qga2jDtG5nLCBz4butIGThu6VuZyBzYWkgc+G7kSBjaHXhuqluIMaw4bubYyB0w61uaCB04burIG1hIHRy4bqtbiB0aMO0bmcgdGluLiBLaG/huqNuZyB0aW4gY+G6rXkgY2hvIGPDoWMgaOG7hyBz4buRIGPDoSBuaMOibiBjw7MgdGjhu4MgxJHGsOG7o2MgeMOieSBk4buxbmcgZOG7sWEgdHLDqm4gxrDhu5tjIGzGsOG7o25nIHbDoCBzYWkgc+G7kSBjaHXhuqluLCB0aMaw4budbmcgc+G7rSBk4bulbmcgcGjDom4gcGjhu5FpIGNodeG6qW4gdGnhu4dtIGPhuq1uLiBDw6FjIGtp4buDbSDEkeG7i25oIHbDoCBraG/huqNuZyB0aW4gY+G6rXkgdMawxqFuZyB04buxIGPFqW5nIGPDsyB0aOG7gyDEkcaw4bujYyB4w6J5IGThu7FuZyBjaG8gZ2nDoSB0cuG7iyBr4buzIHbhu41uZyDOvCBj4bunYSBiaeG6v24gcGjhuqNuIGjhu5NpIHThuqFpIGPDoWMgZ2nDoSB0cuG7iyBj4bulIHRo4buDIGPhu6dhIGPDoWMgYmnhur9uIGdp4bqjaSB0aMOtY2guICAgDQoqKktp4buDbSDEkeG7i25oIFThu7cgc+G7kSBLaOG6oyBuxINuZyDEkeG7gyBTbyBzw6FuaCBjw6FjIE3DtCBow6xuaCBM4buTbmcgbmhhdTogS2nhu4NtIMSR4buLbmggJFheMiQqKiAgIA0KIEtp4buDbSDEkeG7i25oIHThu7cgc+G7kSBraOG6oyBuxINuZyAoTFJUKSBsw6AgbeG7mXQgcGjGsMahbmcgcGjDoXAgbeG6oW5oIG3hur0gxJHhu4Mgc28gc8OhbmggaGFpIG3DtCBow6xuaCBHTE0gbOG7k25nIG5oYXUsIHRyb25nIMSRw7MgbeG7mXQgbcO0IGjDrG5oIGzDoCB0csaw4budbmcgaOG7o3AgxJHhurdjIGJp4buHdCBj4bunYSBtw7QgaMOsbmgga2lhIChjw7Mgw610IHRoYW0gc+G7kSBoxqFuKS4gVGjhu5FuZyBrw6oga2nhu4NtIMSR4buLbmggTFJUIMSRxrDhu6NjIHTDrW5oIGLhurFuZyBoYWkgbOG6p24gaGnhu4d1IHPhu5EgZ2nhu69hIGxvZy1saWtlbGlob29kIGPhu6dhIG3DtCBow6xuaCBwaOG7qWMgdOG6oXAgaMahbiB2w6AgbcO0IGjDrG5oIMSRxqFuIGdp4bqjbiBoxqFuLiBExrDhu5tpIGdp4bqjIHRodXnhur90IGtow7RuZyBy4bqxbmcgbcO0IGjDrG5oIMSRxqFuIGdp4bqjbiBsw6AgxJHDum5nLCB0aOG7kW5nIGvDqiBMUlQgdGnhu4dtIGPhuq1uIHRoZW8gcGjDom4gcGjhu5FpICRYXjIkIHbhu5tpIHPhu5EgYuG6rWMgdOG7sSBkbyBi4bqxbmcgaGnhu4d1IHPhu5EgdGhhbSBz4buRIGdp4buvYSBoYWkgbcO0IGjDrG5oLiBMUlQgxJHDoW5oIGdpw6EgbGnhu4d1IHZp4buHYyB0aMOqbSBjw6FjIHRoYW0gc+G7kSB2w6BvIG3DtCBow6xuaCBwaOG7qWMgdOG6oXAgaMahbiBjw7MgY+G6o2kgdGhp4buHbiDEkcOhbmcga+G7gyBz4buxIHBow7kgaOG7o3AgduG7m2kgZOG7ryBsaeG7h3UgaGF5IGtow7RuZy4gICANCioqQ8OhYyBL4bq/dCBxdeG6oyBUaeG7h20gY+G6rW4gY2hvIE3huqt1IEzhu5tuKiogICANCiBOaGnhu4F1IGvhur90IHF14bqjIHN1eSBkaeG7hW4gdHJvbmcgR0xNcyBk4buxYSB0csOqbiBsw70gdGh1eeG6v3QgdGnhu4dtIGPhuq1uLCBjw7MgbmdoxKlhIGzDoCBjaMO6bmcgdHLhu58gbsOqbiBjaMOtbmggeMOhYyBoxqFuIGtoaSBrw61jaCB0aMaw4bubYyBt4bqrdSB0xINuZyBsw6puLiBDw6FjIMaw4bubYyBsxrDhu6NuZyBNTEUgY+G7p2EgzrIgY8OzIHTDrW5oIGNo4bqldCB0aeG7h20gY+G6rW4gY2h14bqpbiwgduG7m2kgbWEgdHLhuq1uIGhp4buHcCBwaMawxqFuZyBzYWkgdGnhu4dtIGPhuq1uIMSRxrDhu6NjIMaw4bubYyB0w61uaCBi4bqxbmcgbmdo4buLY2ggxJHhuqNvIGPhu6dhIG1hIHRy4bqtbiB0aMO0bmcgdGluIChGaXNoZXIgaW5mb3JtYXRpb24pLiBDw6FjIHRo4buRbmcga8OqIGtp4buDbSDEkeG7i25oIG5oxrAgV2FsZCwgU2NvcmUgdsOgIExSVCDEkeG7gXUgY8OzIHBow6JuIHBo4buRaSB0aeG7h20gY+G6rW4gJFheMiQgZMaw4bubaSBnaeG6oyB0aHV54bq/dCBraMO0bmcuIEPDoWMga+G6v3QgcXXhuqMgdGnhu4dtIGPhuq1uIG7DoHkgY3VuZyBj4bqlcCBjxqEgc+G7nyBjaG8gdmnhu4djIHjDonkgZOG7sW5nIGPDoWMga2nhu4NtIMSR4buLbmggZ2nhuqMgdGh1eeG6v3QgdsOgIGtob+G6o25nIHRpbiBj4bqteSB0cm9uZyBHTE1zLCDEkeG6t2MgYmnhu4d0IGtoaSBwaMOibiBwaOG7kWkgY2jDrW5oIHjDoWMgY+G7p2EgY8OhYyB0aOG7kW5nIGvDqiBuw6B5IGzDoCBwaOG7qWMgdOG6oXAgaG/hurdjIGNoxrBhIGJp4bq/dC4gICANCioqS2nhu4NtIMSR4buLbmggxJDhu5kgUGjDuSBo4bujcCBLaGkgz5UgxJDDoyBCaeG6v3QqKiAgIA0KIMSQw6FuaCBnacOhIG3hu6ljIMSR4buZIHBow7kgaOG7o3AgY+G7p2EgbcO0IGjDrG5oIEdMTSB24bubaSBk4buvIGxp4buHdSBsw6AgcuG6pXQgcXVhbiB0cuG7jW5nIMSR4buDIMSR4bqjbSBi4bqjbyB0w61uaCBo4bujcCBs4buHIGPhu6dhIGPDoWMga+G6v3QgcXXhuqMgc3V5IGRp4buFbi4gS2hpIHRoYW0gc+G7kSBwaMOibiB0w6FuIM+VIMSRw6MgYmnhur90LCBjw7MgbeG7mXQgc+G7kSBraeG7g20gxJHhu4tuaCDEkeG7mSBwaMO5IGjhu6NwIGPDsyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZy4gS2nhu4NtIMSR4buLbmggxJHhu5kgbOG7h2NoIChkZXZpYW5jZSBnb29kbmVzcy1vZi1maXQgdGVzdCkgc28gc8OhbmggxJHhu5kgbOG7h2NoIGPhu6dhIG3DtCBow6xuaCBoaeG7h24gdOG6oWkgduG7m2kgxJHhu5kgbOG7h2NoIGPhu6dhIG3hu5l0IG3DtCBow6xuaCBiw6NvIGjDsmEuIEtp4buDbSDEkeG7i25oIFBlYXJzb24gZ29vZG5lc3Mtb2YtZml0IHRlc3QgZOG7sWEgdHLDqm4gdGjhu5FuZyBrw6ogUGVhcnNvbiBjaGkgYsOsbmggcGjGsMahbmcsIMSRbyBsxrDhu51uZyBz4buxIGtow6FjIGJp4buHdCBnaeG7r2EgdOG6p24gc+G7kSBxdWFuIHPDoXQgdsOgIHThuqduIHPhu5Ega+G7syB24buNbmcgdGhlbyBtw7QgaMOsbmguIEPhuqMgaGFpIGtp4buDbSDEkeG7i25oIG7DoHkgxJHhu4F1IGPDsyB0aOG7gyDEkcaw4bujYyBzbyBzw6FuaCB24bubaSBwaMOibiBwaOG7kWkgJFheMiQgxJHhu4MgxJHDoW5oIGdpw6EgbGnhu4d1IG3DtCBow6xuaCBjw7MgcGjDuSBo4bujcCB04buRdCB24bubaSBk4buvIGxp4buHdSBoYXkga2jDtG5nLiAgIA0KIA0KIyMgKipDSMavxqBORyA4OiBDw4FDIE3DlCBIw4xOSCBUVVnhur5OIFTDjU5IIFThu5RORyBRVcOBVDogQ0jhuqhOIMSQT8OBTioqICAgDQoqKkPDoWMgR2nhuqMgxJHhu4tuaCBj4bunYSBHTE1zKiogICANCiBHTE1zIGThu7FhIHRyw6puIG3hu5l0IHPhu5EgZ2nhuqMgxJHhu4tuaCBxdWFuIHRy4buNbmcsIGJhbyBn4buTbSBz4buxIMSR4buZYyBs4bqtcCBj4bunYSBjw6FjIHF1YW4gc8OhdCwgdmnhu4djIGzhu7FhIGNo4buNbiDEkcO6bmcgaOG7jSBwaMOibiBwaOG7kWkgY2hvIGJp4bq/biBwaOG6o24gaOG7k2ksIHbDoCB2aeG7h2MgeMOhYyDEkeG7i25oIMSRw7puZyBow6BtIGxpw6puIGvhur90IGNobyBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIGdpw6EgdHLhu4sga+G7syB24buNbmcgdsOgIHBo4bqnbiB0dXnhur9uIHTDrW5oLiBLaMOhYyB24bubaSBtw7QgaMOsbmggdHV54bq/biB0w61uaCB0aMO0bmcgdGjGsOG7nW5nLCBHTE1zIGtow7RuZyBuaOG6pXQgdGhp4bq/dCB5w6p1IGPhuqd1IHBoxrDGoW5nIHNhaSBraMO0bmcgxJHhu5VpIGhv4bq3YyBwaMOibiBwaOG7kWkgY2h14bqpbiBjaG8gc2FpIHPhu5EuIFZp4buHYyBoaeG7g3UgcsO1IGPDoWMgZ2nhuqMgxJHhu4tuaCBj4bulIHRo4buDIGNobyB04burbmcgbG/huqFpIEdMTSAoZOG7sWEgdHLDqm4gcGjDom4gcGjhu5FpIMSRxrDhu6NjIGNo4buNbikgbMOgIHRoZW4gY2jhu5F0IMSR4buDIMSR4bqjbSBi4bqjbyB0w61uaCBo4bujcCBs4buHIGPhu6dhIGPDoWMga+G6v3QgcXXhuqMgcGjDom4gdMOtY2guIFZpIHBo4bqhbSBjw6FjIGdp4bqjIMSR4buLbmggbsOgeSBjw7MgdGjhu4MgZOG6q24gxJHhur9uIMaw4bubYyBsxrDhu6NuZyB0aGFtIHPhu5EgYuG7iyBjaOG7h2NoLCBzYWkgc+G7kSBjaHXhuqluIGtow7RuZyBjaMOtbmggeMOhYyB2w6AgY8OhYyBr4bq/dCBsdeG6rW4gc2FpIGzhuqdtLiAgIA0KKipQaOG6p24gZMawIGNobyBHTE1zKiogICANCiBQaOG6p24gZMawIHRyb25nIEdMTXMgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEga2jDoWMgYmnhu4d0IHNvIHbhu5tpIG3DtCBow6xuaCB0dXnhur9uIHTDrW5oIHRow7RuZyB0aMaw4budbmcgZG8gc+G7sSDEkWEgZOG6oW5nIGPhu6dhIGPDoWMgcGjDom4gcGjhu5FpIHbDoCBow6BtIGxpw6puIGvhur90LiBQaOG6p24gZMawIHBo4bqjbiBo4buTaSDEkcahbiBnaeG6o24gbMOgIGhp4buHdSBz4buRIGdp4buvYSBnacOhIHRy4buLIHF1YW4gc8OhdCB2w6AgZ2nDoSB0cuG7iyBk4buxIMSRb8OhbiB0csOqbiB0aGFuZyDEkW8gY+G7p2EgYmnhur9uIHBo4bqjbiBo4buTaSwgbmjGsG5nIGNow7puZyB0aMaw4budbmcga2jDtG5nIGPDsyBwaMOibiBwaOG7kWkgdsOgIHBoxrDGoW5nIHNhaSDEkeG7k25nIG5o4bqldC4gUGjhuqduIGTGsCBQZWFyc29uIMSRxrDhu6NjIGNodeG6qW4gaMOzYSB0aGVvIHBoxrDGoW5nIHNhaSBk4buxIGtp4bq/biB2w6AgaOG7r3Ugw61jaCBjaG8gdmnhu4djIGtp4buDbSB0cmEgc+G7sSBwaMO5IGjhu6NwIGPhu6dhIHBoxrDGoW5nIHNhaS4gUGjhuqduIGTGsCDEkeG7mSBs4buHY2ggZOG7sWEgdHLDqm4gdOG7tyBz4buRIGto4bqjIG7Eg25nIHbDoCBjw7MgY8OhYyDEkeG6t2MgdMOtbmggdOG7kXQgaMahbiBjaG8gdmnhu4djIGtp4buDbSB0cmEgc+G7sSBwaMO5IGjhu6NwIHThu5VuZyB0aOG7gyBj4bunYSBtw7QgaMOsbmguIFBo4bqnbiBkxrAgcXVhbnRpbGUgY+G7kSBn4bqvbmcgdOG6oW8gcmEgY8OhYyBwaOG6p24gZMawIGPDsyBwaMOibiBwaOG7kWkgZ+G6p24gY2h14bqpbiBoxqFuLiBWaeG7h2MgbOG7sWEgY2jhu41uIGxv4bqhaSBwaOG6p24gZMawIHBow7kgaOG7o3AgcGjhu6UgdGh14buZYyB2w6BvIG3hu6VjIHRpw6p1IGNo4bqpbiDEkW/DoW4gY+G7pSB0aOG7gy4gICAgDQoqKktp4buDbSB0cmEgY8OhYyBHaeG6oyDEkeG7i25oIGPhu6dhIE3DtCBow6xuaCoqICAgIA0KIFZp4buHYyBraeG7g20gdHJhIGPDoWMgZ2nhuqMgxJHhu4tuaCBj4bunYSBHTE1zIHRoxrDhu51uZyBiYW8gZ+G7k20gdmnhu4djIHPhu60gZOG7pW5nIGPDoWMgYmnhu4N1IMSR4buTIHBo4bqnbiBkxrAga2jDoWMgbmhhdS4gQmnhu4N1IMSR4buTIHBo4bqnbiBkxrAgdGhlbyBnacOhIHRy4buLIGThu7EgxJFvw6FuIGPDsyB0aOG7gyBnacO6cCBwaMOhdCBoaeG7h24gY8OhYyB24bqlbiDEkeG7gSB24buBIHTDrW5oIHBoaSB0dXnhur9uIHRyb25nIHRow6BuaCBwaOG6p24gaOG7hyB0aOG7kW5nIGhv4bq3YyBwaMawxqFuZyBzYWkga2jDtG5nIMSR4buTbmcgbmjhuqV0LiBCaeG7g3UgxJHhu5MgcGjhuqduIGTGsCB0aGVvIGPDoWMgYmnhur9uIGdp4bqjaSB0aMOtY2ggcmnDqm5nIGzhursgY8OzIHRo4buDIGNo4buJIHJhIHPhu7EgY+G6p24gdGhp4bq/dCBj4bunYSB2aeG7h2MgdGjDqm0gY8OhYyBz4buRIGjhuqFuZyBi4bqtYyBjYW8gaMahbiBob+G6t2MgY8OhYyBiaeG6v24gdMawxqFuZyB0w6FjLiBCaeG7g3UgxJHhu5MgUS1RIGPhu6dhIHBo4bqnbiBkxrAgcXVhbnRpbGUgY8OzIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIMSRw6FuaCBnacOhIHPhu7EgcGjDuSBo4bujcCBj4bunYSBwaMOibiBwaOG7kWkgxJHDoyBjaOG7jW4gY2hvIGJp4bq/biBwaOG6o24gaOG7k2kuIFZp4buHYyBraeG7g20gdHJhIHTDrW5oIMSR4buZYyBs4bqtcCB0aMaw4budbmcga2jDsyBraMSDbiBoxqFuIHbDoCBjw7MgdGjhu4MgZOG7sWEgdsOgbyBraeG6v24gdGjhu6ljIHbhu4EgY8OhY2ggZOG7ryBsaeG7h3UgxJHGsOG7o2MgdGh1IHRo4bqtcCBob+G6t2Mgc+G7rSBk4bulbmcgY8OhYyBraeG7g20gxJHhu4tuaCB04buxIHTGsMahbmcgcXVhbiBu4bq/dSBjw7MgY+G6pXUgdHLDumMgdGjhu51pIGdpYW4gaG/hurdjIGtow7RuZyBnaWFuLiAgICANCioqxJBp4buDbSBE4buvIGxp4buHdSBOZ2/huqFpIGxhaSB2w6Ag4bqibmggaMaw4bufbmcqKiAgICANCiBDw6FjIMSRaeG7g20gZOG7ryBsaeG7h3Ugbmdv4bqhaSBsYWkgKGPDsyBnacOhIHRy4buLIGtow6FjIGJp4buHdCDEkcOhbmcga+G7gyBzbyB24bubaSBwaOG6p24gY8OybiBs4bqhaSkgdsOgIGPDoWMgcXVhbiBzw6F0IGPDsyDhuqNuaCBoxrDhu59uZyAo4bqjbmggaMaw4bufbmcgbOG7m24gxJHhur9uIGPDoWMgxrDhu5tjIGzGsOG7o25nIHRoYW0gc+G7kSBraGkgYuG7iyBsb+G6oWkgYuG7jykgY8OzIHRo4buDIGfDonkgcmEgY8OhYyB24bqlbiDEkeG7gSBuZ2hpw6ptIHRy4buNbmcgY2hvIG3DtCBow6xuaCBHTE0uIEPDoWMgcGjGsMahbmcgcGjDoXAgcGjDoXQgaGnhu4duIG5nb+G6oWkgbGFpIHRyb25nIEdMTXMgYmFvIGfhu5NtIHZp4buHYyB4ZW0geMOpdCBjw6FjIHBo4bqnbiBkxrAgbOG7m24gKMSR4bq3YyBiaeG7h3QgbMOgIHBo4bqnbiBkxrAgc3R1ZGVudCBow7NhIGhv4bq3YyDEkeG7mSBs4buHY2gpIHbDoCBz4butIGThu6VuZyBjw6FjIHRo4buRbmcga8OqIGThu7FhIHRyw6puIGtob+G6o25nIGPDoWNoICh2w60gZOG7pToga2hv4bqjbmcgY8OhY2ggQ29vaydzKS4gQ8OhYyB0aMaw4bubYyDEkW8g4bqjbmggaMaw4bufbmcgdMawxqFuZyB04buxIG5oxrAgdHJvbmcgbcO0IGjDrG5oIHR1eeG6v24gdMOtbmggKHbDrSBk4bulOiBsZXZlcmFnZSkgY8WpbmcgY8OzIHRo4buDIMSRxrDhu6NjIMSRaeG7gXUgY2jhu4luaCBjaG8gR0xNcyDEkeG7gyB4w6FjIMSR4buLbmggY8OhYyBxdWFuIHPDoXQgY8OzIHTDoWMgxJHhu5luZyBs4bubbiDEkeG6v24gY8OhYyBo4buHIHPhu5EuIFZp4buHYyB44butIGzDvSBjw6FjIMSRaeG7g20gbsOgeSBj4bqnbiB0aOG6rW4gdHLhu41uZyB2w6AgZOG7sWEgdHLDqm4gaGnhu4N1IGJp4bq/dCB24buBIGThu68gbGnhu4d1LiAgIA0KKipDw6FjIEJp4buHbiBwaMOhcCBLaOG6r2MgcGjhu6VjIGPDoWMgVuG6pW4gxJHhu4EgxJDDoyBYw6FjIMSR4buLbmgqKiAgIA0KIEtoaSBjw6FjIHbhuqVuIMSR4buBIGNo4bqpbiDEkW/DoW4gxJHGsOG7o2MgeMOhYyDEkeG7i25oLCBjw7Mgbmhp4buBdSBiaeG7h24gcGjDoXAga2jhuq9jIHBo4bulYyBjw7MgdGjhu4MgxJHGsOG7o2Mgw6FwIGThu6VuZy4gTuG6v3UgY8OzIHbhuqVuIMSR4buBIHbhu4EgZOG6oW5nIGjDoG0gY+G7p2EgdGjDoG5oIHBo4bqnbiBo4buHIHRo4buRbmcsIHZp4buHYyB0aMOqbSBjw6FjIHPhu5EgaOG6oW5nIMSRYSB0aOG7qWMgaG/hurdjIGPDoWMgYmnhur9uIHTGsMahbmcgdMOhYyBjw7MgdGjhu4MgaOG7r3Ugw61jaC4gTuG6v3UgcGjDom4gcGjhu5FpIGPhu6dhIGJp4bq/biBwaOG6o24gaOG7k2kgxJHGsOG7o2MgY2hvIGzDoCBraMO0bmcgcGjDuSBo4bujcCwgdmnhu4djIHRo4butIG3hu5l0IGjhu40gcGjDom4gcGjhu5FpIGtow6FjIHRyb25nIGjhu40gaMOgbSBtxakgY8OzIHRo4buDIGPhuqduIHRoaeG6v3QuIEPDoWMgcGjDqXAgYmnhur9uIMSR4buVaSB0csOqbiBiaeG6v24gcGjhuqNuIGjhu5NpIGhv4bq3YyBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoIMSRw7RpIGtoaSBjw7MgdGjhu4MgZ2nDunAgY+G6o2kgdGhp4buHbiB0w61uaCB0dXnhur9uIHTDrW5oIGhv4bq3YyB0w61uaCDEkeG7k25nIG5o4bqldCBj4bunYSBwaMawxqFuZyBzYWkgKG7hur91IGPDsykuIMSQ4buRaSB24bubaSBjw6FjIMSRaeG7g20gZOG7ryBsaeG7h3Ugbmdv4bqhaSBsYWkgY8OzIOG6o25oIGjGsOG7n25nLCB2aeG7h2Mga2nhu4NtIHRyYSBs4bqhaSBk4buvIGxp4buHdSBob+G6t2Mgc+G7rSBk4bulbmcgY8OhYyBwaMawxqFuZyBwaMOhcCBo4buTaSBxdXkgbeG6oW5oIG3hur0gKHJvYnVzdCByZWdyZXNzaW9uKSBjw7MgdGjhu4MgxJHGsOG7o2MgeGVtIHjDqXQuICAgDQogDQogDQojIyAqKkNIxq/GoE5HIDk6IE3DlCBIw4xOSCBDSE8gVOG7tiBM4buGOiBCSU5JTUlBTCBHTE1zKiogICANCioqTcO0IGjDrG5oIGjDs2EgVOG7tyBs4buHIChNb2RlbGxpbmcgUHJvcG9ydGlvbnMpOioqIE5oaeG7gXUgbmdoacOqbiBj4bupdSB04bqtcCB0cnVuZyB2w6BvIHZp4buHYyBwaMOibiB0w61jaCB04bu3IGzhu4csIGNo4bqzbmcgaOG6oW4gbmjGsCB04bu3IGzhu4cgY+G7rSB0cmkg4bunbmcgaOG7mSBt4buZdCDhu6luZyB2acOqbiBob+G6t2MgdOG7tyBs4buHIGPDtG4gdHLDuW5nIGNo4bq/dCBzYXUga2hpIHRp4bq/cCB4w7pjIHbhu5tpIGPDoWMgbGnhu4F1IGzGsOG7o25nIHRodeG7kWMgdHLhu6sgc8OidSBraMOhYyBuaGF1LiBE4buvIGxp4buHdSB04bu3IGzhu4cgdGjGsOG7nW5nIMSRxrDhu6NjIG3DtCBow6xuaCBow7NhIG3hu5l0IGPDoWNoIHBow7kgaOG7o3AgYuG6sW5nIHBow6JuIHBo4buRaSBuaOG7iyB0aOG7qWMsIHRyb25nIMSRw7MgYmnhur9uIHBo4bqjbiBo4buTaSBsw6Agc+G7kSBsxrDhu6NuZyB0aMOgbmggY8O0bmcgdHJvbmcgbeG7mXQgc+G7kSBsxrDhu6NuZyB0aOG7rSBuZ2hp4buHbSBj4buRIMSR4buLbmguIE3DtCBow6xuaCBUdXnhur9uIHTDrW5oIFThu5VuZyBxdcOhdCAoR0xNcykgY3VuZyBj4bqlcCBt4buZdCBraHXDtG4ga2jhu5UgdGjhu5FuZyBrw6ogbeG6oW5oIG3hur0gxJHhu4MgcGjDom4gdMOtY2ggY8OhYyBsb+G6oWkgZOG7ryBsaeG7h3UgbsOgeSwgY2hvIHBow6lwIGNow7puZyB0YSBraMOhbSBwaMOhIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgdOG7tyBs4buHIHbDoCBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoLiAgIA0KKipDw6FjIEjDoG0gTGnDqm4ga+G6v3QgKExpbmsgRnVuY3Rpb25zKTogKiogVHJvbmcgYuG7kWkgY+G6o25oIGPhu6dhIEJpbm9taWFsIEdMTXMsIHZp4buHYyBs4buxYSBjaOG7jW4gaMOgbSBsacOqbiBr4bq/dCBwaMO5IGjhu6NwIGzDoCBy4bqldCBxdWFuIHRy4buNbmcgxJHhu4MgxJHhuqNtIGLhuqNvIGPDoWMgZ2nDoSB0cuG7iyBk4buxIMSRb8OhbiBu4bqxbSB0cm9uZyBraG/huqNuZyB04burIDAgxJHhur9uIDEgdsOgIG3DtCBow6xuaCBow7NhIG3hu5FpIHF1YW4gaOG7hyBt4buZdCBjw6FjaCBo4bujcCBsw70uIEJhIGjDoG0gbGnDqm4ga+G6v3QgcGjhu5UgYmnhur9uIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyBjaG8gZOG7ryBsaeG7h3Ugbmjhu4sgdGjhu6ljIGJhbyBn4buTbSBow6BtIGxvZ2l0IChob+G6t2MgbG9naXN0aWMpLCBow6BtIHByb2JpdCB2w6AgaMOgbSBjb21wbGVtZW50YXJ5IGxvZy1sb2cuIEjDoG0gbG9naXQsIGzDoCBow6BtIGxpw6puIGvhur90IGNow61uaCB04bqvYyBjaG8gcGjDom4gcGjhu5FpIG5o4buLIHRo4bupYywgbGnDqm4ga+G6v3QgdOG7tyBs4buHIHbhu5tpIGxvZyBj4bunYSBvZGRzIHJhdGlvLiBIw6BtIHByb2JpdCBz4butIGThu6VuZyBow6BtIHBow6JuIHBo4buRaSB0w61jaCBsxal5IGPhu6dhIHBow6JuIHBo4buRaSBjaHXhuqluLCB0cm9uZyBraGkgaMOgbSBjb21wbGVtZW50YXJ5IGxvZy1sb2cgdGjGsOG7nW5nIMSRxrDhu6NjIMOhcCBk4bulbmcgdHJvbmcgcGjDom4gdMOtY2ggZOG7ryBsaeG7h3Ugc+G7kW5nIGPDsm4gaG/hurdjIGtoaSBjw7Mgc+G7sSBi4bqldCDEkeG7kWkgeOG7qW5nIHRyb25nIHBo4bqjbiDhu6luZy4gICANCioqT2RkcywgT2RkcyBSYXRpb3MgdsOgIEjDoG0gTGnDqm4ga+G6v3QgTG9naXQgKE9kZHMsIE9kZHMgUmF0aW9zIGFuZCB0aGUgTG9naXQgTGluayk6KiogxJDhu4MgaGnhu4N1IHLDtSBoxqFuIHbhu4EgaMOgbSBsacOqbiBr4bq/dCBsb2dpdCwgY+G6p24gbuG6r20gduG7r25nIGtow6FpIG5p4buHbSB24buBIG9kZHMsIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIGzDoCB04bu3IGzhu4cgZ2nhu69hIHjDoWMgc3XhuqV0IHjhuqN5IHJhIHPhu7Ega2nhu4duIHbDoCB4w6FjIHN14bqldCBraMO0bmcgeOG6o3kgcmEgc+G7sSBraeG7h24uIE9kZHMgcmF0aW8gbMOgIHThu7cgc+G7kSBj4bunYSBvZGRzIGdp4buvYSBoYWkgbmjDs20gaG/hurdjIMSRaeG7gXUga2nhu4duIGtow6FjIG5oYXUsIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDEkW8gbMaw4budbmcgxJHhu5kgbeG6oW5oIGPhu6dhIG3hu5FpIGxpw6puIGjhu4cuIEjDoG0gbGnDqm4ga+G6v3QgbG9naXQgdGjhu7FjIGhp4buHbiBwaMOpcCBiaeG6v24gxJHhu5VpIGxvZ2FyaXQgdHLDqm4gb2RkcywgdOG6oW8gcmEgbeG7mXQgbeG7kWkgcXVhbiBo4buHIHR1eeG6v24gdMOtbmggZ2nhu69hIGxvZy1vZGRzIHbDoCBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoIHRyb25nIG3DtCBow6xuaCBHTE0uIFTDrW5oIGNo4bqldCBuw6B5IGdpw7pwIHZp4buHYyBkaeG7hW4gZ2nhuqNpIGPDoWMgaOG7hyBz4buRIGjhu5NpIHF1eSB0cuG7nyBuw6puIHRy4buxYyBxdWFuIGjGoW4sIHbDrCBjaMO6bmcgdGjhu4MgaGnhu4duIHPhu7EgdGhheSDEkeG7lWkgdHJvbmcgbG9nLW9kZHMga2hpIGPDoWMgYmnhur9uIGdp4bqjaSB0aMOtY2ggdGhheSDEkeG7lWkuICAgDQoqKlF1w6EgUGjDom4gVMOhbiAoT3ZlcmRpc3BlcnNpb24pOioqIE3hu5l0IHbhuqVuIMSR4buBIHRoxrDhu51uZyBn4bq3cCBraGkgbMOgbSB2aeG7h2MgduG7m2kgZOG7ryBsaeG7h3Ugbmjhu4sgdGjhu6ljIGzDoCBoaeG7h24gdMaw4bujbmcgcXXDoSBwaMOibiB0w6FuLCB44bqjeSByYSBraGkgcGjGsMahbmcgc2FpIGPhu6dhIGThu68gbGnhu4d1IGzhu5tuIGjGoW4gc28gduG7m2kgcGjGsMahbmcgc2FpIGThu7Ega2nhur9uIHRoZW8gbcO0IGjDrG5oIG5o4buLIHRo4bupYy4gUXXDoSBwaMOibiB0w6FuIGPDsyB0aOG7gyBkbyBuaGnhu4F1IG5ndXnDqm4gbmjDom4sIGNo4bqzbmcgaOG6oW4gbmjGsCBz4buxIHBo4bulIHRodeG7mWMgZ2nhu69hIGPDoWMgcXVhbiBzw6F0IGhv4bq3YyBz4buxIGtow6FjIGJp4buHdCBraMO0bmcgZ2nhuqNpIHRow61jaCDEkcaw4bujYyBnaeG7r2EgY8OhYyDEkcahbiB24buLIHF1YW4gc8OhdC4gVmnhu4djIHBow6F0IGhp4buHbiB2w6AgeOG7rSBsw70gcXXDoSBwaMOibiB0w6FuIGzDoCBy4bqldCBxdWFuIHRy4buNbmcgxJHhu4MgxJHhuqNtIGLhuqNvIGPDoWMgxrDhu5tjIGzGsOG7o25nIHNhaSBz4buRIGNodeG6qW4gdsOgIGPDoWMga+G6v3QgcXXhuqMga2nhu4NtIMSR4buLbmggZ2nhuqMgdGh1eeG6v3QgbMOgIMSRw6FuZyB0aW4gY+G6rXkuIEPDoWMgcGjGsMahbmcgcGjDoXAgeOG7rSBsw70gY8OzIHRo4buDIGJhbyBn4buTbSB2aeG7h2Mgc+G7rSBk4bulbmcgY8OhYyBtw7QgaMOsbmggcXVhc2ktbGlrZWxpaG9vZCBob+G6t2MgY8OhYyBtw7QgaMOsbmggbmjhu4sgdGjhu6ljIG3hu58gcuG7mW5nLiAgIA0KKipLaGkgS2nhu4NtIMSR4buLbmggV2FsZCBUaOG6pXQgQuG6oWkgKFdoZW4gV2FsZCBUZXN0cyBGYWlsKToqKiBLaeG7g20gxJHhu4tuaCBXYWxkLCBt4buZdCBwaMawxqFuZyBwaMOhcCBwaOG7lSBiaeG6v24gxJHhu4Mga2nhu4NtIHRyYSDDvSBuZ2jEqWEgY+G7p2EgY8OhYyBo4buHIHPhu5EgdHJvbmcgR0xNcywgY8OzIHRo4buDIGfhurdwIHbhuqVuIMSR4buBIGtoaSBsw6BtIHZp4buHYyB24bubaSBk4buvIGxp4buHdSBuaOG7iyB0aOG7qWMsIMSR4bq3YyBiaeG7h3Qga2hpIGPDoWMgdOG7tyBs4buHIGThu7EgxJFvw6FuIGfhuqduIHbhu5tpIGPDoWMgZ2nDoSB0cuG7iyBnaeG7m2kgaOG6oW4gMCBob+G6t2MgMSwgaG/hurdjIGtoaSBrw61jaCB0aMaw4bubYyBt4bqrdSBuaOG7jy4gVHJvbmcgbmjhu69uZyB0w6xuaCBodeG7kW5nIG7DoHksIGPDoWMgeOG6pXAgeOG7iSB0aeG7h20gY+G6rW4gbcOgIGtp4buDbSDEkeG7i25oIFdhbGQgZOG7sWEgdsOgbyBjw7MgdGjhu4Mga2jDtG5nIGPDsm4gY2jDrW5oIHjDoWMsIGThuqtuIMSR4bq/biBjw6FjIGvhur90IGx14bqtbiBzYWkgbOG6p20uIERvIMSRw7MsIHRyb25nIG5o4buvbmcgdHLGsOG7nW5nIGjhu6NwIG5oxrAgduG6rXksIGPDoWMgcGjGsMahbmcgcGjDoXAga2nhu4NtIMSR4buLbmgga2jDoWMgbmjGsCBraeG7g20gxJHhu4tuaCB04bu3IHPhu5Ega2jhuqMgbsSDbmcgKGxpa2VsaWhvb2QgcmF0aW8gdGVzdCkgdGjGsOG7nW5nIMSRxrDhu6NjIMawdSB0acOqbiBz4butIGThu6VuZyB2w6wgY2jDum5nIGPDsyBjw6FjIMSR4bq3YyB0w61uaCB0aeG7h20gY+G6rW4gdOG7kXQgaMahbi4gICANCioqS2jDtG5nIGPDsyBLaeG7g20gxJHhu4tuaCDEkOG7mSBQaMO5IGjhu6NwIFThu5F0IGNobyBQaOG6o24gaOG7k2kgTmjhu4sgcGjDom4gKE5vIEdvb2RuZXNzLW9mLUZpdCBmb3IgQmluYXJ5IFJlc3BvbnNlcyk6KiogS2hpIG3hu5dpIMSRxqFuIHbhu4sgcXVhbiBzw6F0IGNo4buJIGPDsyBt4buZdCB0aOG7rSBuZ2hp4buHbSAodsOtIGThu6U6IG09MSBjaG8gZOG7ryBsaeG7h3UgQmVybm91bGxpKSwgY8OhYyBraeG7g20gxJHhu4tuaCDEkeG7mSBwaMO5IGjhu6NwIHRydXnhu4FuIHRo4buRbmcgZOG7sWEgdHLDqm4gdmnhu4djIHNvIHPDoW5oIHThuqduIHPhu5EgcXVhbiBzw6F0IHbDoCB04bqnbiBz4buRIGThu7Ega2nhur9uIHRoxrDhu51uZyBraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyDEkcaw4bujYy4gxJBp4buBdSBuw6B5IGzDoCBkbyBraMO0bmcgY8OzIMSR4bunIGLhuq1jIHThu7EgZG8gxJHhu4MgxrDhu5tjIHTDrW5oIHPhu7Ega2jDoWMgYmnhu4d0IGdp4buvYSBtw7QgaMOsbmggdsOgIGThu68gbGnhu4d1LiBUcm9uZyBuaOG7r25nIHRyxrDhu51uZyBo4bujcCBuaMawIHbhuq15LCB2aeG7h2MgxJHDoW5oIGdpw6EgxJHhu5kgcGjDuSBo4bujcCBj4bunYSBtw7QgaMOsbmggbmjhu4sgcGjDom4gdGjGsOG7nW5nIGThu7FhIHRyw6puIGPDoWMgcGjGsMahbmcgcGjDoXAga2jDoWMsIGNo4bqzbmcgaOG6oW4gbmjGsCBraeG7g20gdHJhIHBo4bqnbiBkxrAgaG/hurdjIMSRw6FuaCBnacOhIMO9IG5naMSpYSB0aOG7sWMgdOG6vyBj4bunYSBjw6FjIGjhu4cgc+G7kS4gICANCioqVsOtIGThu6UgTmdoacOqbiBj4bupdSAoQ2FzZSBTdHVkeSk6KiogxJDhu4MgbWluaCBo4buNYSB2aeG7h2Mgw6FwIGThu6VuZyBCaW5vbWlhbCBHTE1zIHRyb25nIHRo4buxYyB04bq/LCBjaMawxqFuZyBuw6B5IHRoxrDhu51uZyBjdW5nIGPhuqVwIG3hu5l0IHbDrSBk4bulIG5naGnDqm4gY+G7qXUgY2hpIHRp4bq/dC4gVsOtIGThu6UgbsOgeSBjw7MgdGjhu4MgYmFvIGfhu5NtIHZp4buHYyBtw7QgaMOsbmggaMOzYSB04bu3IGzhu4cgY8O0biB0csO5bmcgY2jhur90IHRoZW8gbGnhu4F1IGzGsOG7o25nIHRodeG7kWMgdHLhu6sgc8OidSwgcGjDom4gdMOtY2ggdOG7tyBs4buHIHRow6BuaCBjw7RuZy90aOG6pXQgYuG6oWkgdHJvbmcgbeG7mXQgdGjDrSBuZ2hp4buHbSwgaG/hurdjIGThu7EgxJFvw6FuIHThu7cgbOG7hyBj4butIHRyaSDhu6duZyBo4buZIG3hu5l0IMSR4bqjbmcgY2jDrW5oIHRy4buLIGThu7FhIHRyw6puIGPDoWMgeeG6v3UgdOG7kSBuaMOibiBraOG6qXUgaOG7jWMuIFRow7RuZyBxdWEgdsOtIGThu6UgbsOgeSwgbmfGsOG7nWkgxJHhu41jIGPDsyB0aOG7gyBoaeG7g3UgcsO1IGjGoW4gduG7gSBxdXkgdHLDrG5oIHjDonkgZOG7sW5nLCDGsOG7m2MgbMaw4bujbmcsIGRp4buFbiBnaeG6o2kgdsOgIMSRw6FuaCBnacOhIG3hu5l0IG3DtCBow6xuaCBCaW5vbWlhbCBHTE0uICAgDQoNCiMjICoqQ0jGr8agTkcgMTA6IE3DlCBIw4xOSCBDSE8gU+G7kCBMxq/hu6JORzogUE9JU1NPTiBWw4AgTkVHQVRJVkUgQklOT01JQUwgR0xNcyoqICAgDQoqKlBvaXNzb24gR0xNczoqKiBQaMOibiBwaOG7kWkgUG9pc3NvbiBsw6AgbOG7sWEgY2jhu41uIG3hurdjIMSR4buLbmggY2hvIGThu68gbGnhu4d1IMSR4bq/bSwgduG7m2kgxJHhurdjIMSRaeG7g20gcGjGsMahbmcgc2FpIGLhurFuZyBr4buzIHbhu41uZyAkKFYoXG11KT1cbXUpJCBIw6BtIGxpw6puIGvhur90IGNow61uaCB04bqvYyBsw6AgbG9nYXJpdCAobG9nKSwgxJHhuqNtIGLhuqNvIGdpw6EgdHLhu4sgZml0dGVkJFxoYXR7XG11fSQgbHXDtG4gZMawxqFuZyB2w6AgbcO0IGjDrG5oIGjDs2EgdGhlbyBk4bqhbmcgJGxvZyBcbXUgPSBcZXRhJCB0cm9uZyDEkcOzIM63IGzDoCBi4buZIGThu7EgYsOhbyB0dXnhur9uIHTDrW5oLiBLaGkgY8OhYyBiaeG6v24gZ2nhuqNpIHRow61jaCDEkeG7gXUgbMOgIMSR4buLbmggdMOtbmgsIG3DtCBow6xuaCBQb2lzc29uIEdMTSDEkcaw4bujYyBn4buNaSBsw6AgbcO0IGjDrG5oIGxvZy1saW5lYXIuIMSQ4buRaSB24bubaSBQb2lzc29uIEdMTXMsIG7Dqm4gc+G7rSBk4bulbmcgcGjhuqduIGTGsCBxdWFudGlsZSDEkeG7gyDEkcOhbmggZ2nDoSBz4buxIHBow7kgaOG7o3AgY+G7p2EgbcO0IGjDrG5oLiAgIA0KKipNw7QgaMOsbmggaMOzYSBU4bu3IGzhu4cgKFJhdGVzKToqKiAgUG9pc3NvbiBHTE1zIGPDsyB0aOG7gyBtw7QgaMOsbmggaMOzYSB04bu3IGzhu4cgYuG6sW5nIGPDoWNoIMSRxrBhIGJp4buHbiBwaMOhcCBwaMahaSBuaGnhu4VtIChleHBvc3VyZSkgdsOgbyBtw7QgaMOsbmggbmjGsCBt4buZdCBwaOG6p24gYsO5IChvZmZzZXQpIHRyb25nIGLhu5kgZOG7sSBiw6FvIHR1eeG6v24gdMOtbmggdGhlbyBk4bqhbmcgJGxvZyBcbXUvVD1cZXRhJCB0xrDGoW5nIMSRxrDGoW5nIHbhu5tpICAkbG9nIFxtdSA9bG9nVCtcZXRhJCB0cm9uZyDEkcOzICRcdGV4dHtsb2cgVH0kIGzDoCBvZmZzZXQgxJHDoyBiaeG6v3QgbMaw4bujbmcuICAgIA0KKipC4bqjbmcgVMawxqFuZyB0w6FjOiBNw7QgaMOsbmggTG9nLUxpbmVhcjoqKktoaSBk4buvIGxp4buHdSDEkeG6v20gxJHGsOG7o2MgdMOzbSB04bqvdCB0cm9uZyBi4bqjbmcgdMawxqFuZyB0w6FjIHbhu5tpIGPDoWMgYmnhur9uIMSR4buLbmggdMOtbmgsIFBvaXNzb24gR0xNIHRy4bufIHRow6BuaCBtw7QgaMOsbmggbG9nLWxpbmVhci4gTmfGsOG7o2MgbOG6oWksIGtoaSBtw7QgaMOsbmggUG9pc3NvbiBsb2ctbGluZWFyIGJhbyBn4buTbSB0aHXhuq10IG5n4buvIGjhurFuZyBz4buRLCBuw7MgY8OzIHRo4buDIHTGsMahbmcgxJHGsMahbmcgduG7m2kgbcO0IGjDrG5oIG11bHRpbm9taWFsIGtoaSBjw7MgxJFp4buBdSBraeG7h24gdHLDqm4gdOG7lW5nIGzhu5tuLiAiTmdo4buLY2ggbMO9IFNpbXBzb24iIMSRxrDhu6NjIMSR4buBIGPhuq1wIHRyb25nIG3hu6VjIG7DoHksIG5oxrBuZyBraMO0bmcgY8OzIHRow7RuZyB0aW4gY2hpIHRp4bq/dCBj4bulIHRo4buDIMSRxrDhu6NjIGN1bmcgY+G6pXAuICAgIA0KKipT4buxIFTGsMahbmcgxJHGsMahbmcgZ2nhu69hIEJpbm9taWFsIHbDoCBQb2lzc29uIEdMTXM6KiogVHJvbmcgY8OhYyB0csaw4budbmcgaOG7o3AgY+G7pSB0aOG7gyAodsOtIGThu6U6IGThu68gbGnhu4d1IHThu7cgbOG7hyB04burIGLhuqNuZyB0xrDGoW5nIHTDoWMga2hpIHThu5VuZyBz4buRIHRo4butIG5naGnhu4dtIGzhu5tuIHbDoCB04bu3IGzhu4cgdGjDoG5oIGPDtG5nIG5o4buPKSwgcGjDom4gcGjhu5FpIEJpbm9taWFsIHjhuqVwIHjhu4kgcGjDom4gcGjhu5FpIFBvaXNzb24uIMSQaeG7gXUgbsOgeSBk4bqrbiDEkeG6v24gc+G7sSB0xrDGoW5nIMSRxrDGoW5nIGdp4buvYSBCaW5vbWlhbCBHTE0gKHbhu5tpIGxpw6puIGvhur90IGxvZ2l0KSB2w6AgUG9pc3NvbiBHTE0gKGxvZy1saW5lYXIpIHRyb25nIG5o4buvbmcgxJFp4buBdSBraeG7h24gbsOgeS4gICANCioqTmVnYXRpdmUgQmlub21pYWwgR0xNczogKipNw7QgaMOsbmggbsOgeSDEkcaw4bujYyBz4butIGThu6VuZyBraGkgZOG7ryBsaeG7h3UgxJHhur9tIGPDsyBoaeG7h24gdMaw4bujbmcgcGjDom4gdMOhbiBxdcOhIG3hu6ljIChvdmVyZGlzcGVyc2lvbiksIHThu6ljIGzDoCBwaMawxqFuZyBzYWkgbOG7m24gaMahbiBnacOhIHRy4buLIHRydW5nIGLDrG5oLiBNw7QgaMOsbmggTmVnYXRpdmUgQmlub21pYWwgY8OzIGjDoG0gcGjGsMahbmcgc2FpIGThuqFuZyBi4bqtYyBoYWkgJCRWKFxtdSkgPSBcbXUgKyBcbXVeMiAvIGskJCBjaG8gcGjDqXAgcGjGsMahbmcgc2FpIHTEg25nIG5oYW5oIGjGoW4gdHJ1bmcgYsOsbmggc28gduG7m2kgUG9pc3NvbiAkKFYoXG11KT1cbXUpJC4gTcO0IGjDrG5oIG7DoHkgxrDhu5tjIGzGsOG7o25nIHRow6ptIG3hu5l0IHRoYW0gc+G7kSBwaOG7pSAoaykgbmdvw6BpIGPDoWMgaOG7hyBz4buRIGjhu5NpIHF1eS4gSMOgbSBsacOqbiBr4bq/dCBt4bq3YyDEkeG7i25oIGzDoCBsb2dhcml0IHbDoCBuw6puIHPhu60gZOG7pW5nIHBo4bqnbiBkxrAgcXVhbnRpbGUgY2hvIG3DtCBow6xuaCBuw6B5LiAgIA0KDQojIyAqKkNIxq/GoE5HIDExOiBE4buuIExJ4buGVSBMScOKTiBU4bukQyBExq/GoE5HOiBHQU1NQSBWw4AgSU5WRVJTRSBHQVVTU0lBTiBHTE1zKiogICAgDQoqICoqTcO0IGjDrG5oIGjDs2EgROG7ryBsaeG7h3UgTGnDqm4gdOG7pWMgRMawxqFuZyoqICAgDQogIEThu68gbGnhu4d1IGxpw6puIHThu6VjIGTGsMahbmcgdGjGsOG7nW5nIGPDsyDEkeG6t2MgxJFp4buDbSBwaMOibiBwaOG7kWkgbOG7h2NoIHBo4bqjaSB2w6AgZ2nhu5tpIGjhuqFuIOG7nyBnacOhIHRy4buLIGtow7RuZy4gQ8OhYyBwaMawxqFuZyBwaMOhcCBk4buxYSB0csOqbiBwaMOibiBwaOG7kWkgY2h14bqpbiBjw7MgdGjhu4Mga2jDtG5nIHBow7kgaOG7o3AgY2hvIGxv4bqhaSBk4buvIGxp4buHdSBuw6B5IGRvIHZpIHBo4bqhbSBnaeG6oyDEkeG7i25oIHbhu4EgdMOtbmggxJHhu5FpIHjhu6luZyB2w6AgcGjGsMahbmcgc2FpIGjhurFuZyBz4buRLiBHTE1zIGN1bmcgY+G6pXAgbeG7mXQgY8OhY2ggdGnhur9wIGPhuq1uIGxpbmggaG/huqF0IGjGoW4gYuG6sW5nIGPDoWNoIHPhu60gZOG7pW5nIGPDoWMgcGjDom4gcGjhu5FpIG5oxrAgR2FtbWEgdsOgIEludmVyc2UgR2F1c3NpYW4sIHbhu5FuIMSRxrDhu6NjIHRoaeG6v3Qga+G6vyBjaG8gZOG7ryBsaeG7h3UgZMawxqFuZyB2w6AgY8OzIHRo4buDIG3DtCBow6xuaCBow7NhIHBoxrDGoW5nIHNhaSB0aGF5IMSR4buVaSB0aGVvIGdpw6EgdHLhu4sgdHJ1bmcgYsOsbmguIFZp4buHYyBs4buxYSBjaOG7jW4gcGjDom4gcGjhu5FpIHBow7kgaOG7o3AgcGjhu6UgdGh14buZYyB2w6BvIGjDrG5oIGThuqFuZyBwaMOibiBwaOG7kWkgY+G7p2EgZOG7ryBsaeG7h3UgdsOgIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgdHJ1bmcgYsOsbmggdsOgIHBoxrDGoW5nIHNhaS4gICANCiogKipQaMOibiBwaOG7kWkgR2FtbWEqKiAgIA0KICBQaMOibiBwaOG7kWkgR2FtbWEgbMOgIG3hu5l0IHBow6JuIHBo4buRaSBsacOqbiB04bulYyBkxrDGoW5nIMSRxrDhu6NjIMSR4bq3YyB0csawbmcgYuG7n2kgdGhhbSBz4buRIGjDrG5oIGThuqFuZyAozrEpIHbDoCB0aGFtIHPhu5EgdOG7tyBs4buHICjOsikgKGhv4bq3YyB0aGFtIHPhu5Egbmdo4buLY2ggxJHhuqNvIHThu7cgbOG7hykuIEdpw6EgdHLhu4sgdHJ1bmcgYsOsbmggY+G7p2EgcGjDom4gcGjhu5FpIEdhbW1hIGzDoCAkXG11PVxhbHBoYVxiZXRhJCB2w6AgcGjGsMahbmcgc2FpICRWKFxtdSk9XG11XjIvXGFscGhhJC7EkGnhu4NtIMSRw6FuZyBjaMO6IMO9IGzDoCBwaMawxqFuZyBzYWkgdMSDbmcgdGhlbyBiw6xuaCBwaMawxqFuZyBj4bunYSBnacOhIHRy4buLIHRydW5nIGLDrG5oLCBjaG8gdGjhuqV5IHPhu7EgcGjDuSBo4bujcCB24bubaSBuaGnhu4F1IGxv4bqhaSBk4buvIGxp4buHdSBsacOqbiB04bulYyBkxrDGoW5nLiBUcm9uZyBi4buRaSBj4bqjbmggR0xNcywgcGjDom4gcGjhu5FpIEdhbW1hIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSBow6BtIGxpw6puIGvhur90IGxvZ2FyaXQgKGxpw6puIGvhur90IGNow61uaCB04bqvYykgxJHhu4MgxJHhuqNtIGLhuqNvIGdpw6EgdHLhu4sgZOG7sSDEkW/DoW4gZMawxqFuZy4gICANCiogKipQaMOibiBwaOG7kWkgSW52ZXJzZSBHYXVzc2lhbioqICAgDQogIFBow6JuIHBo4buRaSBJbnZlcnNlIEdhdXNzaWFuIGzDoCBt4buZdCBwaMOibiBwaOG7kWkgbGnDqm4gdOG7pWMgZMawxqFuZyBraMOhYywgdGjGsOG7nW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIGtoaSBk4buvIGxp4buHdSBjw7MgxJHhu5kgbOG7h2NoIGzhu5tuIGjGoW4gc28gduG7m2kgcGjDom4gcGjhu5FpIEdhbW1hLiBOw7MgxJHGsOG7o2MgxJHhurdjIHRyxrBuZyBi4bufaSB0aGFtIHPhu5EgduG7iyB0csOtICjOvCkgdsOgIHRoYW0gc+G7kSBow6xuaCBk4bqhbmcgaG/hurdjIHBow6JuIHTDoW4gKM67IGhv4bq3YyDPlSkuIFBoxrDGoW5nIHNhaSBj4bunYSBwaMOibiBwaOG7kWkgSW52ZXJzZSBHYXVzc2lhbiBsw6AgIyRWKFxtdSk9XG11XjMvXGxhbWJkYSQuIMSQ4bq3YyDEkWnhu4NtIHBoxrDGoW5nIHNhaSB0xINuZyB0aGVvIGzFqXkgdGjhu6thIGLhuq1jIGJhIGPhu6dhIGdpw6EgdHLhu4sgdHJ1bmcgYsOsbmggbMOgIG3hu5l0IMSRaeG7g20ga2jDoWMgYmnhu4d0IHF1YW4gdHLhu41uZyBzbyB24bubaSBwaMOibiBwaOG7kWkgR2FtbWEuIEjDoG0gbGnDqm4ga+G6v3QgY2jDrW5oIHThuq9jIGNobyBwaMOibiBwaOG7kWkgSW52ZXJzZSBHYXVzc2lhbiBsw6AgaMOgbSBuZ2jhu4tjaCDEkeG6o28gYsOsbmggcGjGsMahbmcgJCgxL1xtdV4yKSQuICAgDQoqICoqSMOgbSBMacOqbiBr4bq/dCoqICAgDQogIFZp4buHYyBs4buxYSBjaOG7jW4gaMOgbSBsacOqbiBr4bq/dCBwaMO5IGjhu6NwIGzDoCB0aGVuIGNo4buRdCDEkeG7gyB0aGnhur90IGzhuq1wIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgZ2nDoSB0cuG7iyBr4buzIHbhu41uZyBj4bunYSBk4buvIGxp4buHdSBsacOqbiB04bulYyBkxrDGoW5nIHbDoCBwaOG6p24gdHV54bq/biB0w61uaCBj4bunYSBjw6FjIGJp4bq/biBnaeG6o2kgdGjDrWNoLiDEkOG7kWkgduG7m2kgcGjDom4gcGjhu5FpIEdhbW1hLCBow6BtIGxpw6puIGvhur90IGxvZ2FyaXQgJCQoXGxvZyhcbXUpID0gXGV0YSkkJCBsw6AgcGjhu5UgYmnhur9uIG5o4bqldCB2w6AgbMOgIGjDoG0gbGnDqm4ga+G6v3QgY2jDrW5oIHThuq9jLiDEkOG7kWkgduG7m2kgcGjDom4gcGjhu5FpIEludmVyc2UgR2F1c3NpYW4sIGjDoG0gbGnDqm4ga+G6v3Qgbmdo4buLY2ggxJHhuqNvIGLDrG5oIHBoxrDGoW5nICAkKDEvXG11XjI9XGV0YSkkIGzDoCBow6BtIGxpw6puIGvhur90IGNow61uaCB04bqvYywgbeG6t2MgZMO5IGPDoWMgaMOgbSBsacOqbiBr4bq/dCBraMOhYyBuaMawIG5naOG7i2NoIMSR4bqjbyAkKDEvXG11PVxldGEpJCB2w6AgaWRlbnRpdHkgICQoXG11PVxldGEpJCBjxaluZyBjw7MgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgdMO5eSB0aHXhu5ljIHbDoG8g4bupbmcgZOG7pW5nLiAgIA0KKiAqKsav4bubYyBsxrDhu6NuZyBUaGFtIHPhu5EgUGjDom4gdMOhbioqICAgDQogIEPhuqMgcGjDom4gcGjhu5FpIEdhbW1hIHbDoCBJbnZlcnNlIEdhdXNzaWFuIMSR4buBdSBjw7MgbeG7mXQgdGhhbSBz4buRIHBow6JuIHTDoW4gKM+VKSBj4bqnbiDEkcaw4bujYyDGsOG7m2MgbMaw4bujbmcgdOG7qyBk4buvIGxp4buHdSwgYsOqbiBj4bqhbmggY8OhYyBo4buHIHPhu5EgaOG7k2kgcXV5LiDEkOG7kWkgduG7m2kgcGjDom4gcGjhu5FpIEdhbW1hLCDGsOG7m2MgbMaw4bujbmcgTUxFIGPhu6dhIM+VICh0aMaw4budbmcgxJHGsOG7o2Mga8O9IGhp4buHdSBsw6AgJCRcbnUgPSAxL1xhbHBoYSQkIGtow7RuZyBjw7MgZOG6oW5nIMSRw7NuZyB2w6AgdGjGsOG7nW5nIHnDqnUgY+G6p3UgY8OhYyBwaMawxqFuZyBwaMOhcCBs4bq3cC4gxJDhu5FpIHbhu5tpIHBow6JuIHBo4buRaSBJbnZlcnNlIEdhdXNzaWFuLCDGsOG7m2MgbMaw4bujbmcgTUxFIGPhu6dhIHRoYW0gc+G7kSBwaMOibiB0w6FuIM+VIGPFqW5nIGPhuqduIGPDoWMgcGjGsMahbmcgcGjDoXAgc+G7kSBo4buNYyAuQ8OhYyDGsOG7m2MgbHLDqm4gxJHhu5kgbOG7h2NoIFBlYXJzb24gdGjGsOG7nW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIG5oxrAgbeG7mXQgbOG7sWEgY2jhu41uIHRo4buxYyB04bq/IMSR4buDIMaw4bubYyBsxrDhu6NuZyB0aGFtIHPhu5EgcGjDom4gdMOhbiB0cm9uZyBj4bqjIGhhaSB0csaw4budbmcgaOG7o3AuICAgDQogIA0KIyMgKipDSMavxqBORyAxMjogTcOUIEjDjE5IIFRVWeG6vk4gVMONTkggVOG7lE5HIFFVw4FUIFRXRUVESUUqKiAgIA0KKiAqKkPDoWMgRURNcyBUd2VlZGllKiogICAgDQogIEjhu40gcGjDom4gcGjhu5FpIFR3ZWVkaWUgbMOgIG3hu5l0IGzhu5twIHLhu5luZyBjw6FjIHBow6JuIHBo4buRaSBtxakgcGjDom4gdMOhbiAoRURNcykgxJHGsOG7o2MgxJHhurdjIHRyxrBuZyBi4bufaSB0aGFtIHPhu5EgY2jhu4kgc+G7kSDOviwgcXV54bq/dCDEkeG7i25oIHBoxrDGoW5nIHNhaSB0aGVvIHF1eSBsdeG6rXQgJCRWKFxtdSkgPSBccGhpIFxtdV5ceGkuJCQgVMO5eSB0aHXhu5ljIHbDoG8gZ2nDoSB0cuG7iyBj4bunYSDOviwgaOG7jSBUd2VlZGllIGJhbyBn4buTbSBjw6FjIHBow6JuIHBo4buRaSBxdWVuIHRodeG7mWMgbmjGsCBOb3JtYWwgKM6+PTApLCBQb2lzc29uICjOvj0xKSwgR2FtbWEgKM6+PTIpLCB2w6AgSW52ZXJzZSBHYXVzc2lhbiAozr49MykuIMSQ4bq3YyBiaeG7h3QsIG7DsyBjw7JuIGJhbyBn4buTbSBjw6FjIHBow6JuIHBo4buRaSBo4buvdSDDrWNoIGNobyBk4buvIGxp4buHdSBsacOqbiB04bulYyBkxrDGoW5nIGPDsyDEkWnhu4NtIGtow7RuZyBjaMOtbmggeMOhYyAoMTzOvjwyKS4gQ+G6pXUgdHLDumMgY+G7p2EgVHdlZWRpZSBFRE1zIGNobyBwaMOpcCBtw7QgaMOsbmggaMOzYSBuaGnhu4F1IGxv4bqhaSBk4buvIGxp4buHdSBraMOhYyBuaGF1IHRyb25nIG3hu5l0IGtodcO0biBraOG7lSBHTE0gdGjhu5FuZyBuaOG6pXQuICAgDQoqICoqQ8OhYyBHTE1zIFR3ZWVkaWUqKiAgIA0KICDEkOG7gyB4w6J5IGThu7FuZyBUd2VlZGllIEdMTSwgY2jDum5nIHRhIGPhuqduIHjDoWMgxJHhu4tuaCBwaMOibiBwaOG7kWkgVHdlZWRpZSAodGjDtG5nIHF1YSDOviksIGjDoG0gbGnDqm4ga+G6v3QgdsOgIHBo4bqnbiB0dXnhur9uIHTDrW5oLiDGr+G7m2MgbMaw4bujbmcgdGhhbSBz4buRIGNo4buJIHPhu5Egzr4gdGjGsOG7nW5nIGzDoCBt4buZdCBixrDhu5tjIHF1YW4gdHLhu41uZywgY8OzIHRo4buDIGThu7FhIHRyw6puIGThu68gbGnhu4d1IGhv4bq3YyBjw6FjIHBoxrDGoW5nIHBow6FwIMaw4bubYyBsxrDhu6NuZyDEkeG6t2MgYmnhu4d0LiBTYXUga2hpIHjDoWMgxJHhu4tuaCDOviwgY8OhYyBo4buHIHPhu5EgaOG7k2kgcXV5IHbDoCB0aGFtIHPhu5EgcGjDom4gdMOhbiDPlSDEkcaw4bujYyDGsOG7m2MgbMaw4bujbmcgYuG6sW5nIHBoxrDGoW5nIHBow6FwIG1heGltdW0gbGlrZWxpaG9vZC4gVmnhu4djIHbhu6thIG3DtCBow6xuaCBUd2VlZGllIEdMTSDEkcOyaSBo4buPaSBjw6FjIGjDoG0gcGjhuqduIG3hu4FtIGNodXnDqm4gYmnhu4d0LCB2w6wga2jDtG5nIHBo4bqjaSBwaOG6p24gbeG7gW0gR0xNIHRpw6p1IGNodeG6qW4gbsOgbyBjxaluZyBo4buXIHRy4bujIHRy4buxYyB0aeG6v3AgaOG7jSBwaMOibiBwaOG7kWkgbsOgeS5Iw6BtIGxpw6puIGvhur90IGxvZ2FyaXQgdGjGsOG7nW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIGNobyBjw6FjIHBow6JuIHBo4buRaSBUd2VlZGllIHbhu5tpIGThu68gbGnhu4d1IGTGsMahbmcuIFZp4buHYyBs4buxYSBjaOG7jW4gaMOgbSBsacOqbiBr4bq/dCBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIHPhu7EgaOG7mWkgdOG7pSB2w6Aga2jhuqMgbsSDbmcgZGnhu4VuIGdp4bqjaSBj4bunYSBtw7QgaMOsbmguIEPDoWMgcGjGsMahbmcgcGjDoXAgY2jhuqluIMSRb8OhbiB0xrDGoW5nIHThu7EgbmjGsCBHTE1zIHRpw6p1IGNodeG6qW4gKHbDrSBk4bulOiBwaMOibiB0w61jaCBwaOG6p24gZMawKSBjxaluZyDEkcaw4bujYyDDoXAgZOG7pW5nIGNobyBUd2VlZGllIEdMTXMuICAgDQoqICoqQ8OhYyBOZ2hpw6puIGPhu6l1IFRyxrDhu51uZyBo4bujcCoqICAgIA0KICBDw6FjIG5naGnDqm4gY+G7qXUgdHLGsOG7nW5nIGjhu6NwIHRyb25nIGNoxrDGoW5nIG7DoHkgbWluaCBo4buNYSB0w61uaCDhu6luZyBk4bulbmcgY+G7p2EgVHdlZWRpZSBHTE1zIGNobyBjw6FjIGxv4bqhaSBk4buvIGxp4buHdSBraMOhYyBuaGF1LiBWw60gZOG7pSBjw7MgdGjhu4MgYmFvIGfhu5NtIG3DtCBow6xuaCBow7NhIGNoaSBwaMOtIGLhuqNvIGhp4buDbSAoZOG7ryBsaeG7h3UgbGnDqm4gdOG7pWMgZMawxqFuZyB24bubaSBuaGnhu4F1IGdpw6EgdHLhu4sga2jDtG5nKSwgbuG7k25nIMSR4buZIGNo4bqldCDDtCBuaGnhu4VtIChk4buvIGxp4buHdSBsacOqbiB04bulYyBkxrDGoW5nKSwgaG/hurdjIGPDoWMgbG/huqFpIGThu68gbGnhu4d1IGtow6FjIG3DoCBwaMawxqFuZyBzYWkgY8OzIG3hu5FpIHF1YW4gaOG7hyBsxal5IHRo4burYSB24bubaSBnacOhIHRy4buLIHRydW5nIGLDrG5oLiBDw6FjIHbDrSBk4bulIG7DoHkgZ2nDunAgbMOgbSByw7UgY8OhY2ggbOG7sWEgY2jhu41uIHBow6JuIHBo4buRaSBUd2VlZGllIHBow7kgaOG7o3AgKGThu7FhIHRyw6puIMSR4bq3YyDEkWnhu4NtIGThu68gbGnhu4d1IHbDoCDGsOG7m2MgbMaw4bujbmcgzr4pLCBjw6FjaCBkaeG7hW4gZ2nhuqNpIGPDoWMgaOG7hyBz4buRIHbDoCDEkcOhbmggZ2nDoSBz4buxIHBow7kgaOG7o3AgY+G7p2EgbcO0IGjDrG5oIHRyb25nIHRo4buxYyB04bq/LiAgIA0KICANCiMgKipUSOG7kE5HIEvDiiBNw5QgVOG6oioqICAgDQoNCiMjICoqR2nhu5tpIHRoaeG7h3UgYuG7mSBk4buvIGxp4buHdSoqICAgDQoNCiogQuG7mSBk4buvIGxp4buHdSAqKnBlcm1hcmtldCBUcmFuc2FjdGlvbnMqKiBjaOG7qWEgdGjDtG5nIHRpbiBjaGkgdGnhur90IHbhu4EgMTQsMDU5IGdpYW8gZOG7i2NoIG11YSBow6BuZyB04bqhaSBt4buZdCBzacOqdSB0aOG7iy4gTeG7l2kgaMOgbmcgdHJvbmcgYuG6o25nIGdoaSBs4bqhaSBt4buZdCBnaWFvIGThu4tjaCByacOqbmcgbOG6uywgY3VuZyBj4bqlcCB0aMO0bmcgdGluIMSRYSBk4bqhbmcgduG7gSBj4bqjIGtow6FjaCBow6BuZyB2w6Agc+G6o24gcGjhuqltIMSRxrDhu6NjIG11YS4gICANCiogVGjDtG5nIHRpbiBLaMOhY2ggaMOgbmc6IELhu5kgZOG7ryBsaeG7h3UgYmFvIGfhu5NtIGPDoWMgdGh14buZYyB0w61uaCBuaMOibiBraOG6qXUgaOG7jWMgY+G7p2Ega2jDoWNoIGjDoG5nIG5oxrAgQ3VzdG9tZXJJRCAobcOjIMSR4buLbmggZGFuaCBkdXkgbmjhuqV0KSwgR2VuZGVyIChnaeG7m2kgdMOtbmgpLCBNYXJpdGFsU3RhdHVzICh0w6xuaCB0cuG6oW5nIGjDtG4gbmjDom4pLCBIb21lb3duZXIgKHPhu58gaOG7r3UgbmjDoCksIENoaWxkcmVuIChz4buRIGzGsOG7o25nIGNvbiBjw6FpKSB2w6AgQW5udWFsSW5jb21lIChraG/huqNuZyB0aHUgbmjhuq1wIGjDoG5nIG7Eg20pLiBOZ2/DoGkgcmEsIHRow7RuZyB0aW4gduG7gSDEkeG7i2EgbMO9IGPhu6dhIGtow6FjaCBow6BuZyBjxaluZyDEkcaw4bujYyBnaGkgbOG6oWkgdGjDtG5nIHF1YSBDaXR5ICh0aMOgbmggcGjhu5EpLCBTdGF0ZU9yUHJvdmluY2UgKHRp4buDdSBiYW5nL3Thu4luaCkgdsOgIENvdW50cnkgKHF14buRYyBnaWEsIGNo4bunIHnhur91IGzDoCBVU0EgdHJvbmcgY8OhYyBkw7JuZyBoaeG7g24gdGjhu4spLiAgIA0KKiBUaMO0bmcgdGluIEdpYW8gZOG7i2NoOiBN4buXaSBnaWFvIGThu4tjaCDEkcaw4bujYyB4w6FjIMSR4buLbmggYuG7n2kgWCAoY8OzIHRo4buDIGzDoCBJRCBnaWFvIGThu4tjaCkgdsOgIHRo4budaSDEkWnhu4NtIG11YSBow6BuZyBQdXJjaGFzZURhdGUgKHRow6FuZyAxMiBuxINtIDIwMDcgdHJvbmcgY8OhYyBkw7JuZyDEkeG6p3UpLiAgIA0KKiBU4buVbmcgcXVhbiB2w6AgdGnhu4FtIG7Eg25nIHBow6JuIHTDrWNoOiBC4buZIGThu68gbGnhu4d1ICJTdXBlcm1hcmtldCBUcmFuc2FjdGlvbnMiIG7DoHkgY3VuZyBj4bqlcCBt4buZdCBuZ3Xhu5NuIHTDoGkgbmd1ecOqbiBwaG9uZyBwaMO6IMSR4buDIHBow6JuIHTDrWNoIGjDoG5oIHZpIG11YSBow6BuZyBj4bunYSBraMOhY2ggaMOgbmcuIEPDoWMgbmjDoCBwaMOibiB0w61jaCBjw7MgdGjhu4Mga2jDoW0gcGjDoSBjw6FjIHh1IGjGsOG7m25nIG11YSBz4bqvbSB0aGVvIG5ow6JuIGto4bqpdSBo4buNYywgeMOhYyDEkeG7i25oIGPDoWMgc+G6o24gcGjhuqltIGLDoW4gY2jhuqF5IG5o4bqldCwgaGnhu4N1IHLDtSBoxqFuIHbhu4EgbeG7kWkgcXVhbiBo4buHIGdp4buvYSBjw6FjIHPhuqNuIHBo4bqpbSDEkcaw4bujYyBtdWEgY8O5bmcgbmhhdSwgdsOgIHBow6JuIGtow7pjIGtow6FjaCBow6BuZyBk4buxYSB0csOqbiB0aMOzaSBxdWVuIG11YSBow6BuZyBj4bunYSBo4buNLiBW4bubaSBoxqFuIDE0LDAwMCBnaWFvIGThu4tjaCwgYuG7mSBk4buvIGxp4buHdSBuw6B5IGjhu6lhIGjhurluIG1hbmcgbOG6oWkgbmhp4buBdSB0aMO0bmcgdGluIGdpw6EgdHLhu4sgduG7gSBob+G6oXQgxJHhu5luZyBraW5oIGRvYW5oIGPhu6dhIHNpw6p1IHRo4buLLiAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGNyYXlvbikNCmRhdGEgPC0gcmVhZC5jc3YoJ0Y6L1IvZGF0YTEvU3VwZXJtYXJrZXQgVHJhbnNhY3Rpb25zLmNzdicsaGVhZGVyID0gVCkNCmRhdGF0YWJsZShkYXRhKQ0KYGBgDQogDQojIyAqKlRo4buRbmcga8OqIGJp4bq/biDEkeG7i25oIGzGsOG7o25nKiogICANCg0KYGBge3IsZWNobz1GQUxTRX0NCmxpYnJhcnkocHN5Y2gpDQpkZXNjMSA8LSBkZXNjcmliZShkYXRhJFVuaXRzU29sZCkNCmRlc2MyIDwtIGRlc2NyaWJlKGRhdGEkUmV2ZW51ZSkNCmRlc2MgPC0gcmJpbmQoZGVzYzEsZGVzYzIpDQpkYXRhdGFibGUoZGVzYykNCmBgYA0KKiAqKkJp4bq/biBVbml0c1NvbGQqKihYMSk6IFPhu5EgbMaw4bujbmcgxJHGoW4gduG7iyBz4bqjbiBwaOG6qW0gYsOhbiByYSB0cnVuZyBiw6xuaCBt4buXaSBnaWFvIGThu4tjaCBsw6AgNC4wOSwgduG7m2kgxJHhu5kgbOG7h2NoIGNodeG6qW4gMS4xNyBjaG8gdGjhuqV5IMSR4buZIHBow6JuIHTDoW4gdMawxqFuZyDEkeG7kWkgbmjhu48uIFBow6JuIHBo4buRaSBn4bqnbiDEkeG7kWkgeOG7qW5nIHbhu5tpIMSR4buZIGzhu4djaCAwLjAxIHbDoCDEkeG7iW5oIHBo4bqzbmcgaMahbiBwaMOibiBwaOG7kWkgY2h14bqpbiAoa3VydG9zaXMgLTAuNDM4KS4gU+G7kSBsxrDhu6NuZyDEkcahbiB24buLIGLDoW4gcmEgZGFvIMSR4buZbmcgdOG7qyAxIMSR4bq/biA4LCBjaG8gdGjhuqV5IHPhu7EgZ2nhu5tpIGjhuqFuIHbhu4Egc+G7kSBsxrDhu6NuZyBt4bq3dCBow6BuZyB0cm9uZyBt4buZdCBnaWFvIGThu4tjaC4gU2FpIHPhu5EgY2h14bqpbiBj4bunYSB0cnVuZyBiw6xuaCBy4bqldCBuaOG7jyAoMC4wMDk5KSwgY2hvIHRo4bqleSDGsOG7m2MgdMOtbmggdHJ1bmcgYsOsbmgga2jDoSBjaMOtbmggeMOhYyBkbyBrw61jaCB0aMaw4bubYyBt4bqrdSBs4bubbi4gICANCiogKipCaeG6v24gUmV2ZW51ZSoqIChYMTEpOiBEb2FuaCB0aHUgdHJ1bmcgYsOsbmggbeG7l2kgZ2lhbyBk4buLY2ggbMOgIDEzLjAwLCB24bubaSDEkeG7mSBs4buHY2ggY2h14bqpbiBs4bubbiBoxqFuIMSRw6FuZyBr4buDIGzDoCA2LjIyLCBjaG8gdGjhuqV5IHPhu7EgYmnhur9uIMSR4buZbmcgY2FvIHbhu4EgZ2nDoSB0cuG7iyBjw6FjIGdpYW8gZOG7i2NoLiBQaMOibiBwaOG7kWkgbOG7h2NoIHBo4bqjaSB24bubaSDEkeG7mSBs4buHY2ggMS4xMywgdsOgIMSR4buJbmggbmjhu41uIGjGoW4gY8O5bmcgxJF1w7RpIGTDoHkgaMahbiBwaMOibiBwaOG7kWkgY2h14bqpbiAoa3VydG9zaXMgMS4zOSksIGNobyB0aOG6pXkgc+G7sSB04buTbiB04bqhaSBj4bunYSBt4buZdCBz4buRIGdpYW8gZOG7i2NoIGPDsyBnacOhIHRy4buLIGNhby4gRG9hbmggdGh1IGRhbyDEkeG7mW5nIHThu6sgMC41MyDEkeG6v24gNTYuNywgduG7m2kgdHJ1bmcgduG7iyB0aOG6pXAgaMahbiB0cnVuZyBiw6xuaCAoMTEuMjUpIGPDoG5nIGto4bqzbmcgxJHhu4tuaCBz4buxIGzhu4djaCBwaOG6o2kuICAgDQoNCiMjICoqVGjhu5FuZyBrw6ogbcO0IHThuqMgYmnhur9uIMSR4buLbmggdMOtbmgqKiAgIA0KDQoqKkJp4bq/biBHZW5kZXIqKiAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KcHJvcC50YWJsZSh0YWJsZShkYXRhJEdlbmRlcikpICU+JSBhZGRtYXJnaW5zKCkNCnAxIDwtIHByb3AudGFibGUodGFibGUoZGF0YSRHZW5kZXIpKSoxMDANCg0KcGllKHAxLCBsYWJlbHMgPSBwYXN0ZShuYW1lcyhwMSksIHJvdW5kKHAxLCAyKSwgIiUiKSwNCiAgICBtYWluID0gIlThu7cgbOG7hyBHZW5kZXIiKQ0KYGBgDQogIEJp4buDdSDEkeG7kyB0csOybiBuw6B5IHRo4buDIGhp4buHbiB04bu3IGzhu4cgZ2nhu5tpIHTDrW5oIHRyb25nIGLhu5kgZOG7ryBsaeG7h3UuIFRoZW8gxJHDsywgZ2nhu5tpIHTDrW5oIG7hu68gKEYpIGNoaeG6v20gcGjhuqduIGzhu5tuIGjGoW4gbeG7mXQgY2jDunQgduG7m2kgdOG7tyBs4buHIDUxJSwgdHJvbmcga2hpIGdp4bubaSB0w61uaCBuYW0gKE0pIGNoaeG6v20gNDklLiBT4buxIGtow6FjIGJp4buHdCBnaeG7r2EgaGFpIGdp4bubaSB0w61uaCBsw6Aga2jDtG5nIMSRw6FuZyBr4buDLCBjaG8gdGjhuqV5IG3hu5l0IHPhu7EgcGjDom4gYuG7kSBnaeG7m2kgdMOtbmggdMawxqFuZyDEkeG7kWkgY8OibiBi4bqxbmcgdHJvbmcgdOG6rXAgZOG7ryBsaeG7h3UgbsOgeS4gICANCioqQmnhur9uIE1hcml0YWxTdGF0dXMqKiAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KdGFibGUoZGF0YSQgTWFyaXRhbFN0YXR1cykgJT4lIGFzLmRhdGEuZnJhbWUoKSAtPm8NCmNvbG5hbWVzKG8pPC1jKCJ2YWx1ZSIsImNvdW50IikNCm8gDQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QobywgYWVzKHggPSB2YWx1ZSwgeSA9IGNvdW50LCBmaWxsID0gdmFsdWUpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGdlb21fdGV4dChhZXMobGFiZWwgPSBjb3VudCksIHZqdXN0ID0gLTAuMywgc2l6ZSA9IDMuNSkgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBj4buZdCIsIHggPSAiTWFyaXRhbFN0YXR1cyIsIHkgPSAiU+G7kSBsxrDhu6NuZyIpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiTSIgPSAicmVkIiwgImdpw6FfdHLhu4tfa2jDoWMiID0gInB1cnBsZSIpKQ0KYGBgDQogIEJp4buDdSDEkeG7kyBj4buZdCBuw6B5IHNvIHPDoW5oIHPhu5EgbMaw4bujbmcgZ2nhu69hIGhhaSB0w6xuaCB0cuG6oW5nIGjDtG4gbmjDom4uIEThu68gbGnhu4d1IGNobyB0aOG6pXkgc+G7kSBuZ8aw4budaSBjw7MgdMOsbmggdHLhuqFuZyDEkOG7mWMgdGjDom4gKFMpIGzDoCA3MTkzLCBjYW8gaMahbiBzbyB24bubaSBz4buRIG5nxrDhu51pIMSQw6Mga+G6v3QgaMO0biAoTSkgbMOgIDY4NjYuIE3hurdjIGTDuSBjw7Mgc+G7sSBjaMOqbmggbOG7h2NoLCBuaMawbmcgc+G7kSBsxrDhu6NuZyBuZ8aw4budaSB0aHXhu5ljIGPhuqMgaGFpIG5ow7NtIHTDrG5oIHRy4bqhbmcgaMO0biBuaMOibiBuw6B5IGtow6EgdMawxqFuZyDEkcawxqFuZyB0cm9uZyBi4buZIGThu68gbGnhu4d1LiDEkGnhu4F1IG7DoHkgY2hvIHRo4bqleSBj4bqjIGhhaSBuaMOzbSDEkeG7kWkgdMaw4bujbmcga2jDoWNoIGjDoG5nIG7DoHkgxJHhu4F1IGPDsyBz4buxIGhp4buHbiBkaeG7h24gxJHDoW5nIGvhu4MgdHJvbmcgY8OhYyBnaWFvIGThu4tjaCBzacOqdSB0aOG7iy4gICANCiAgDQoqKkJp4bq/biBIb21lb3duZXIqKiAgDQpgYGB7cixlY2hvPUZBTFNFfQ0KcHJvcC50YWJsZSh0YWJsZShkYXRhJEhvbWVvd25lKSkgJT4lIGFkZG1hcmdpbnMoKQ0KYzIgPC0gcHJvcC50YWJsZSh0YWJsZShkYXRhJEhvbWVvd25lKSkgKiAxMDANCnBpZShjMiwNCiAgICBsYWJlbHMgPSBwYXN0ZShuYW1lcyhjMiksIHJvdW5kKGMyLCAyKSwgIiUiKSwNCiAgICBtYWluID0gIlThu7cgbOG7hyBIb21lb3duZSIpIA0KDQpkZl9jMiA8LSBhcy5kYXRhLmZyYW1lKGMyKQ0KZGZfYzIkSG9tZW93bmUgPC0gcm93bmFtZXMoZGZfYzIpDQpjb2xuYW1lcyhkZl9jMikgPC0gYygiUGVyY2VudGFnZSIsICJIb21lb3duZSIpDQpnZ3Bsb3QoZGZfYzIsIGFlcyh4ID0gSG9tZW93bmUsIHkgPSBQZXJjZW50YWdlLCBmaWxsID0gSG9tZW93bmUpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGdlb21fdGV4dChhZXMobGFiZWwgPSBwYXN0ZTAoc3ByaW50ZigiJS4yZiIsIEhvbWVvd25lKSwgIiUiKSksIHZqdXN0ID0gLTAuNSkgKw0KICBsYWJzKHRpdGxlID0gIlThu7cgbOG7hyBIb21lb3duZSIsDQogICAgICAgeCA9ICJIb21lb3duZSIsDQogICAgICAgeSA9ICJU4bu3IGzhu4cgKCUpIikgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpDQpgYGANCg0KICBCaeG7g3UgxJHhu5MgY+G7mXQgbmdhbmcgbsOgeSB0aOG7gyBoaeG7h24gdOG7tyBs4buHIGtow6FjaCBow6BuZyBsw6AgY2jhu6cgc+G7nyBo4buvdSBuaMOgLiBUaGVvIMSRw7MsIGPDsyB04bubaSA2MC4wNiUga2jDoWNoIGjDoG5nIHjDoWMgbmjhuq1uIGzDoCBjaOG7pyBz4bufIGjhu691IG5ow6AgKGvDvSBoaeG7h3UgWSksIHRyb25nIGtoaSBjaOG7iSBjw7MgMzkuOTQlIGtow6FjaCBow6BuZyBraMO0bmcgcGjhuqNpIGzDoCBjaOG7pyBz4bufIGjhu691IG5ow6AgKGvDvSBoaeG7h3UgTikuIFPhu7EgY2jDqm5oIGzhu4djaCDEkcOhbmcga+G7gyBuw6B5IGNobyB0aOG6pXkgxJFhIHPhu5Ega2jDoWNoIGjDoG5nIHRyb25nIHThuq1wIGThu68gbGnhu4d1IG7DoHkgY8OzIMSR4bq3YyDEkWnhu4NtIGzDoCBjaOG7pyBz4bufIGjhu691IG5ow6AuIMSQw6J5IGPDsyB0aOG7gyBsw6AgbeG7mXQgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcgY+G6p24geGVtIHjDqXQga2hpIHBow6JuIHTDrWNoIGjDoG5oIHZpIG11YSBow6BuZywgdsOsIHF1eeG7gW4gc+G7nyBo4buvdSBuaMOgIGPDsyB0aOG7gyBsacOqbiBxdWFuIMSR4bq/biBz4buxIOG7lW4gxJHhu4tuaCB0w6BpIGNow61uaCB2w6AgY8OhYyDGsHUgdGnDqm4gdGnDqnUgZMO5bmcga2jDoWMuIFZp4buHYyBjw7MgxJFhIHPhu5Ega2jDoWNoIGjDoG5nIGzDoCBjaOG7pyBz4bufIGjhu691IG5ow6AgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBsb+G6oWkgc+G6o24gcGjhuqltIHbDoCBk4buLY2ggduG7pSBtw6Agc2nDqnUgdGjhu4sgbsOgeSBjdW5nIGPhuqVwIGhv4bq3YyB04bqtcCB0cnVuZyB2w6BvLiAgIA0KICANCioqQmnhur9uIENoaWxkcmVuKiogICANCg0KYGBge3IsZWNobz1GQUxTRX0NCnRhYmxlKGRhdGEkQ2hpbGRyZW4pICU+JSBhcy5kYXRhLmZyYW1lKCkgLT5vMQ0KY29sbmFtZXMobzEpPC1jKCJ2YWx1ZSIsImNvdW50IikNCm8xICANCmdncGxvdChvMSwgYWVzKHggPSB2YWx1ZSwgeSA9IGNvdW50LCBmaWxsID0gdmFsdWUpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiKSArDQogIGdlb21fdGV4dChhZXMobGFiZWwgPSBjb3VudCksIHZqdXN0ID0gLTAuMywgc2l6ZSA9IDMuNSkgKw0KICBsYWJzKHRpdGxlID0gIkJp4buDdSDEkeG7kyBj4buZdCIsIHggPSAiQ2hpbGRyZW4iLCB5ID0gIlPhu5EgbMaw4bujbmciKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCg0KICBCaeG7g3UgxJHhu5MgY+G7mXQgbsOgeSBjaG8gdGjhuqV5IHPhu7EgcGjDom4gYuG7kSBz4buRIGzGsOG7o25nIGtow6FjaCBow6BuZyB0aGVvIHPhu5EgbMaw4bujbmcgY29uIGPDoWkgY+G7p2EgaOG7jS4gQ8OzIHRo4buDIHRo4bqleSBy4bqxbmcsIHPhu5EgbMaw4bujbmcga2jDoWNoIGjDoG5nIGPDsyBjb24gKHThu6sgMSDEkeG6v24gNCBjb24pIGNoaeG6v20gcGjhuqduIGzhu5tuIHRyb25nIHThuq1wIGThu68gbGnhu4d1IG7DoHksIHbhu5tpIHPhu5EgbMaw4bujbmcgZGFvIMSR4buZbmcgdOG7qyAyNzE4IMSR4bq/biAyODkzIGtow6FjaCBow6BuZy4gxJDDoW5nIGNow7ogw70sIG5ow7NtIGtow6FjaCBow6BuZyBjw7MgMyBjb24gY8OzIHPhu5EgbMaw4bujbmcgY2FvIG5o4bqldCAoMjg5MykuIFPhu5EgbMaw4bujbmcga2jDoWNoIGjDoG5nIGtow7RuZyBjw7MgY29uICgxMzQ0KSB2w6Agc+G7kSBsxrDhu6NuZyBraMOhY2ggaMOgbmcgY8OzIHPhu5EgbMaw4bujbmcgY29uIGzhu5tuIG5o4bqldCAoNSBjb24sIDE0MzkpIHRo4bqlcCBoxqFuIMSRw6FuZyBr4buDIHNvIHbhu5tpIGPDoWMgbmjDs20gY8OzIHThu6sgMSDEkeG6v24gNCBjb24uIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IGdpYSDEkcOsbmggY8OzIHThu6sgMSDEkeG6v24gNCBjb24gbMOgIG5ow7NtIGtow6FjaCBow6BuZyBwaOG7lSBiaeG6v24gbmjhuqV0IHRyb25nIGThu68gbGnhu4d1IGdpYW8gZOG7i2NoIHNpw6p1IHRo4buLIG7DoHkuIFRow7RuZyB0aW4gbsOgeSBjw7MgdGjhu4MgaOG7r3Ugw61jaCBjaG8gc2nDqnUgdGjhu4sgdHJvbmcgdmnhu4djIMSRaeG7gXUgY2jhu4luaCBjw6FjIGNoxrDGoW5nIHRyw6xuaCBraHV54bq/biBtw6NpIHbDoCBs4buxYSBjaOG7jW4gc+G6o24gcGjhuqltIHBow7kgaOG7o3AgduG7m2kgxJHhu5FpIHTGsOG7o25nIGtow6FjaCBow6BuZyBnaWEgxJHDrG5oLiBDw7MgduG6uyBuaMawIGPDoWMgZ2lhIMSRw6xuaCBjw7MgcXV5IG3DtCB24burYSBwaOG6o2kgKDEtNCBjb24pIGzDoCBt4buZdCBwaMOibiBraMO6YyBraMOhY2ggaMOgbmcgcXVhbiB0cuG7jW5nLiAgIA0KICANCioqQmnhur9uIEFubnVhbEluY29tZSoqICAgDQoNCmBgYHtyLGVjaG89RkFMU0V9DQpjMiA8LSBkYXRhfD4gDQogIGdyb3VwX2J5KEFubnVhbEluY29tZSkgfD4NCiAgc3VtbWFyaXNlKGZyZXEgPSBuKCkpIHw+DQogIG11dGF0ZShwZXIgPSBmcmVxIC8gc3VtKGZyZXEpLA0KICAgICAgICAgbGFiZWwgPSBwYXN0ZTAoZnJlcSwgIiAoIiwgcm91bmQocGVyICogMTAwLCAxKSwgIiUpIikpDQoNCmdncGxvdChjMiwgYWVzKHggPSBBbm51YWxJbmNvbWUsIHkgPSBwZXIsIGZpbGwgPSBBbm51YWxJbmNvbWUpKSArDQogIGdlb21fY29sKCkgKw0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gbGFiZWwpLCBoanVzdCA9IC0wLjEpICsgIyDEkGnhu4F1IGNo4buJbmggduG7iyB0csOtIG5ow6NuDQogIGxhYnModGl0bGUgPSAiVOG7tyBs4buHIHRoZW8gVGh1IG5o4bqtcCBIw6BuZyBuxINtIiwNCiAgICAgICB5ID0gIlRodSBuaOG6rXAgSMOgbmcgbsSDbSIsDQogICAgICAgeCA9ICJU4bu3IGzhu4ciKSArDQogIHNjYWxlX3lfY29udGludW91cyhsYWJlbHMgPSBzY2FsZXM6OnBlcmNlbnQpICsNCiAgc2NhbGVfZmlsbF9icmV3ZXIocGFsZXR0ZSA9ICJTZXQzIiwgbmFtZSA9ICJUaHUgbmjhuq1wIikgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICBjb29yZF9mbGlwKCkgIyBUaMOqbSBow6BtIG7DoHkgxJHhu4MgbOG6rXQgYmnhu4N1IMSR4buTDQpgYGANCg0KICBCaeG7g3UgxJHhu5MgY+G7mXQgbmdhbmcgbsOgeSB0aOG7gyBoaeG7h24gdOG7tyBs4buHIGtow6FjaCBow6BuZyB0aGVvIGPDoWMga2hv4bqjbmcgdGh1IG5o4bqtcCBow6BuZyBuxINtLiBOaMOzbSBraMOhY2ggaMOgbmcgY8OzIHRodSBuaOG6rXAgdOG7qyAkMTBLIC0gJDMwSyBjaGnhur9tIHThu7cgbOG7hyBjYW8gbmjhuqV0IHRyb25nIGLhu5kgZOG7ryBsaeG7h3UuIFRp4bq/cCB0aGVvIGzDoCBuaMOzbSB0aHUgbmjhuq1wICQ1MEsgLSAkNzBLLCBjaGnhur9tIG3hu5l0IHBo4bqnbiDEkcOhbmcga+G7gy4gQ8OhYyBuaMOzbSB0aHUgbmjhuq1wIGNhbyBoxqFuLCB04burICQ5MEsgdHLhu58gbMOqbiwgY8OzIHThu7cgbOG7hyBraMOhY2ggaMOgbmcgdGjhuqVwIGjGoW4gxJHDoW5nIGvhu4MuIMSQw6FuZyBjaMO6IMO9LCBjw6FjIG5ow7NtIHRodSBuaOG6rXAgJDMwSyAtICQ1MEsgdsOgICQxNTBLICsgY2hp4bq/bSB04bu3IGzhu4cgbmjhu48gbmjhuqV0IHRyb25nIHThu5VuZyBz4buRIGtow6FjaCBow6BuZy4gTmjDrG4gY2h1bmcsIHBow6JuIGLhu5EgdGh1IG5o4bqtcCBj4bunYSB04bqtcCBraMOhY2ggaMOgbmcgbsOgeSB04bqtcCB0cnVuZyBjaOG7pyB54bq/dSDhu58gY8OhYyBt4bupYyB0aHUgbmjhuq1wIHRo4bqlcCBoxqFuIHbDoCB0cnVuZyBiw6xuaCB0aOG6pXAsIMSRaeG7gXUgbsOgeSBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIGPDoWMgY2hp4bq/biBsxrDhu6NjIG1hcmtldGluZyB2w6AgbOG7sWEgY2jhu41uIHPhuqNuIHBo4bqpbSBj4bunYSBzacOqdSB0aOG7iy4gICANCg0KKipCaeG6v24gQ2l0eSoqICAgDQoNCmBgYHtyLGVjaG89RkFMU0V9DQp0YWJsZShkYXRhJENpdHkpICU+JSBhcy5kYXRhLmZyYW1lKCkgLT5vMg0KY29sbmFtZXMobzIpPC1jKCJ2YWx1ZSIsImNvdW50IikNCm8yICANCg0KZ2dwbG90KG8yLCBhZXMoeCA9IHZhbHVlLCB5ID0gY291bnQsIGZpbGwgPSB2YWx1ZSkpICsNCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIpICsNCiAgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IGNvdW50KSwgdmp1c3QgPSAtMC4zLCBzaXplID0gMS41KSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIENpdHkgIiwgeCA9ICJDaXR5IiwgeSA9ICJT4buRIGzGsOG7o25nIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQogIEJp4buDdSDEkeG7kyBj4buZdCBuw6B5IGNobyB0aOG6pXkgc+G7sSBwaMOibiBi4buRIHPhu5EgbMaw4bujbmcga2jDoWNoIGjDoG5nIHRoZW8gdGjDoG5oIHBo4buRIG7GoWkgaOG7jSBzaW5oIHPhu5FuZy4gTG9zIEFuZ2VsZXMgbuG7lWkgYuG6rXQgduG7m2kgc+G7kSBsxrDhu6NuZyBraMOhY2ggaMOgbmcgY2FvIG5o4bqldCAoMTM5OCksIHRoZW8gc2F1IGzDoCBTYW4gRGllZ28gduG7m2kgMTI2NyBraMOhY2ggaMOgbmcuIEPDoWMgdGjDoG5oIHBo4buRIG5oxrAgU2VhdHRsZSAoOTIyKSB2w6AgQmV2ZXJseSBIaWxscyAoODc4KSBjxaluZyBjw7MgbMaw4bujbmcga2jDoWNoIGjDoG5nIMSRw6FuZyBr4buDLiBUdXkgbmhpw6puLCBwaOG6p24gbOG7m24gY8OhYyB0aMOgbmggcGjhu5EgY8OybiBs4bqhaSB0cm9uZyBk4buvIGxp4buHdSBnaGkgbmjhuq1uIHPhu5EgbMaw4bujbmcga2jDoWNoIGjDoG5nIHRo4bqlcCBoxqFuIG5oaeG7gXUsIHRoxrDhu51uZyBkxrDhu5tpIDUwMCwgdsOgIHRo4bqtbSBjaMOtIGPDsyBt4buZdCBz4buRIHRow6BuaCBwaOG7kSBjaOG7iSBjw7MgbeG7mXQgc+G7kSBsxrDhu6NuZyBy4bqldCBuaOG7jyBraMOhY2ggaMOgbmcuIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IHPhu7EgdOG6rXAgdHJ1bmcgxJHDoW5nIGvhu4MgY+G7p2Ega2jDoWNoIGjDoG5nIOG7nyBt4buZdCB2w6BpIHRow6BuaCBwaOG7kSBs4bubbiwgxJHhurdjIGJp4buHdCBsw6AgTG9zIEFuZ2VsZXMgdsOgIFNhbiBEaWVnbywgY8OzIHRo4buDIHBo4bqjbiDDoW5oIHF1eSBtw7QgZMOibiBz4buRIGhv4bq3YyBt4bupYyDEkeG7mSBob+G6oXQgxJHhu5luZyBj4bunYSBzacOqdSB0aOG7iyDhu58gY8OhYyBraHUgduG7sWMgbsOgeS4gVmnhu4djIHBow6JuIHTDrWNoIHPDonUgaMahbiBjw7MgdGjhu4MgY2hvIHRo4bqleSBsaeG7h3UgY8OzIHPhu7Ega2jDoWMgYmnhu4d0IMSRw6FuZyBr4buDIG7DoG8gdHJvbmcgaMOgbmggdmkgbXVhIGjDoG5nIGdp4buvYSBraMOhY2ggaMOgbmcg4bufIGPDoWMgdGjDoG5oIHBo4buRIGtow6FjIG5oYXUgaGF5IGtow7RuZy4gICANCiAgDQoqKkJp4bq/biBTdGF0ZW9yUHJvdmluY2UqKiAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KYzQgPC0gdGFibGUoZGF0YSRTdGF0ZW9yUHJvdmluY2UpDQpjNCA8LSBkYXRhICU+JQ0KICBncm91cF9ieShTdGF0ZW9yUHJvdmluY2UpICU+JQ0KICBzdW1tYXJpc2UoZnJlcSA9IG4oKSkgJT4lDQogIG11dGF0ZShwZXIgPSBmcmVxIC8gc3VtKGZyZXEpLA0KICAgICAgICAgbGFiZWwgPSBwYXN0ZTAoU3RhdGVvclByb3ZpbmNlLCAiICgiLCByb3VuZChwZXIgKiAxMDAsIDEpLCAiJSkiKSkNCmdncGxvdChjNCwgYWVzKHggPSBTdGF0ZW9yUHJvdmluY2UsIHkgPSBwZXIsIGZpbGwgPSBTdGF0ZW9yUHJvdmluY2UpKSArDQogIGdlb21fY29sKCkgKw0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gbGFiZWwpLCBoanVzdCA9ICswLjMpICsgDQogIGxhYnModGl0bGUgPSAiVOG7tyBs4buHIHRoZW8gVGnhu4N1IGJhbmcvVOG7iW5oIiwNCiAgICAgICB4ID0gIlRp4buDdSBiYW5nL1Thu4luaCIsDQogICAgICAgeSA9ICJU4bu3IGzhu4ciKSArDQogIHNjYWxlX3lfY29udGludW91cyhsYWJlbHMgPSBzY2FsZXM6OnBlcmNlbnQpICsNCiAgc2NhbGVfZmlsbF9icmV3ZXIocGFsZXR0ZSA9ICJTZXQzIiwgbmFtZSA9ICJUaeG7g3UgYmFuZy9U4buJbmgiKSArDQogIHRoZW1lX21pbmltYWwoKSArDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpDQpgYGANCiBCaeG7g3UgxJHhu5MgY+G7mXQgbsOgeSBjaG8gdGjhuqV5IHPhu7EgcGjDom4gYuG7kSB04bu3IGzhu4cga2jDoWNoIGjDoG5nIHRoZW8gdGnhu4N1IGJhbmcgaG/hurdjIHThu4luaC4gV2FzaGluZ3RvbiAoV0EpIGNoaeG6v20gxrB1IHRo4bq/IHLDtSBy4buHdCB24bubaSAzMi41JSB04buVbmcgc+G7kSBraMOhY2ggaMOgbmcuIFRp4bq/cCB0aGVvIGzDoCBDYWxpZm9ybmlhIChDQSkgduG7m2kgMTkuNCUgdsOgIE9yZWdvbiAoT1IpIHbhu5tpIDE2LjElLCBjaG8gdGjhuqV5IGJhIGtodSB24buxYyBuw6B5IGNoaeG6v20gcGjhuqduIGzhu5tuIHThuq1wIGtow6FjaCBow6BuZy4gQ8OhYyBraHUgduG7sWMga2jDoWMgbmjGsCBCcml0aXNoIENvbHVtYmlhIChCQykgdsOgIERpc3RyaXRvIEZlZGVyYWwgKERGKSBjw7MgdOG7tyBs4buHIHTGsMahbmcgxJHGsMahbmcgbMOgIDUuOCUuIEPDoWMgdGnhu4N1IGJhbmcvdOG7iW5oIGPDsm4gbOG6oWksIGJhbyBn4buTbSBZdWNhdGFuIHbDoCBaYWNhdGVjYXMgKGPDuW5nIDQuNyUpLCBWZXJhY3J1eiAoMy4zJSksIEd1ZXJyZXJvICgyLjclKSwgdsOgIMSR4bq3YyBiaeG7h3QgbMOgIEphbGlzY28gKGNo4buJIDAuNSUpLCBjw7MgdOG7tyBs4buHIGtow6FjaCBow6BuZyB0aOG6pXAgaMahbiDEkcOhbmcga+G7gy4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgc+G7sSB04bqtcCB0cnVuZyDEkeG7i2EgbMO9IHLDtSByw6BuZyBj4bunYSBraMOhY2ggaMOgbmcg4bufIG3hu5l0IHPhu5EgdGnhu4N1IGJhbmcvdOG7iW5oIG5o4bqldCDEkeG7i25oLCBjw7MgdGjhu4MgbGnDqm4gcXVhbiDEkeG6v24gduG7iyB0csOtIMSR4buLYSBsw70gY+G7p2EgY2h14buXaSBzacOqdSB0aOG7iyBob+G6t2MgY8OhYyBjaGnhur9uIGzGsOG7o2MgbWFya2V0aW5nIHThuq1wIHRydW5nIHbDoG8gY8OhYyBraHUgduG7sWMgY+G7pSB0aOG7gy4gU+G7sSBraMOhYyBiaeG7h3QgbOG7m24gduG7gSB04bu3IGzhu4cga2jDoWNoIGjDoG5nIGdp4buvYSBjw6FjIGtodSB24buxYyBjw7MgdGjhu4MgbMOgIG3hu5l0IHnhur91IHThu5EgcXVhbiB0cuG7jW5nIHRyb25nIHZp4buHYyBwaMOibiB0w61jaCBkb2FuaCBz4buRIHbDoCBs4bqtcCBr4bq/IGhv4bqhY2gga2luaCBkb2FuaC4gICANCiANCioqQmnhur9uIENvdW50cnkqKiAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KYzUgPC0gZGF0YSANCmM1IDwtIHRhYmxlKGRhdGEkQ291bnRyeSkNCmM1IDwtIGRhdGEgfD4gZ3JvdXBfYnkoQ291bnRyeSkgfD4gc3VtbWFyaXNlKGZyZXEgPSBuKCkpIHw+IG11dGF0ZShjNSwgcGVyID0gZnJlcS9zdW0oZnJlcSkpDQpjNSB8PiBnZ3Bsb3QoYWVzKHggPSAiIiwgeSA9IHBlciwgZmlsbCA9IENvdW50cnkpKSArIGdlb21fY29sKCkgKyBjb29yZF9wb2xhcigneScpDQpgYGANCg0KICBCaeG7g3UgxJHhu5MgdHLDsm4gbsOgeSB0aOG7gyBoaeG7h24gc+G7sSBwaMOibiBi4buRIHThu7cgbOG7hyBraMOhY2ggaMOgbmcgdGhlbyBxdeG7kWMgZ2lhLiBSw7UgcsOgbmcsIEhvYSBL4buzIChVU0EpIGNoaeG6v20gcGjhuqduIGzhu5tuIG5o4bqldCwgY2hvIHRo4bqleSDEkcOieSBsw6AgdGjhu4sgdHLGsOG7nW5nIGNow61uaCBj4bunYSBzacOqdSB0aOG7iy4gTWV4aWNvIGPFqW5nIMSRw7NuZyBnw7NwIG3hu5l0IHThu7cgbOG7hyBraMOhY2ggaMOgbmcgxJHDoW5nIGvhu4MgdGjhu6kgaGFpLiBOZ8aw4bujYyBs4bqhaSwgQ2FuYWRhIGNo4buJIGNoaeG6v20gbeG7mXQgcGjhuqduIG5o4buPIG5o4bqldCB0cm9uZyB04buVbmcgc+G7kSBraMOhY2ggaMOgbmcgxJHGsOG7o2MgdGjhu4MgaGnhu4duIHRyb25nIGJp4buDdSDEkeG7kyBuw6B5LiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIHBo4bqjbiDDoW5oIHbhu4sgdHLDrSDEkeG7i2EgbMO9IGPhu6dhIGNodeG7l2kgc2nDqnUgdGjhu4ssIGPDoWMgY2hp4bq/biBsxrDhu6NjIG1hcmtldGluZyB04bqtcCB0cnVuZyBob+G6t2Mgc+G7sSBraMOhYyBiaeG7h3QgduG7gSBt4bupYyDEkeG7mSBwaOG7lSBiaeG6v24gY+G7p2Egc2nDqnUgdGjhu4sg4bufIGPDoWMgcXXhu5FjIGdpYSBuw6B5LiBWaeG7h2MgcGjDom4gdMOtY2ggc8OidSBoxqFuIGPDsyB0aOG7gyB4ZW0geMOpdCBow6BuaCB2aSBtdWEgaMOgbmcga2jDoWMgbmhhdSBnaeG7r2Ega2jDoWNoIGjDoG5nIHThu6sgY8OhYyBxdeG7kWMgZ2lhIG7DoHkuICAgDQogIA0KKipCaeG6v24gUHJvZHVjdEZhbWlseSoqICAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KcHJvcC50YWJsZSh0YWJsZShkYXRhJFByb2R1Y3RGYW1pbHkpKSAlPiUgYWRkbWFyZ2lucygpIA0KYzUgPC0gcHJvcC50YWJsZSh0YWJsZShkYXRhJFByb2R1Y3RGYW1pbHkpKSAqIDEwMA0KcGllKGM1LA0KICAgIGxhYmVscyA9IHBhc3RlKG5hbWVzKGM1KSwgcm91bmQoYzUsIDIpLCAiJSIpLA0KICAgIG1haW4gPSAiVOG7tyBs4buHIFByb2R1Y3RGYW1pbHkiKQ0KYGBgDQoNCiAgQmnhu4N1IMSR4buTIHRyw7JuIG7DoHkgdGjhu4MgaGnhu4duIHThu7cgbOG7hyBjw6FjIG5ow7NtIHPhuqNuIHBo4bqpbSBjaMOtbmggKFByb2R1Y3RGYW1pbHkpIHRyb25nIGPDoWMgZ2lhbyBk4buLY2ggc2nDqnUgdGjhu4suIE5ow7NtIEZvb2QgY2hp4bq/bSBwaOG6p24gbOG7m24gbmjhuqV0IHbhu5tpIHThu7cgbOG7hyA3Mi4yMiUsIGNobyB0aOG6pXkgxJHDonkgbMOgIGRhbmggbeG7pWMgc+G6o24gcGjhuqltIMSRxrDhu6NjIG11YSBuaGnhu4F1IG5o4bqldC4gVGnhur9wIHRoZW8gbMOgIG5ow7NtIE5vbi1Db25zdW1hYmxlIChIw6BuZyB0acOqdSBkw7luZyBraMO0bmcgdGhp4bq/dCB54bq/dSkgduG7m2kgdOG7tyBs4buHIDE4Ljg5JSwgY2hvIHRo4bqleSDEkcOieSBjxaluZyBsw6AgbeG7mXQgcGjhuqduIHF1YW4gdHLhu41uZyB0cm9uZyBkb2FuaCBz4buRIGPhu6dhIHNpw6p1IHRo4buLLiBOaMOzbSBEcmluayAoxJDhu5MgdeG7kW5nKSBjaGnhur9tIHThu7cgbOG7hyBuaOG7jyBuaOG6pXQgdHJvbmcgYmEgbmjDs20gY2jDrW5oIMSRxrDhu6NjIGhp4buDbiB0aOG7iywgY2jhu4kgduG7m2kgOC44OSUuIFPhu7Ega2jDoWMgYmnhu4d0IGzhu5tuIHbhu4EgdOG7tyBs4buHIGNobyB0aOG6pXkgRm9vZCBsw6AgdHLhu6UgY+G7mXQgY2jDrW5oIHRyb25nIGRvYW5oIHPhu5EgY+G7p2Egc2nDqnUgdGjhu4sgbsOgeS4gQ8OhYyBwaMOibiB0w61jaCBzw6J1IGjGoW4gY8OzIHRo4buDIHThuq1wIHRydW5nIHbDoG8gY8OhYyBkYW5oIG3hu6VjIG5o4buPIGjGoW4gYsOqbiB0cm9uZyBuaMOzbSBGb29kIMSR4buDIGhp4buDdSByw7UgaMahbiB24buBIHPhu58gdGjDrWNoIHRpw6p1IGTDuW5nLiAgICANCg0KKipCaeG6v24gUHJvZHVjdERlcGFydG1lbnQqKiAgICANCg0KKiBC4bqjbmcgdOG6p24gc+G7kTogICANCg0KYGBge3IsZWNobz1GQUxTRX0NCnRhYmxlKGRhdGEkUHJvZHVjdERlcGFydG1lbnQpDQpgYGANCiBC4bqjbmcgdOG6p24gc+G7kSBjaG8gYmnhur9uIFByb2R1Y3REZXBhcnRtZW50IHRyb25nIGLhu5kgZOG7ryBsaeG7h3UuIE5ow6xuIHbDoG8gc+G7kSBsxrDhu6NuZyBnaWFvIGThu4tjaCBjaG8gdOG7q25nIHBow7JuZyBiYW4gc+G6o24gcGjhuqltLCBjw7MgdGjhu4MgdGjhuqV5IFByb2R1Y2UgKE7DtG5nIHPhuqNuKSBjw7Mgc+G7kSBsxrDhu6NuZyBnaWFvIGThu4tjaCBjYW8gbmjhuqV0IHbhu5tpIDE5OTQsIGNobyB0aOG6pXkgxJHDonkgbMOgIG3hu5l0IHRyb25nIG5o4buvbmcgbeG6t3QgaMOgbmcgxJHGsOG7o2MgbXVhIHRoxrDhu51uZyB4dXnDqm4gbmjhuqV0LiBTbmFjayBGb29kcyAoxJDhu5MgxINuIG5o4bq5KSBjxaluZyBjw7Mgc+G7kSBsxrDhu6NuZyBnaWFvIGThu4tjaCDEkcOhbmcga+G7gyB24bubaSAxNjAwLiBDw6FjIHBow7JuZyBiYW4ga2jDoWMgbmjGsCBIb3VzZWhvbGQgKMSQ4buTIGdpYSBk4bulbmcgLSAxNDIwKSB2w6AgRnJvemVuIEZvb2RzICjEkOG7kyDEkcO0bmcgbOG6oW5oIC0gMTM4MikgY8WpbmcgZ2hpIG5o4bqtbiBsxrDhu6NuZyBnaWFvIGThu4tjaCBs4bubbiwgY2hvIHRo4bqleSBz4buxIHF1YW4gdHLhu41uZyBj4bunYSBjw6FjIG3hurd0IGjDoG5nIG7DoHkgxJHhu5FpIHbhu5tpIGtow6FjaCBow6BuZy4gTmfGsOG7o2MgbOG6oWksIGPDoWMgcGjDsm5nIGJhbiBuaMawIENhcm91c2VsICg1OSkgdsOgIENoZWNrb3V0ICg4MikgY8OzIHPhu5EgbMaw4bujbmcgZ2lhbyBk4buLY2ggdGjhuqVwIG5o4bqldCwgxJFp4buBdSBuw6B5IGPDsyB0aOG7gyBsw6AgZG8gYuG6o24gY2jhuqV0IGPhu6dhIGPDoWMgbeG7pWMgbsOgeSAoQ2Fyb3VzZWwgY8OzIHRo4buDIGzDoCBt4bq3dCBow6BuZyB0aGVvIG3DuWEgaG/hurdjIMSR4bq3YyBiaeG7h3QsIENoZWNrb3V0IGPDsyB0aOG7gyBsacOqbiBxdWFuIMSR4bq/biBjw6FjIG3hurd0IGjDoG5nIG5o4buPIGzhursgZ+G6p24gcXXhuqd5IHRoYW5oIHRvw6FuKS4gQ8OhYyBwaMOybmcgYmFuIGPDsm4gbOG6oWkgbmjGsCBEYWlyeSAoOTAzKSwgSGVhbHRoIGFuZCBIeWdpZW5lICg4OTMpLCBDYW5uZWQgRm9vZHMgKDk3NyksIHbDoCBCYWtpbmcgR29vZHMgKDEwNzIpIMSR4buBdSBjw7Mgc+G7kSBsxrDhu6NuZyBnaWFvIGThu4tjaCB0cnVuZyBiw6xuaCBjYW8sIGNobyB0aOG6pXkgc+G7sSDEkWEgZOG6oW5nIHRyb25nIG5odSBj4bqndSBtdWEgc+G6r20gY+G7p2Ega2jDoWNoIGjDoG5nLiAgIA0KIA0KKiBC4bqjbmcgdOG6p24gc3XhuqV0OiAgIA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KdGFibGUoZGF0YSRQcm9kdWN0RGVwYXJ0bWVudCkvc3VtKHRhYmxlKGRhdGEkUHJvZHVjdERlcGFydG1lbnQpKSANCmBgYA0KDQogUHJvZHVjZSAoTsO0bmcgc+G6o24pIGNoaeG6v20gdOG7tyBs4buHIGNhbyBuaOG6pXQgKDE0LjE4JSksIGNobyB0aOG6pXkgxJHDonkgbMOgIGRhbmggbeG7pWMgaMOgbmcgaMOzYSDEkcaw4bujYyBtdWEgdGjGsOG7nW5nIHh1ecOqbiBuaOG6pXQsIMSRw7NuZyBnw7NwIMSRw6FuZyBr4buDIHbDoG8gdOG7lW5nIHPhu5EgZ2lhbyBk4buLY2guIFRp4bq/cCB0aGVvIGzDoCBTbmFjayBGb29kcyAoxJDhu5MgxINuIG5o4bq5IC0gMTEuMzglKSB2w6AgSG91c2Vob2xkICjEkOG7kyBnaWEgZOG7pW5nIC0gMTAuMTAlKSwgY2hvIHRo4bqleSB04bqnbSBxdWFuIHRy4buNbmcgY+G7p2EgY8OhYyBt4bq3dCBow6BuZyBuw6B5IHRyb25nIGPGoSBj4bqldSBtdWEgc+G6r20uIEZyb3plbiBGb29kcyAoxJDhu5MgxJHDtG5nIGzhuqFuaCkgY8WpbmcgY2hp4bq/bSBt4buZdCB04bu3IGzhu4cgxJHDoW5nIGvhu4MgKDkuODMlKS4gICANCg0KQ8OhYyBwaMOybmcgYmFuIGtow6FjIG5oxrAgQmFraW5nIEdvb2RzICg3LjYzJSksIENhbm5lZCBGb29kcyAoNi45NSUpLCBEYWlyeSAoNi40MiUpLCB2w6AgSGVhbHRoIGFuZCBIeWdpZW5lICg2LjM1JSkgY8WpbmcgxJHDs25nIGfDs3AgbeG7mXQgcGjhuqduIHF1YW4gdHLhu41uZyB2w6BvIHThu5VuZyBz4buRIGdpYW8gZOG7i2NoLiBOZ8aw4bujYyBs4bqhaSwgY8OhYyBwaMOybmcgYmFuIG5oxrAgQ2Fyb3VzZWwgKDAuNDIlKSwgQ2hlY2tvdXQgKDAuNTglKSwgTWVhdCAoMC42MyUpLCBDYW5uZWQgUHJvZHVjdHMgKDAuNzglKSwgdsOgIFNlYWZvb2QgKDAuNzMlKSBjw7MgdOG7tyBs4buHIGdpYW8gZOG7i2NoIHLhuqV0IHRo4bqlcCwgY2hvIHRo4bqleSDEkcOieSBjw7MgdGjhu4MgbMOgIGPDoWMgbeG6t3QgaMOgbmcgw610IMSRxrDhu6NjIG11YSBob+G6t2MgY8OzIHPhu5EgbMaw4bujbmcgZ2lhbyBk4buLY2ggbmjhu48uIEPDoWMgcGjDsm5nIGJhbiBjw7JuIGzhuqFpIGPDsyB04bu3IGzhu4cgZ2lhbyBk4buLY2ggZGFvIMSR4buZbmcgdOG7qyBraG/huqNuZyAxJSDEkeG6v24gZ+G6p24gNSUuICAgDQoNCk5ow6xuIGNodW5nLCB04bu3IGzhu4cgbsOgeSBsw6BtIG7hu5VpIGLhuq10IHPhu7Ega2jDoWMgYmnhu4d0IHLDtSBy4buHdCB24buBIG3hu6ljIMSR4buZIMSRw7NuZyBnw7NwIGPhu6dhIHThu6tuZyBwaMOybmcgYmFuIHbDoG8gdOG7lW5nIHPhu5EgZ2lhbyBk4buLY2ggY+G7p2Egc2nDqnUgdGjhu4ssIHbhu5tpIG3hu5l0IHPhu5EgcGjDsm5nIGJhbiBjaGnhur9tIMawdSB0aOG6vyByw7UgcsOgbmcgdHJvbmcga2hpIG5o4buvbmcgcGjDsm5nIGJhbiBraMOhYyBjaOG7iSDEkcOzbmcgZ8OzcCBt4buZdCBwaOG6p24gcuG6pXQgbmjhu48uIFRow7RuZyB0aW4gbsOgeSBy4bqldCBo4buvdSDDrWNoIGNobyB2aeG7h2MgxJHGsGEgcmEgY8OhYyBxdXnhur90IMSR4buLbmggbGnDqm4gcXVhbiDEkeG6v24gcXXhuqNuIGzDvSBow6BuZyB04buTbiBraG8sIGLhu5EgdHLDrSBraMO0bmcgZ2lhbiBj4butYSBow6BuZyB2w6AgY2hp4bq/biBsxrDhu6NjIG1hcmtldGluZy4gICANCg0KKipCaeG6v24gUHJvZHVjdENhdGVnb3J5KiogICAgDQoNCiogQuG6o25nIHThuqduIHPhu5E6ICAgDQoNCmBgYHtyLGVjaG89RkFMU0V9DQp0YWJsZShkYXRhJFByb2R1Y3RDYXRlZ29yeSkgDQpgYGANCiAgQuG6o25nIHThuqduIHPhu5EgY2hvIHRo4bqleSBz4buRIGzGsOG7o25nIGdpYW8gZOG7i2NoIHR1eeG7h3QgxJHhu5FpIGNobyB04burbmcgZGFuaCBt4bulYyBz4bqjbiBwaOG6qW0gKFByb2R1Y3RDYXRlZ29yeSkuIFNuYWNrIEZvb2RzIGThuqtuIMSR4bqndSB24bubaSAxNjAwIGdpYW8gZOG7i2NoLCB0aeG6v3AgdGhlbyBsw6AgVmVnZXRhYmxlcyB24bubaSAxNzI4LiBDw6FjIGRhbmggbeG7pWMga2jDoWMgY8OzIHPhu5EgbMaw4bujbmcgZ2lhbyBk4buLY2ggxJHDoW5nIGNow7ogw70gYmFvIGfhu5NtIERhaXJ5ICg5MDMpLCBGcnVpdCAoNzY1KSwgTWVhdCAoNzYxKSwgdsOgIEphbXMgYW5kIEplbGxpZXMgKDU4OCkuIE5nxrDhu6NjIGzhuqFpLCBjw6FjIGRhbmggbeG7pWMgbmjGsCBDYW5uZWQgT3lzdGVycyAoMzUpLCBDYW5uZWQgU2hyaW1wICgzOCksIHbDoCBDYW5uZWQgU2FyZGluZXMgKDQwKSBjw7Mgc+G7kSBsxrDhu6NuZyBnaWFvIGThu4tjaCBy4bqldCB0aOG6pXAuIEPDoWMgZGFuaCBt4bulYyBjw7JuIGzhuqFpIGPDsyBz4buRIGzGsOG7o25nIGdpYW8gZOG7i2NoIGRhbyDEkeG7mW5nIOG7nyBt4bupYyB0cnVuZyBiw6xuaC4gTmjDrG4gY2h1bmcsIGLhuqNuZyB04bqnbiBz4buRIG7DoHkgY2hvIHRo4bqleSBz4buxIGtow6FjIGJp4buHdCBs4bubbiB24buBIG3hu6ljIMSR4buZIHBo4buVIGJp4bq/biBj4bunYSBjw6FjIGRhbmggbeG7pWMgc+G6o24gcGjhuqltIGThu7FhIHRyw6puIHPhu5EgbMaw4bujbmcgZ2lhbyBk4buLY2guICAgIA0KDQoqIELhuqNuZyB04bqnbiBzdeG6pXQ6ICAgDQoNCmBgYHtyLGVjaG89RkFMU0V9DQp0YWJsZShkYXRhJFByb2R1Y3RDYXRlZ29yeSkvc3VtKHRhYmxlKGRhdGEkUHJvZHVjdENhdGVnb3J5KSkNCmBgYA0KDQogICBC4bqjbmcgdOG6p24gc3XhuqV0IHTGsMahbmcgxJHhu5FpICh0cm9uZyDhuqNuaCkgaGnhu4NuIHRo4buLIHThu7cgbOG7hyBwaOG6p24gdHLEg20gY+G7p2EgdOG7q25nIGRhbmggbeG7pWMgc+G6o24gcGjhuqltIHRyb25nIHThu5VuZyBz4buRIGdpYW8gZOG7i2NoLiBWZWdldGFibGVzIGNoaeG6v20gdOG7tyBs4buHIGNhbyBuaOG6pXQgKDEyLjI5JSksIHRp4bq/cCB0aGVvIGzDoCBTbmFjayBGb29kcyAoMTEuMzglKS4gRnJ1aXQgKDUuNDQlKSB2w6AgTWVhdCAoNS40MSUpIGPFqW5nIMSRw7NuZyBnw7NwIG3hu5l0IHBo4bqnbiDEkcOhbmcga+G7gyB2w6BvIHThu5VuZyBz4buRIGdpYW8gZOG7i2NoLiBDw6FjIGRhbmggbeG7pWMgY8OzIHThu7cgbOG7hyB0aOG6pXAgbmjhuqV0IGJhbyBn4buTbSBDYW5uZWQgT3lzdGVycyAoMC4yNSUpLCBDYW5uZWQgU2hyaW1wICgwLjI3JSksIHbDoCBDYW5uZWQgU2FyZGluZXMgKDAuMjglKS4gQuG6o25nIG7DoHkgY3VuZyBj4bqlcCBjw6FpIG5ow6xuIHbhu4EgbeG7qWMgxJHhu5kgxJHDs25nIGfDs3AgY+G7p2EgdOG7q25nIGRhbmggbeG7pWMgdsOgbyB04buVbmcgZG9hbmggc+G7kSBob+G6t2Mgc+G7kSBsxrDhu6NuZyBnaWFvIGThu4tjaCwgZ2nDunAgc28gc8OhbmggdOG6p20gcXVhbiB0cuG7jW5nIHTGsMahbmcgxJHhu5FpIGPhu6dhIGNow7puZy4gVsOtIGThu6UsIG3hurdjIGTDuSBz4buRIGzGsOG7o25nIGdpYW8gZOG7i2NoIGPhu6dhIFZlZ2V0YWJsZXMgY2FvIGjGoW4gU25hY2sgRm9vZHMsIGPhuqMgaGFpIMSR4buBdSBjaGnhur9tIHThu7cgbOG7hyBs4bubbiBuaOG6pXQgdHJvbmcgdOG7lW5nIHPhu5EgZ2lhbyBk4buLY2guICAg