https://drive.google.com/drive/folders/18Tw92HEvluxC8koAhcrPI1eA6KsvWLzA?hl=vi

1 LỜI CẢM ƠN

Lời nói đầu tiên tôi xin gửi lời cảm ơn đến Trường Đại học Tài chính – Marketing, đặc biệt là các thầy cô khoa Kinh tế - Luật đã đưa học phần Phân tích dữ liệu định tính vào chương trình đào tạo để tôi có kiến thức mới để chuẩn bị hành trang sau này. Hơn thế nữa, tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất khi được giảng viên hướng dẫn là thầy ThS.Trần Mạnh Tường đã chỉ dẫn hỗ trợ để tôi có thể hoàn thành bài kết thúc học phần được chỉnh chu nhất. Tuy nhiên, do thời gian tiểu luận còn hạn chế và khả năng tiếp cận thực tế còn ít nên dù đã cố gắng nhưng bài cũng không tránh khỏi những sai sót, những điểm không chính xác. Tôi kính mong giảng viên xem xét và góp ý để bài được hoàn thiện tốt hơn.

Tôi xin chân thành cảm ơn!

2 LỜI MỞ ĐẦU

2.1 Lý do chọn đề tài

Sức khỏe tốt là nền tảng cơ bản của một cuộc sống vui vẻ, hạnh phúc, là cơ sở quan trọng để mỗi người thực hiện ý tưởng, ước mơ, nguyện vọng của cuộc đời mình.Bởi nếu bệnh tật, ốm đau, chúng ta thường sẽ không còn đủ sức khỏe, tâm trí nào mà lo lắng, suy nghĩ đến những việc khác. Đó là chưa nói đến chuyện bệnh tật còn khiến con người tiêu hao tiền bạc, của cải, ảnh hưởng đến những người thân trong gia đình, xã hội mất đi một người khỏe mạnh. Do đó, sức khỏe chính là chiếc chìa khóa quan trọng nhất mở ra cánh cửa hạnh phúc cho mỗi người. Xã hội ngày càng phát triển, tình trạng ô nhiễm môi trường từ giao thông đi lại hay khi thải của các nhà máy đã phần nào làm ảnh hưởng đến sức khỏe của con người. Thời đại công nghiệp hóa, hiện đại hóa không thể nào thiếu đi bảo hiểm y tế để chăm sóc sức khỏe của mình. Nó như một phao cứu sinh trước những bệnh tật và sự ảnh hưởng từ lo lắng chi phí chữa bệnh. Bởi tính cấp thiết của nó, tôi chọn đề tài cho bài nghiên cứu đó là ” Các yếu tố ảnh hưởng đến việc chi trả chi phí bảo hiểm y tế”.

2.2 Mục tiêu nghiên cứu

Phân tích các yếu tố ảnh hưởng đến chi phí bảo hiểm y tế

Yếu tố cốt lõi ảnh hưởng đến chi phí bảo hiểm y tế

2.3 Đối tượng và phạm vi nghiên cứu

2.3.1 Đối tượng nghiên cứu

Các yếu tố ảnh hưởng đến chi phí bảo hiểm y tế

2.3.2 Phạm vi nghiên cứu

Khu vực northeast, southeast, southwest, northwest của nước Mỹ

2.4 Phương pháp nghiên cứu

Sử dụng các mô hình hồi quy của phương pháp dữ liệu định tính

2.5 Kết cấu nghiên cứu

PHẦN MỞ ĐẦU

CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT

CHƯƠNG 2: THIẾT KẾ NGHIÊN CỨU

CHƯƠNG 3: KẾT LUẬN

TÀI LIỆU THAM KHẢO

3 CHƯƠNG 1 TỔNG QUAN LÝ THUYẾT

3.1 Khái niệm bảo hiểm y tế

  • Bảo hiểm y tế (BHYT) là chính sách an sinh xã hội ưu việt của Đảng và Nhà nước, mang ý nghĩa nhân văn, nhân đạo và có tính chia sẻ cộng đồng sâu sắc. BHYT do Nhà nước tổ chức thực hiện không vì mục đích lợi nhuận, nhằm huy động sự đóng góp của cộng đồng, chia sẻ rủi ro bệnh tật và giảm bớt gánh nặng tài chính của mỗi người dân khi ốm đau, bệnh tật, tai nạn…thực hiện công bằng và nhân đạo trong lĩnh vực bảo vệ và chăm sóc sức khỏe nhân dân. Thẻ BHYT thật sự là phao cứu sinh. Nhờ tham gia và có thẻ BHYT, nhiều trường hợp không may bị tai nạn, ốm đau đã vượt qua được giai đoạn khó khăn khi đó quỹ BHYT chi trả các chi phí khám và điều trị bệnh, thậm chí có những người bệnh có chi phí khám chữa bệnh KCB) lên tới hàng tỷ đồng/đợt điều trị.

  • Quyền lợi khi tham gia bảo hiểm y tế

Được chọn nơi đăng ký khám bệnh, chữa bệnh (KCB) ban đầu tại tuyến xã, huyện và theo hướng dẫn của cơ quan BHXH (Trạm Y tế, Trung tâm Y tế học đường hoặc Phòng khám đa khoa…).

Được chăm sóc sức khỏe ban đầu.

Được khám chữa bệnh, sơ cứu, cấp cứu khi bị tai nạn, ốm đau tại nơi đăng ký KCB ban đầu và được chuyển lên KCB ở các tuyến chuyên môn kỹ thuật cao hơn khi bệnh vượt quá khả năng của tuyến dưới.

Trường hợp cấp cứu, tai nạn người có thẻ BHYT được khám, điều trị tại bất kỳ cơ sở y tế nào có hợp đồng KCB BHYT.

3.2 Phân phối Poison - Poisson Distribution

Phân phối Poisson là một phân phối xác suất trong thống kê được sử dụng để mô hình hóa số sự kiện xảy ra trong một khoảng thời gian hoặc không gian nhất định khi tỷ lệ xảy ra sự kiện là không đổi. Trong R, có thể sử dụng các hàm tính toán và mô phỏng phân phối Poisson. Phân phối Poisson được mô tả bởi hai tham số:

λ: là trung bình số lần xảy ra của sự kiện trong mỗi khoảng thời gian.

k: là số lần xảy ra của sự kiện trong khoảng thời gian.

Biến ngẫu nhiên X có phân phối Poisson là biến ngẫu nhiên dùng để mô tả cho số lần xảy ra của một sự việc/biến cố mà chúng ta quan tâm xảy ra trong một khoảng thời gian hoặc không gian cho trước. Xác suất để biến ngẫu nhiên này nhận một giá trị cụ thể được tính bằng công thức:

\[P(X=k)=\frac{e^-λλ^k}{k!}\] với k=0,1,2,3,…

Khi đó ta viết \(X~P(λ)\) để chỉ rằng X là biến ngẫu nhiên có phân phối Poisson với tham số λ

3.3 Phân phối nhị thức - Binomial distribution

  • Định nghĩa

Phân phối nhị thức là một phân phối xác suất cho số lần xảy ra của một sự kiện thành công trong một số lần thử cố định, khi mỗi lần thử là độc lập và xác suất thành công là như nhau và bằng p trong mỗi lần thử.

Khi đó xác suất để X nhận một giá trị cụ thể là

\[P(X=k)= C_n^kp^k(1-p) ^ (n-k) \]

Phân phối nhị thức được mô tả bởi ba tham số:

n: là số lần thử cố định.

p: là xác suất thành công trong mỗi lần thử.

k: là số lần thành công.

  • Ứng dụng

Tung đồng xu 10 lần, xác suất 3 lần mặt ngửa

Số cuộc gọi điện thoại đến trong 30 ngày

Số mail gửi tự động trong 50 mail nhận được

3.4 Mô hình nghiên cứu

3.4.1 Mô hình hồi quy Logistic

Cho một tần số biến cố x ghi nhận từ n đối tượng, chúng ta có thể tính xác suất của biến cố đó là:

\[p=\frac{x}{n}\] p có thể xem là một chỉ số đo lường nguy cơ của một biến cố. Một cách thể hiện nguy cơ khác là odds (Tạm dịch : Khả năng). Khả năng của một biến cố được định nghĩa đơn giản bằng tỉ số xácsuất biến cố xảy ra trên xác suất biến cố không xảy ra:

\[odds=\frac{p}{1-p}\]

Hàm logit của odds được định nghĩa như sau:

\[logit(p)=log\frac{p}{1-p}\]

3.4.2 Mô hình hồi quy Probit

Hồi quy Probit hay còn được gọi là mô hình Probit, được sử dụng để ước lượng mô hình có biến phụ thuộc dạng nhị phân. Trong hồi quy Probit, xem hàm xác suất \(\pi(x)\) hoặc $ 1-(x)$ là hàm phân phối xác suất của một biến ngẫu nhiên X có phân phối chuẩn tức là xác suất thành công có dạng

\[\pi(x)=\phi(\alpha+\beta(x))\]

Trong đó : \[\phi(x)=(\frac1{\sqrt2\phi}\int_\infty^x \mathrm{e}^{-1/2}\,t^2\]

Kí hiệu:

\[Probit(\pi(x))=\phi^-1(\pi(x))\]

Mô hình Probit được viết dưới dạng

\[Probit(\pi(x))=\alpha + betax\]

3.5 Các tiêu chí đánh giá mô hình

3.5.1 Chỉ số AIC (Akaike Information Criterian)

AIC được đề xuất bởi Akaike Hirotugu, một nhà thống kê học người Nhật. AIC là một tiêu chí được sử dụng một cách phổ biến để đánh giá một mô hình hồi quy được ước lượng bởi phương pháp Maximum Likekihood (ML). Một cách chung chung giá trị của AIC càng nhỏ thì mô hình càng tốt. AIC được tính bằng công thức sau:

\[AIC= -2ln(L) + 2k\]

Với L là giá trị cực đại của hàm hợp lý (likelihood function)

k là số tham số của mô hình.

3.5.2 Deviance

Deviance cũng là một tiêu chí rất phổ biến được sử dụng để đánh giá một mô hình hồi quy được ước lượng bởi phương pháp Hợp lý cực đại (ML). Một cách tổng quá, cũng giống như chỉ tiêu AIC, giá trị của Deviance càng nhỏ thì mô hình càng tốt.

3.5.3 Chỉ số Brier

Là chỉ tiêu dùng để đánh giá mô hình hồi quy logistic, Brier Score được tính như sau:

\[B=\frac{1}{n}\sum_{t=1}^{n}(Y_{t}-\pi_t)^{2}\]

Trong đó \(\pi_t\) là giá trị ước lượng của \(\pi(x_{i})=E(Y|X=x_{i})\)

Chỉ số Brier thực chất là trung bỉnh của tổng bình phương các độ lệch giữa giá trị của biến phụ thuộc Y và giá trị ước lượng của nó. Vì vậy chỉ số B càng bé thì mô hình cho ước lượng càng chính xác, tức là càng phù hợp với dữ liệu quan sát.

3.6 Bảng tần số - Bảng tần suất

  • Bảng tần số hay còn gọi là bảng tần suất là một cách thống kê số lần xuất hiện của các giá trị khác nhau trong một tập dữ liệu. Bảng này giúp ta có cái nhìn tổng quan về sự phân bố của dữ liệu và tiện lợi cho việc tính toán sau này.

  • Bảng tần số có thể được lập theo dạng ngang hoặc dọc, và có thể bao gồm các thông tin như tần số tuyệt đối, tần số tương đối, tần số tích lũy, phần trăm,…

  • Bảng tần số có nhiều công dụng trong thống kê mô tả và phân tích dữ liệu. Bảng tần số giúp người điều tra dễ có những nhận xét chung về sự phân phối của các giá trị của dấu hiệu, như giá trị lớn nhất, giá trị nhỏ nhất, giá trị có tần số cao nhất. Bảng tần số cũng tiện lợi cho việc tính toán các chỉ số thống kê khác, như trung bình, độ lệch chuẩn,phương sai. Bảng tần số cũng là cơ sở để vẽ các biểu đồ thống kê, như biểu đồ cột, biểu đồ hình quạt, biểu đồ hình bánh,…

3.7 Độ nhạy & độ đặc hiệu

Độ nhạy và độ đặc hiệu là hai chỉ số được sử dụng để đánh giá hiệu suất của một xét nghiệm y tế. Độ nhạy là khả năng của xét nghiệm phát hiện những người thực sự mắc bệnh, trong khi độ đặc hiệu là khả năng của xét nghiệm loại trừ những người không mắc bệnh.

Độ nhạy (sensitivity) của một thí nghiệm: Là tỷ lệ (%) của số ca bị bệnh thực sự khi xét nghiệm và cho kết quả dương tính với tổng số ca bị bệnh. Công thức để tính độ nhạy:

Độ nhạy = số dương tính thật/(số đương tính thật + số âm tính giả)

Độ đặc hiệu (specificity) của một thí nghiệm: Là tỷ lệ (%) của số ca không bị bệnh và kết quả xét nghiệm không bị bệnh với tổng số người không bị bệnh. Công thức tính độ đặc hiệu:

Độ đặc hiệu = Số trường hợp âm tính thật/ (số trường hợp âm tính thật + số trường hợp dương tính giả)

Độ nhạy và độ đặc hiệu là hai chỉ số quan trọng để đánh giá hiệu suất của một xét nghiệm y tế. Tuy nhiên, cần lưu ý rằng độ nhạy và độ đặc hiệu có thể thay đổi tùy thuộc vào từng xét nghiệm. Ngoài ra, độ nhạy và độ đặc hiệu không phải lúc nào cũng là những chỉ số quan trọng nhất để đánh giá hiệu suất của một xét nghiệm. Trong một số trường hợp, các yếu tố khác, chẳng hạn như giá trị tiên đoán âm tính (NPV) và giá trị tiên đoán dương tính (PPV), có thể quan trọng hơn.

3.8 Rủi ro tương đối (relative risk)

Sự khác biệt giữa hai tỷ lệ \(\pi_{1}\)\(\pi_{2}\) được đánh giá qua sai số tuyệt đối \((\pi_{1}-\pi_{2})\) chỉ dựa vào khoảng cách giữa hai tỷ lệ này mà bỏ qua độ lớn và ý nghĩa của chúng, nghĩa là khoảng cách như nhau thì đánh giá sai lệch như nhau. Chẳng hạn khi \(\pi_{1} = 0.01\)\(\pi_{2} = 0.001\) và khi \(\pi_{1} =0.410\)\(\pi_{2}=0.401\) đều được đánh giá là có sai lệch như nhau cùng mức sai lệch 0.009). Tuy nhiên nếu chỉ dựa vào khoảng cách này để đánh giá, so sánh hai tương quan giữa hai tỷ lệ thì không đủ, thậm chí sẽ bỏ qua những ý nghĩa quan trọng của sự tương quan giữa chúng, đặc biệt là khi hai tỷ lệ này cùng gần 0 hoặc cùng gần 1 hoặc cùng gần 0.5.

3.9 Tỷ lệ chênh (Odd Ratio)

Tỷ lệ chênh là một chỉ số được sử dụng để đo cường độ của mối quan hệ giữa hai biến phân loại. OR được tính bằng cách chia tỷ lệ chênh dương cho tỷ lệ chênh âm.

OR thường được sử dụng trong các nghiên cứu quan sát, trong đó các nhà nghiên cứu quan sát các biến số mà không cố gắng kiểm soát chúng. OR không phải là một ước lượng chính xác của nguy cơ tuyệt đối, nhưng nó có thể được sử dụng để đánh giá nguy cơ tương đối của các kết quả khác nhau. OR được biểu thị dưới dạng số. Nếu OR lớn hơn 1, điều đó có nghĩa là biến phân loại đầu tiên có liên quan đến kết quả. Nếu OR bằng 1, điều đó có nghĩa là biến phân loại đầu tiên không liên quan đến kết quả. Nếu OR nhỏ hơn 1, điều đó có nghĩa là biến phân loại đầu tiên không liên quan đến kết quả. Nếu gọi xác suất “thành công” của biểu hiện thứ i của biến độc lập là \(\pi_i\) thì chúng ta kí hiệu Tỷ lệ cược (odd) của biểu hiện này là \(odd_i\) và được định nghĩa như sau:

\[odd_i=\frac{\pi_i}{1-\pi_i}\]

Nghĩa là chúng ta tính tỷ lệ thành công theo từng hàng trong bảng ngẫu nhiên.Tỷ lệ chênh của biểu hiện thứ i và biểu hiện thứ j được kí hiệu là \(\theta_ij\)

và được định nghĩa

\[\theta_ij=\frac{\frac{\pi_i}{1-\pi_i}}{\frac{\pi_i}{1-\pi_i}}\]

OR là một chỉ số quan trọng để đánh giá mối quan hệ giữa hai biến phân loại. Tuy nhiên, cần lưu ý rằng OR không phải lúc nào cũng là chỉ số duy nhất cần xem xét. Trong một số trường hợp, các chỉ số khác, chẳng hạn như nguy cơ tuyệt đối, có thể quan trọng hơn.

4 CHƯƠNG 2 THIẾT KẾ NGHIÊN CỨU

4.1 Dữ liệu nghiên cứu

Dữ liệu được lấy từ website: kaggle.com, bộ số liệu liên quan đến việc chi trả bảo hiểm y tế cho con người ở bốn khu vực như sau northeast, southeast, southwest, northwest có tổng số quan sát là 2772 gồm bảy cột: Age, Sex, BMI, Children, Smoker, Region và Charges.

4.1.1 Bộ dữ liệu

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.1
PTĐT <- read_excel("D:/PTĐT.xlsx")
View(PTĐT)

4.1.2 Bộ dữ liệu sau khi mã hóa

Mã hóa biến định lượng charges thành biến định tính. Nếu giá trị chi phí y tế nhỏ hơn hoặc bằng 15000 ta quy ước là 0. Nếu giá trị chi phí y tế lớn hơn 15000 ta quy ước là 1.

PTĐTmahoa<-subset(PTĐT, charges < 70000)
dim(PTĐTmahoa)
## [1] 2772    7
PTĐTmahoa$charges[PTĐTmahoa$charges <=15000]<-0
PTĐTmahoa$charges[PTĐTmahoa$charges >15000]<-1
head(PTĐTmahoa)
## # A tibble: 6 × 7
##     age sex      bmi children smoker region    charges
##   <dbl> <chr>  <dbl>    <dbl> <chr>  <chr>       <dbl>
## 1    19 female  27.9        0 yes    southwest       1
## 2    18 male    33.8        1 no     southeast       0
## 3    28 male    33          3 no     southeast       0
## 4    33 male    22.7        0 no     northwest       1
## 5    32 male    28.9        0 no     northwest       0
## 6    31 female  25.7        0 no     southeast       0
View(PTĐTmahoa)

4.1.3 Mô tả dữ liệu

Bộ dữ liệu gồm 2772 quan sát với 7 biến trong đó có 3 biến định tính và 4 biến định lượng

  • age: Tuổi của người thụ hưởng

  • sex: Giới tính của người tham gia (Male/ Female)

  • bmi: Chỉ số khối cơ thể (BMI - Body mass index) là một phép tính dựa trên chiều cao và cân nặng, giúp xác định xem một người có cân nặng chuẩn, nhẹ cân, thừa cân hay béo phì. BMI không đo trực tiếp lượng chất béo trong cơ thể, nhưng BMI có thể đánh giá tương đối về lượng chất béo trong cơ thể. Hơn nữa, BMI còn có liên quan đến nguy cơ mắc bệnh chuyển hóa hoặc nhiều bệnh lý khác nhau do tình trạng nhẹ cân hoặc béo phì. BMI người bình thường dao động khoảng 18.5-24.9

  • children: Số con tham gia bảo hiểm/ Người phụ thuộc

  • smoker: Hút thuốc ( Yes/No)

  • region: Khu vực cư trú của người thụ hưởng ở Mỹ, đông bắc, đông nam, tây nam, tây bắc.

  • charges: Chi phí y tế cá nhân do bảo hiểm y tế thanh toán

4.2 Xác định biến phụ thuộc

Với mục đích phân tích các yếu tố ảnh hưởng đến chi phí bảo hiểm y tế, sử dụng các biến định lượng và định tính như sau :

4.2.1 Biến định lượng

Chọn biến Age, BMI, Children làm biến định lượng để nghiên cứu rằng có phải các biến ảnh hưởng trực tiếp

đến chi phí y tế hay không?

4.2.2 Biến định tính

Chọn biến Charges làm biến định tính phụ thuộc để nghiên cứu xem chi phí bảo hiểm bị ảnh hưởng như thế nào?

5 Thống kê mô tả và thống kê suy diễn

summary(PTĐTmahoa)
##       age            sex                 bmi           children    
##  Min.   :18.00   Length:2772        Min.   :15.96   Min.   :0.000  
##  1st Qu.:26.00   Class :character   1st Qu.:26.22   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.45   Median :1.000  
##  Mean   :39.11                      Mean   :30.70   Mean   :1.102  
##  3rd Qu.:51.00                      3rd Qu.:34.77   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##     smoker             region             charges      
##  Length:2772        Length:2772        Min.   :0.0000  
##  Class :character   Class :character   1st Qu.:0.0000  
##  Mode  :character   Mode  :character   Median :0.0000  
##                                        Mean   :0.2662  
##                                        3rd Qu.:1.0000  
##                                        Max.   :1.0000

5.1 Thống kê mô tả một biến độc lập

5.1.1 Biến Children

  • Bảng tần số
table(PTĐTmahoa$children)
## 
##    0    1    2    3    4    5 
## 1186  672  496  324   52   42

Kết quả cho thấy, gia đình không có con tham gia bảo hiểm là 1178 người, gia đình có một con tham gia bảo hiểm y tế là 668 người, gia đình có hai con tham gia bảo hiểm y tế là 496 người, gia đình có ba con tham gia bảo hiểm y tế là 322 người, gia đình có bốn con tham gia bảo hiểm y tế là 52 người, gia đình có năm con tham gia bảo hiểm y tế là 42 người.

  • Bảng tần suất
table(PTĐTmahoa$children)/sum(table(PTĐTmahoa$children))
## 
##          0          1          2          3          4          5 
## 0.42784993 0.24242424 0.17893218 0.11688312 0.01875902 0.01515152

Kết quả cho thấy, gia đình có con không tham gia bảo hiểm chiếm gần bằng 42.71%, gia đình có một con tham gia bảo hiểm y tế chiếm gần bằng 24.22%, gia đình có hai con tham gia bảo hiểm y tế chiếm 17.98%, gia đình có ba con tham gia bảo hiểm y tế chiếm gần bằng 11.68%, gia đình có bốn con tham gia bảo hiểm y tế chiếm gần bằng 1.88% , gia đình có năm con tham gia bảo hiểm y tế chiếm gần bằng 1.52%.

  • Đồ thị
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.1
PTĐTmahoa |> ggplot( aes( x = children, y= after_stat(count))) + geom_bar(fill='lightpink') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Số con') + ylab('Tỷ lệ')

5.1.2 Biến Age

  • Bảng tần số
table(PTĐTmahoa$age)
## 
##  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37 
## 148 142  58  60  60  62  56  58  60  58  60  54  56  54  56  54  52  50  50  52 
##  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57 
##  50  54  54  56  54  54  56  62  60  62  58  56  58  60  62  58  60  52  56  54 
##  58  59  60  61  62  63  64 
##  52  52  46  46  48  46  46

Kết quả cho thấy, độ tuổi tham gia bảo hiểm y tế từ 18 đến 64 tuổi, ở độ tuổi 18 tuổi có 148 người tham gia, ở độ tuổi 19 tuổi có 142 người tham gia, ở độ tuổi 20 tuổi có 58 người tham gia, ở độ tuổi 21 tuổi có 60 người tham gia, ở độ tuổi 22 tuổi có 60 người tham gia, ở độ tuổi 23 tuổi có 62 người tham gia, ở độ tuổi 24 tuổi có 56 người tham gia, ở độ tuổi 25 tuổi có 58 người tham gia, ở độ tuổi 26tuổi có 60 người tham gia, ở độ tuổi 27 tuổi có 58 người tham gia ở độ tuổi 28 tuổi có 60 người tham gia, ở độ tuổi 29 tuổi có 54 người tham gia, ở độ tuổi 30 tuổi có 56 người tham, ở độ tuổi 31 tuổi có 54 người tham gia, ở độ tuổi 32 tuổi có 56 người tham gia, ở độ tuổi 33 tuổi có 54 người tham gia, ở độ tuổi 34 tuổi có 52 người tham gia, ở độ tuổi 35 tuổi có 50 người tham gia, ở độ tuổi 36 tuổi có 50 người tham gia, ở độ tuổi 37 tuổi có 52 người tham gia, ở độ tuổi 38 tuổi có 50 người tham gia,ở độ tuổi 39 tuổi có 54 người tham gia, ở độ tuổi 40 tuổi có 54 người tham gia, ở độ tuổi 41 tuổi có 56 người tham gia, ở độ tuổi 42 tuổi có 54 người tham gia, ở độ tuổi 43 tuổi có 54 người tham gia, ở độ tuổi 44 tuổi có 56 người tham gia, ở độ tuổi 45 tuổi có 62 người tham gia, ở độ tuổi 46 tuổi có 60 người tham gia, ở độ tuổi 47 tuổi có 62 người tham gia, ở độ tuổi 48 tuổi có 58 người tham gia, ở độ tuổi 49 tuổi có 56 người tham gia, ở độ tuổi 50 tuổi có 58 người tham gia, ở độ tuổi 51 tuổi có 60 người tham gia, ở độ tuổi 52 tuổi có 62 người tham gia, ở độ tuổi 53 tuổi có 58 người tham gia, ở độ tuổi 54 tuổi có 60 người tham gia, ở độ tuổi 55 tuổi có 52 người tham gia, ở độ tuổi 56 tuổi có 56 người tham gia, ở độ tuổi 57 tuổi có 58 người tham gia, ở độ tuổi 58 tuổi có 52 người tham gia, ở độ tuổi 59 tuổi có 52 người tham gia, ở độ tuổi 60 tuổi có 46 người tham gia, ở độ tuổi 61 tuổi có 46 người tham gia, ở độ tuổi 62 tuổi có 48 người tham gia, ở độ tuổi 63 tuổi có 46 người tham gia, ở độ tuổi 64 tuổi có 46 người tham gia.

  • Bảng tần suất
table(PTĐTmahoa$age)/sum(table(PTĐTmahoa$age))
## 
##         18         19         20         21         22         23         24 
## 0.05339105 0.05122655 0.02092352 0.02164502 0.02164502 0.02236652 0.02020202 
##         25         26         27         28         29         30         31 
## 0.02092352 0.02164502 0.02092352 0.02164502 0.01948052 0.02020202 0.01948052 
##         32         33         34         35         36         37         38 
## 0.02020202 0.01948052 0.01875902 0.01803752 0.01803752 0.01875902 0.01803752 
##         39         40         41         42         43         44         45 
## 0.01948052 0.01948052 0.02020202 0.01948052 0.01948052 0.02020202 0.02236652 
##         46         47         48         49         50         51         52 
## 0.02164502 0.02236652 0.02092352 0.02020202 0.02092352 0.02164502 0.02236652 
##         53         54         55         56         57         58         59 
## 0.02092352 0.02164502 0.01875902 0.02020202 0.01948052 0.01875902 0.01875902 
##         60         61         62         63         64 
## 0.01659452 0.01659452 0.01731602 0.01659452 0.01659452

Kết quả được tính từ bảng tần số chuyển sang tỷ lệ phần trăm cho biến age

  • Đồ thị
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
PTĐTmahoa |> ggplot( aes( x = age, y= after_stat(count))) + geom_bar(fill='lightblue') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Số tuổi') + ylab('Tỷ lệ')

5.1.3 Biến sex

  • Bảng tần số
table(PTĐTmahoa$sex)
## 
## female   male 
##   1366   1406

Kết quả cho thấy, giới tính nữ tham gia bảo hiểm y tế là 1360 người, giới tính nam tham gia bảo hiểm y tế là 1398 người.

  • Bảng tần suất
table(PTĐTmahoa$sex)/sum(table(PTĐTmahoa$sex))
## 
##   female     male 
## 0.492785 0.507215

Kết quả cho thấy, giới tính nữ tham gia bảo hiểm y tế chiếm 49.31%, giới tính nam tham gia bảo hiểm y tế chiếm 50.69%

  • Đồ thị
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
PTĐTmahoa |> ggplot( aes( x = sex, y= after_stat(count))) + geom_bar(fill='lightgreen') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Giới tính') + ylab('Tỷ lệ')

5.1.4 Biến BMI

  • Bảng tần số
table(PTĐTmahoa$bmi)
## 
##  15.96 16.815 17.195  17.29 17.385   17.4  17.48  17.67 17.765   17.8  17.86 
##      2      4      2      6      2      2      2      2      2      2      2 
## 17.955  18.05   18.3 18.335   18.5   18.6 18.715 18.905     19 19.095  19.19 
##      2      2      2      6      2      2      4      2      2      2      2 
##   19.3 19.475  19.57   19.8 19.855  19.95 20.045   20.1  20.13 20.235   20.3 
##      2      2      2      6      4     12      4      4      2      8      2 
##  20.35   20.4 20.425  20.52   20.6 20.615   20.7  20.79   20.8   20.9  21.01 
##      2      2      2      4      4      2      2      2      4      4      2 
##  21.09  21.12  21.28   21.3 21.375   21.4  21.47   21.5  21.56 21.565  21.66 
##      2      2      4      2      4      4      6      2      2      2      6 
##   21.7 21.755  21.78   21.8  21.85  21.89 21.945     22  22.04   22.1 22.135 
##      2      8      4      2      8      2      2      2      2      2      8 
##  22.22  22.23   22.3  22.42 22.515   22.6  22.61 22.705  22.77   22.8  22.88 
##      2      4      4      6     10      4      8      8      2      4      2 
## 22.895  22.99     23 23.085   23.1  23.18   23.2  23.21 23.275   23.3  23.32 
##      8      6      2      4      2     10      2     12      2      2      4 
##  23.37   23.4 23.465  23.54  23.56   23.6  23.65 23.655   23.7  23.75  23.76 
##      6      6      4      2      4      4      2     10      4      6      2 
##   23.8 23.845  23.87   23.9  23.94  23.98 24.035  24.09   24.1  24.13 24.225 
##      2      8      2      2      2      6      6      2      4      8      8 
##   24.3  24.31  24.32   24.4 24.415  24.42  24.51  24.53   24.6 24.605  24.64 
##      8      4     14      2      2      6      6      2      8      8      2 
##   24.7  24.75 24.795  24.86  24.89  24.97 24.985     25  25.08   25.1 25.175 
##      8      2      8      4      2      2      4      4     10      2     12 
##   25.2  25.27   25.3 25.365   25.4  25.41  25.46  25.52 25.555   25.6  25.65 
##      2      6     10      6      2      2     14      2      6      8      2 
##   25.7  25.74 25.745   25.8  25.84  25.85   25.9 25.935  26.03  26.07 26.125 
##      6      8      6     16     10      2      6      6     12      2      8 
##  26.18   26.2  26.22  26.29 26.315   26.4  26.41 26.505  26.51   26.6  26.62 
##      6      2      8      2     10      8     12      2      4     12      4 
## 26.695   26.7  26.73  26.79   26.8  26.84 26.885   26.9  26.98     27  27.06 
##     10      4      4      4      4      4      8      2      6      2      2 
## 27.075   27.1  27.17   27.2 27.265  27.28   27.3  27.36   27.4 27.455   27.5 
##      2      8      4      4      8      2      2     14      4      4     14 
##  27.55   27.6  27.61 27.645   27.7  27.72  27.74   27.8  27.83 27.835   27.9 
##      8     10      2     14      6      8     12      2      8     10      2 
##  27.93  27.94     28 28.025  28.05   28.1  28.12  28.16   28.2 28.215  28.27 
##      8      6      6     10      6      4      8      2      2     10      4 
##   28.3  28.31  28.38   28.4 28.405  28.49   28.5 28.595   28.6  28.69   28.7 
##      4     18      2      4      4      2     10     12      6      6     10 
## 28.785   28.8  28.82  28.88   28.9  28.93 28.975     29  29.04  29.07   29.1 
##     10      2      2     16     10      6     10      4      2      4      2 
##  29.15 29.165   29.2  29.26   29.3 29.355  29.37   29.4  29.45  29.48   29.5 
##      4      2      2      8      4      4      4      4      2      8      2 
## 29.545  29.59   29.6  29.64   29.7 29.735   29.8  29.81  29.83   29.9  29.92 
##      2      4      8     10     10     10      8      8     12      6     12 
## 29.925     30  30.02  30.03   30.1 30.115  30.14   30.2  30.21  30.25   30.3 
##      6      4      8      6      4     12      4     12      8      4      6 
## 30.305  30.36   30.4 30.495   30.5  30.59 30.685  30.69  30.78   30.8 30.875 
##      4      2     10     16      8     14      6      4     12     16     16 
##   30.9  30.97     31  31.02 31.065   31.1  31.13  31.16   31.2  31.24 31.255 
##      6      2      4      8      8      2      8      8      2      2      6 
##   31.3  31.35   31.4 31.445  31.46   31.5  31.54  31.57   31.6 31.635  31.68 
##      2     16      6      4      4      4      4      4      8      4      4 
##  31.73  31.79   31.8 31.825   31.9  31.92     32  32.01 32.015   32.1  32.11 
##     12      8      2     10      6     10      2      4      4      2     14 
##  32.12   32.2 32.205  32.23   32.3  32.34 32.395   32.4  32.45  32.49   32.5 
##      2      6      4      4     26      4     10      2      2      4      4 
##  32.56 32.585   32.6  32.67  32.68   32.7 32.775  32.78   32.8  32.87   32.9 
##      4      2      4      4     10      4     14      2      6      2      6 
## 32.965     33  33.06   33.1  33.11 33.155   33.2  33.25   33.3  33.33 33.345 
##      8     12      2      8     10     10      2      6      4     16     10 
##   33.4  33.44   33.5 33.535  33.55  33.63  33.66   33.7 33.725  33.77   33.8 
##      6      8      2      6      2     14     10      6      4      4      2 
##  33.82  33.88 33.915  33.99  34.01   34.1 34.105   34.2  34.21 34.295   34.3 
##      8      6      8      4      2     16      8     12     10      2      2 
##  34.32  34.39   34.4  34.43 34.485   34.5  34.58   34.6 34.675   34.7  34.77 
##      6      4     10      8      4      2      4      6      2      4      6 
##   34.8 34.865  34.87   34.9  34.96  35.09   35.1  35.15   35.2 35.245   35.3 
##     14      4      2      2      6      2      2      2     14      4     12 
##  35.31   35.4  35.42 35.435   35.5  35.53   35.6 35.625  35.64   35.7  35.72 
##      4      2      2      2      2     12      2      8      2      2      4 
##  35.75   35.8 35.815  35.86   35.9  35.91  35.97     36 36.005  36.08   36.1 
##      6      4     10      8      2      4      8      4      2     10      6 
##  36.19 36.195   36.2  36.29   36.3 36.385   36.4  36.48  36.52 36.575   36.6 
##      6      2      4      2      8      4      2      6      2      4      2 
##  36.63  36.67   36.7 36.765  36.85  36.86 36.955  36.96     37  37.05  37.07 
##      6      8      2      6     10      6      8      4      6      6      6 
##   37.1 37.145  37.18  37.29   37.3 37.335   37.4  37.43  37.51 37.525  37.62 
##     12      2      6      8      2      4      6      6      4      2      4 
##   37.7 37.715  37.73   37.8   37.9 37.905     38  38.06 38.095  38.17  38.19 
##      2      2      4      2      2      2      6     14      6      6      2 
##  38.28 38.285  38.38  38.39   38.6 38.665  38.83   38.9  38.94  38.95  39.05 
##      6      2      4      6      4      2      6      2      4      2      6 
##   39.1  39.14  39.16   39.2  39.27  39.33   39.4 39.425  39.49   39.5  39.52 
##      2      2      8      2      2      2      2      2      6      4      2 
##   39.6 39.615   39.7  39.71   39.8 39.805  39.82   39.9  39.93 39.995  40.15 
##      6      2      4      2      2      4     10      2      2      2      6 
## 40.185  40.26  40.28   40.3  40.37 40.375  40.47  40.48   40.5 40.565  40.66 
##      4      4      4      4      4      2      2      2      2      6      2 
##  40.81  40.92 40.945   41.1  41.14  41.23 41.325  41.42  41.47  41.69   41.8 
##      2      2      2      2      4      4      6      2      6      2      6 
## 41.895  41.91  42.13  42.24  42.35   42.4  42.46 42.655  42.68  42.75   42.9 
##      2      6     12      2      2      4      2      2      2      2      4 
##  42.94  43.01  43.12  43.34   43.4   43.7  43.89     44  44.22   44.7 44.745 
##      2      2      2      2      2      2      4      2      4      2      2 
##  44.77  44.88  45.32  45.43  45.54   45.9  46.09   46.2  46.53   46.7  46.75 
##      2      2      4      2      2      2      2      2      8      2      2 
##  47.41  47.52   47.6  47.74  48.07  49.06  50.38  52.58  53.13 
##      2      2      2      2      2      2      2      2      2
  • Bảng tần suất
table(PTĐTmahoa$bmi)/sum(table(PTĐTmahoa$bmi))
## 
##        15.96       16.815       17.195        17.29       17.385         17.4 
## 0.0007215007 0.0014430014 0.0007215007 0.0021645022 0.0007215007 0.0007215007 
##        17.48        17.67       17.765         17.8        17.86       17.955 
## 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##        18.05         18.3       18.335         18.5         18.6       18.715 
## 0.0007215007 0.0007215007 0.0021645022 0.0007215007 0.0007215007 0.0014430014 
##       18.905           19       19.095        19.19         19.3       19.475 
## 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##        19.57         19.8       19.855        19.95       20.045         20.1 
## 0.0007215007 0.0021645022 0.0014430014 0.0043290043 0.0014430014 0.0014430014 
##        20.13       20.235         20.3        20.35         20.4       20.425 
## 0.0007215007 0.0028860029 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##        20.52         20.6       20.615         20.7        20.79         20.8 
## 0.0014430014 0.0014430014 0.0007215007 0.0007215007 0.0007215007 0.0014430014 
##         20.9        21.01        21.09        21.12        21.28         21.3 
## 0.0014430014 0.0007215007 0.0007215007 0.0007215007 0.0014430014 0.0007215007 
##       21.375         21.4        21.47         21.5        21.56       21.565 
## 0.0014430014 0.0014430014 0.0021645022 0.0007215007 0.0007215007 0.0007215007 
##        21.66         21.7       21.755        21.78         21.8        21.85 
## 0.0021645022 0.0007215007 0.0028860029 0.0014430014 0.0007215007 0.0028860029 
##        21.89       21.945           22        22.04         22.1       22.135 
## 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0028860029 
##        22.22        22.23         22.3        22.42       22.515         22.6 
## 0.0007215007 0.0014430014 0.0014430014 0.0021645022 0.0036075036 0.0014430014 
##        22.61       22.705        22.77         22.8        22.88       22.895 
## 0.0028860029 0.0028860029 0.0007215007 0.0014430014 0.0007215007 0.0028860029 
##        22.99           23       23.085         23.1        23.18         23.2 
## 0.0021645022 0.0007215007 0.0014430014 0.0007215007 0.0036075036 0.0007215007 
##        23.21       23.275         23.3        23.32        23.37         23.4 
## 0.0043290043 0.0007215007 0.0007215007 0.0014430014 0.0021645022 0.0021645022 
##       23.465        23.54        23.56         23.6        23.65       23.655 
## 0.0014430014 0.0007215007 0.0014430014 0.0014430014 0.0007215007 0.0036075036 
##         23.7        23.75        23.76         23.8       23.845        23.87 
## 0.0014430014 0.0021645022 0.0007215007 0.0007215007 0.0028860029 0.0007215007 
##         23.9        23.94        23.98       24.035        24.09         24.1 
## 0.0007215007 0.0007215007 0.0021645022 0.0021645022 0.0007215007 0.0014430014 
##        24.13       24.225         24.3        24.31        24.32         24.4 
## 0.0028860029 0.0028860029 0.0028860029 0.0014430014 0.0050505051 0.0007215007 
##       24.415        24.42        24.51        24.53         24.6       24.605 
## 0.0007215007 0.0021645022 0.0021645022 0.0007215007 0.0028860029 0.0028860029 
##        24.64         24.7        24.75       24.795        24.86        24.89 
## 0.0007215007 0.0028860029 0.0007215007 0.0028860029 0.0014430014 0.0007215007 
##        24.97       24.985           25        25.08         25.1       25.175 
## 0.0007215007 0.0014430014 0.0014430014 0.0036075036 0.0007215007 0.0043290043 
##         25.2        25.27         25.3       25.365         25.4        25.41 
## 0.0007215007 0.0021645022 0.0036075036 0.0021645022 0.0007215007 0.0007215007 
##        25.46        25.52       25.555         25.6        25.65         25.7 
## 0.0050505051 0.0007215007 0.0021645022 0.0028860029 0.0007215007 0.0021645022 
##        25.74       25.745         25.8        25.84        25.85         25.9 
## 0.0028860029 0.0021645022 0.0057720058 0.0036075036 0.0007215007 0.0021645022 
##       25.935        26.03        26.07       26.125        26.18         26.2 
## 0.0021645022 0.0043290043 0.0007215007 0.0028860029 0.0021645022 0.0007215007 
##        26.22        26.29       26.315         26.4        26.41       26.505 
## 0.0028860029 0.0007215007 0.0036075036 0.0028860029 0.0043290043 0.0007215007 
##        26.51         26.6        26.62       26.695         26.7        26.73 
## 0.0014430014 0.0043290043 0.0014430014 0.0036075036 0.0014430014 0.0014430014 
##        26.79         26.8        26.84       26.885         26.9        26.98 
## 0.0014430014 0.0014430014 0.0014430014 0.0028860029 0.0007215007 0.0021645022 
##           27        27.06       27.075         27.1        27.17         27.2 
## 0.0007215007 0.0007215007 0.0007215007 0.0028860029 0.0014430014 0.0014430014 
##       27.265        27.28         27.3        27.36         27.4       27.455 
## 0.0028860029 0.0007215007 0.0007215007 0.0050505051 0.0014430014 0.0014430014 
##         27.5        27.55         27.6        27.61       27.645         27.7 
## 0.0050505051 0.0028860029 0.0036075036 0.0007215007 0.0050505051 0.0021645022 
##        27.72        27.74         27.8        27.83       27.835         27.9 
## 0.0028860029 0.0043290043 0.0007215007 0.0028860029 0.0036075036 0.0007215007 
##        27.93        27.94           28       28.025        28.05         28.1 
## 0.0028860029 0.0021645022 0.0021645022 0.0036075036 0.0021645022 0.0014430014 
##        28.12        28.16         28.2       28.215        28.27         28.3 
## 0.0028860029 0.0007215007 0.0007215007 0.0036075036 0.0014430014 0.0014430014 
##        28.31        28.38         28.4       28.405        28.49         28.5 
## 0.0064935065 0.0007215007 0.0014430014 0.0014430014 0.0007215007 0.0036075036 
##       28.595         28.6        28.69         28.7       28.785         28.8 
## 0.0043290043 0.0021645022 0.0021645022 0.0036075036 0.0036075036 0.0007215007 
##        28.82        28.88         28.9        28.93       28.975           29 
## 0.0007215007 0.0057720058 0.0036075036 0.0021645022 0.0036075036 0.0014430014 
##        29.04        29.07         29.1        29.15       29.165         29.2 
## 0.0007215007 0.0014430014 0.0007215007 0.0014430014 0.0007215007 0.0007215007 
##        29.26         29.3       29.355        29.37         29.4        29.45 
## 0.0028860029 0.0014430014 0.0014430014 0.0014430014 0.0014430014 0.0007215007 
##        29.48         29.5       29.545        29.59         29.6        29.64 
## 0.0028860029 0.0007215007 0.0007215007 0.0014430014 0.0028860029 0.0036075036 
##         29.7       29.735         29.8        29.81        29.83         29.9 
## 0.0036075036 0.0036075036 0.0028860029 0.0028860029 0.0043290043 0.0021645022 
##        29.92       29.925           30        30.02        30.03         30.1 
## 0.0043290043 0.0021645022 0.0014430014 0.0028860029 0.0021645022 0.0014430014 
##       30.115        30.14         30.2        30.21        30.25         30.3 
## 0.0043290043 0.0014430014 0.0043290043 0.0028860029 0.0014430014 0.0021645022 
##       30.305        30.36         30.4       30.495         30.5        30.59 
## 0.0014430014 0.0007215007 0.0036075036 0.0057720058 0.0028860029 0.0050505051 
##       30.685        30.69        30.78         30.8       30.875         30.9 
## 0.0021645022 0.0014430014 0.0043290043 0.0057720058 0.0057720058 0.0021645022 
##        30.97           31        31.02       31.065         31.1        31.13 
## 0.0007215007 0.0014430014 0.0028860029 0.0028860029 0.0007215007 0.0028860029 
##        31.16         31.2        31.24       31.255         31.3        31.35 
## 0.0028860029 0.0007215007 0.0007215007 0.0021645022 0.0007215007 0.0057720058 
##         31.4       31.445        31.46         31.5        31.54        31.57 
## 0.0021645022 0.0014430014 0.0014430014 0.0014430014 0.0014430014 0.0014430014 
##         31.6       31.635        31.68        31.73        31.79         31.8 
## 0.0028860029 0.0014430014 0.0014430014 0.0043290043 0.0028860029 0.0007215007 
##       31.825         31.9        31.92           32        32.01       32.015 
## 0.0036075036 0.0021645022 0.0036075036 0.0007215007 0.0014430014 0.0014430014 
##         32.1        32.11        32.12         32.2       32.205        32.23 
## 0.0007215007 0.0050505051 0.0007215007 0.0021645022 0.0014430014 0.0014430014 
##         32.3        32.34       32.395         32.4        32.45        32.49 
## 0.0093795094 0.0014430014 0.0036075036 0.0007215007 0.0007215007 0.0014430014 
##         32.5        32.56       32.585         32.6        32.67        32.68 
## 0.0014430014 0.0014430014 0.0007215007 0.0014430014 0.0014430014 0.0036075036 
##         32.7       32.775        32.78         32.8        32.87         32.9 
## 0.0014430014 0.0050505051 0.0007215007 0.0021645022 0.0007215007 0.0021645022 
##       32.965           33        33.06         33.1        33.11       33.155 
## 0.0028860029 0.0043290043 0.0007215007 0.0028860029 0.0036075036 0.0036075036 
##         33.2        33.25         33.3        33.33       33.345         33.4 
## 0.0007215007 0.0021645022 0.0014430014 0.0057720058 0.0036075036 0.0021645022 
##        33.44         33.5       33.535        33.55        33.63        33.66 
## 0.0028860029 0.0007215007 0.0021645022 0.0007215007 0.0050505051 0.0036075036 
##         33.7       33.725        33.77         33.8        33.82        33.88 
## 0.0021645022 0.0014430014 0.0014430014 0.0007215007 0.0028860029 0.0021645022 
##       33.915        33.99        34.01         34.1       34.105         34.2 
## 0.0028860029 0.0014430014 0.0007215007 0.0057720058 0.0028860029 0.0043290043 
##        34.21       34.295         34.3        34.32        34.39         34.4 
## 0.0036075036 0.0007215007 0.0007215007 0.0021645022 0.0014430014 0.0036075036 
##        34.43       34.485         34.5        34.58         34.6       34.675 
## 0.0028860029 0.0014430014 0.0007215007 0.0014430014 0.0021645022 0.0007215007 
##         34.7        34.77         34.8       34.865        34.87         34.9 
## 0.0014430014 0.0021645022 0.0050505051 0.0014430014 0.0007215007 0.0007215007 
##        34.96        35.09         35.1        35.15         35.2       35.245 
## 0.0021645022 0.0007215007 0.0007215007 0.0007215007 0.0050505051 0.0014430014 
##         35.3        35.31         35.4        35.42       35.435         35.5 
## 0.0043290043 0.0014430014 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##        35.53         35.6       35.625        35.64         35.7        35.72 
## 0.0043290043 0.0007215007 0.0028860029 0.0007215007 0.0007215007 0.0014430014 
##        35.75         35.8       35.815        35.86         35.9        35.91 
## 0.0021645022 0.0014430014 0.0036075036 0.0028860029 0.0007215007 0.0014430014 
##        35.97           36       36.005        36.08         36.1        36.19 
## 0.0028860029 0.0014430014 0.0007215007 0.0036075036 0.0021645022 0.0021645022 
##       36.195         36.2        36.29         36.3       36.385         36.4 
## 0.0007215007 0.0014430014 0.0007215007 0.0028860029 0.0014430014 0.0007215007 
##        36.48        36.52       36.575         36.6        36.63        36.67 
## 0.0021645022 0.0007215007 0.0014430014 0.0007215007 0.0021645022 0.0028860029 
##         36.7       36.765        36.85        36.86       36.955        36.96 
## 0.0007215007 0.0021645022 0.0036075036 0.0021645022 0.0028860029 0.0014430014 
##           37        37.05        37.07         37.1       37.145        37.18 
## 0.0021645022 0.0021645022 0.0021645022 0.0043290043 0.0007215007 0.0021645022 
##        37.29         37.3       37.335         37.4        37.43        37.51 
## 0.0028860029 0.0007215007 0.0014430014 0.0021645022 0.0021645022 0.0014430014 
##       37.525        37.62         37.7       37.715        37.73         37.8 
## 0.0007215007 0.0014430014 0.0007215007 0.0007215007 0.0014430014 0.0007215007 
##         37.9       37.905           38        38.06       38.095        38.17 
## 0.0007215007 0.0007215007 0.0021645022 0.0050505051 0.0021645022 0.0021645022 
##        38.19        38.28       38.285        38.38        38.39         38.6 
## 0.0007215007 0.0021645022 0.0007215007 0.0014430014 0.0021645022 0.0014430014 
##       38.665        38.83         38.9        38.94        38.95        39.05 
## 0.0007215007 0.0021645022 0.0007215007 0.0014430014 0.0007215007 0.0021645022 
##         39.1        39.14        39.16         39.2        39.27        39.33 
## 0.0007215007 0.0007215007 0.0028860029 0.0007215007 0.0007215007 0.0007215007 
##         39.4       39.425        39.49         39.5        39.52         39.6 
## 0.0007215007 0.0007215007 0.0021645022 0.0014430014 0.0007215007 0.0021645022 
##       39.615         39.7        39.71         39.8       39.805        39.82 
## 0.0007215007 0.0014430014 0.0007215007 0.0007215007 0.0014430014 0.0036075036 
##         39.9        39.93       39.995        40.15       40.185        40.26 
## 0.0007215007 0.0007215007 0.0007215007 0.0021645022 0.0014430014 0.0014430014 
##        40.28         40.3        40.37       40.375        40.47        40.48 
## 0.0014430014 0.0014430014 0.0014430014 0.0007215007 0.0007215007 0.0007215007 
##         40.5       40.565        40.66        40.81        40.92       40.945 
## 0.0007215007 0.0021645022 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##         41.1        41.14        41.23       41.325        41.42        41.47 
## 0.0007215007 0.0014430014 0.0014430014 0.0021645022 0.0007215007 0.0021645022 
##        41.69         41.8       41.895        41.91        42.13        42.24 
## 0.0007215007 0.0021645022 0.0007215007 0.0021645022 0.0043290043 0.0007215007 
##        42.35         42.4        42.46       42.655        42.68        42.75 
## 0.0007215007 0.0014430014 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##         42.9        42.94        43.01        43.12        43.34         43.4 
## 0.0014430014 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##         43.7        43.89           44        44.22         44.7       44.745 
## 0.0007215007 0.0014430014 0.0007215007 0.0014430014 0.0007215007 0.0007215007 
##        44.77        44.88        45.32        45.43        45.54         45.9 
## 0.0007215007 0.0007215007 0.0014430014 0.0007215007 0.0007215007 0.0007215007 
##        46.09         46.2        46.53         46.7        46.75        47.41 
## 0.0007215007 0.0007215007 0.0028860029 0.0007215007 0.0007215007 0.0007215007 
##        47.52         47.6        47.74        48.07        49.06        50.38 
## 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 0.0007215007 
##        52.58        53.13 
## 0.0007215007 0.0007215007
  • Đồ thị
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
PTĐTmahoa |> ggplot( aes( x = bmi, y= after_stat(count))) + geom_bar(fill='lightyellow') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('BMI') + ylab('Tỷ lệ')

5.1.5 Biến smoker

  • Bảng tần số
table(PTĐTmahoa$smoker)
## 
##   no  yes 
## 2208  564

Kết quả cho thấy, số lượng người không hút thuốc là 2208 người, số lượng người hút thuốc là 550

người.

  • Bảng tần suất
table(PTĐTmahoa$smoker)/sum(table(PTĐTmahoa$smoker))
## 
##        no       yes 
## 0.7965368 0.2034632

Kết quả cho thấy, số lượng người không hút thuốc chiếm 80.06%, số lượng người hút thuốc là 19.94%

  • Đồ thị
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
PTĐTmahoa |> ggplot( aes( x = smoker, y= after_stat(count))) + geom_bar(fill='purple') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Smoker') + ylab('Tỷ lệ')

5.1.6 Biến region

  • Bảng tần số
table(PTĐTmahoa$region)
## 
## northeast northwest southeast southwest 
##       658       664       766       684

Kết quả cho thấy, số lượng người tham gia bảo hiểm y tế ở khu vực Northeast là 656 người, số lượng người tham gia bảo hiểm y tế ở khu vực Northwest là 660 người, số lượng người tham gia bảo hiểm y tế ở khu vực Southeast là 762 người, số lượng người tham gia bảo hiểm y tế ở khu vực Southwest là 680 người.

  • Bảng tần suất
table(PTĐTmahoa$region)/sum(table(PTĐTmahoa$region))
## 
## northeast northwest southeast southwest 
## 0.2373737 0.2395382 0.2763348 0.2467532

Kết quả cho thấy, số lượng người tham gia bảo hiểm y tế ở khu vực Northeast chiếm 23.79% , số lượng người tham gia bảo hiểm y tế ở khu vực Northwest chiếm 23.93%, số lượng người tham gia bảo hiểm y tế ở khu vực Southeast chiếm 27.63%, số lượng người tham gia bảo hiểm y tế ở khu vực Southwest chiếm 24.66%.

  • Đồ thị
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
PTĐTmahoa |> ggplot( aes( x = region, y= after_stat(count))) + geom_bar(fill='Brown') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Region') + ylab('Tỷ lệ')

5.1.7 Biến charges

  • Bảng tần số
table(PTĐTmahoa$charges)
## 
##    0    1 
## 2034  738

Kết quả cho thấy, số người nhận chi phí y tế lớn hơn 15000 là 724 người, số người nhận chi phí y tế nhỏ hơn hoặc 15000 là 2034 người.

  • Bảng tần suất
table(PTĐTmahoa$charges)/sum(table(PTĐTmahoa$charges))
## 
##         0         1 
## 0.7337662 0.2662338

Kết quả cho thấy tỷ lệ người nhận chi phí y tế lớn hơn 15000 là 26.25%, số người nhận chi phí y tế nhỏ hơn hoặc 15000 là 73.75%

  • Đồ thị
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
PTĐTmahoa |> ggplot( aes( x = charges, y= after_stat(count))) + geom_bar(fill='greenyellow') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('charges') + ylab('Tỷ lệ')

5.2 Thống kê mô tả 2 biến

5.2.1 Thống kê mô tả biến phụ thuộc charges và biến sex

  • Bảng tần số
a1 <- table(PTĐTmahoa$sex, PTĐTmahoa$charges)
a1
##         
##             0    1
##   female 1044  322
##   male    990  416

Kết quả cho thấy, nữ giới nhận chi phí y tế lớn hơn 15000 là 316 người, số người nhận chi phí y tế nhỏ hơn hoặc bằng 15000 là 1044 người. Nam giới nhận chi phí y tế lớn hơn 15000 là 408 người, số người nhận chi phí y tế nhỏ hơn hoặc 15000 là 990 người.

  • Bảng tần suất
aa1 <- prop.table(a1)
addmargins(aa1)
##         
##                  0         1       Sum
##   female 0.3766234 0.1161616 0.4927850
##   male   0.3571429 0.1500722 0.5072150
##   Sum    0.7337662 0.2662338 1.0000000

Kết quả cho thấy, nữ giới nhận chi phí y tế lớn hơn 15000 chiếm 11.46%, số người nhận chi phí y tế nhỏ hơn hoặc bằng 15000 chiếm 37.85%. Nam giới nhận chi phí y tế lớn hơn 15000 chiếm 14.79%, số người nhận chi phí y tế nhỏ hơn hoặc bằng 15000 là 35.90%

  • Đồ thị
ggplot(PTĐTmahoa, aes(sex, fill = charges)) + geom_bar(position = 'dodge', fill = "red")

5.2.2 Thống kê mô tả biến phụ thuộc charges và biến smoker

  • Bảng tần số
a2 <- table(PTĐTmahoa$smoker, PTĐTmahoa$charges)
a2
##      
##          0    1
##   no  2020  188
##   yes   14  550
  • Bảng tần suất
aa2 <- prop.table(a2)
addmargins(aa2)
##      
##                 0           1         Sum
##   no  0.728715729 0.067821068 0.796536797
##   yes 0.005050505 0.198412698 0.203463203
##   Sum 0.733766234 0.266233766 1.000000000
  • Đồ thị
library(ggplot2)
ggplot(PTĐTmahoa, aes(smoker, fill = charges)) + geom_bar(position = 'dodge', fill = "blue")

5.2.3 Thống kê mô tả biến phụ thuộc charges và biến region

  • Bảng tần số
a3 <- table(PTĐTmahoa$region, PTĐTmahoa$charges)
a3
##            
##               0   1
##   northeast 476 182
##   northwest 496 168
##   southeast 524 242
##   southwest 538 146
  • Bảng tần suất
aa3 <- prop.table(a3)
addmargins(aa3)
##            
##                      0          1        Sum
##   northeast 0.17171717 0.06565657 0.23737374
##   northwest 0.17893218 0.06060606 0.23953824
##   southeast 0.18903319 0.08730159 0.27633478
##   southwest 0.19408369 0.05266955 0.24675325
##   Sum       0.73376623 0.26623377 1.00000000
  • Đồ thị
ggplot(PTĐTmahoa, aes(region, fill = charges)) + geom_bar(position = 'dodge', fill="green")

5.3 Thống kê suy diễn cho dữ liệu định tính

5.3.1 Kiểm định tính độc lập cho hai biến

5.3.1.1 Kiểm đinh tính độc lập cho biến charges và sex

Giả thuyết - Đối thuyết:

H0: charges và sex độc lập với nhau

H1: charges và sex không độc lập với nhau

a1 <- table(PTĐTmahoa$sex, PTĐTmahoa$charges)
chisq.test(a1)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  a1
## X-squared = 12.526, df = 1, p-value = 0.0004013

Vì p_value = 0.0004535 < 0.05 chưa đủ cơ sở bác bỏ H0, thừa nhận H1, nghĩa là charges và sex không độc lập với nhau.

5.3.1.2 Kiểm đinh tính độc lập cho biến charges và smoker

Giả thuyết - Đối thuyết:

H0: charges và smoker độc lập với nhau

H1: charges và smoker không độc lập với nhau

a2 <- table(PTĐTmahoa$smoker, PTĐTmahoa$charges)
chisq.test(a2)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  a2
## X-squared = 1817.1, df = 1, p-value < 2.2e-16

Vì p_value = 2.2e-16 < 0.05 chưa đủ cơ sở bác bỏ H0, thừa nhận H1, nghĩa là charges và smoker không độc lập với nhau.

5.3.1.3 Kiểm đinh tính độc lập cho biến charges và region

Giả thuyết - Đối thuyết:

H0: charges và region độc lập với nhau

H1: charges và region không độc lập với nhau

a3 <- table(PTĐTmahoa$region, PTĐTmahoa$charges)
chisq.test(a3)
## 
##  Pearson's Chi-squared test
## 
## data:  a3
## X-squared = 20.394, df = 3, p-value = 0.0001407

Vì p_value = 0.0001031 < 0.05 chưa đủ cơ sở bác bỏ H0, thừa nhận H1, nghĩa là charges và region không độc lập với nhau

5.3.2 Khoảng ước lượng tỷ lệ

  • Ước lượng số người được bảo hiểm y tế chi trả lớn hơn 15000 và số người được bảo hiểm y tế chi trả nhỏ hơn hoặc bằng 15000
a <- PTĐTmahoa[PTĐTmahoa$charges == '1',]
prop.test(length(a$charges), length(PTĐTmahoa$charges))
## 
##  1-sample proportions test with continuity correction
## 
## data:  length(a$charges) out of length(PTĐTmahoa$charges), null probability 0.5
## X-squared = 604.99, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.2499353 0.2831864
## sample estimates:
##         p 
## 0.2662338
b <- PTĐTmahoa[PTĐTmahoa$charges == '0',]
prop.test(length(b$charges), length(PTĐTmahoa$charges))
## 
##  1-sample proportions test with continuity correction
## 
## data:  length(b$charges) out of length(PTĐTmahoa$charges), null probability 0.5
## X-squared = 604.99, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.7168136 0.7500647
## sample estimates:
##         p 
## 0.7337662

Với độ tin cậy 95%, ta có tỷ lệ người được chi trả bảo hiểm y tế lớn hơn 15000 so với tổng thể nằm trong khoảng từ 24.99% đến 28.32%. Nói cách khác, tỷ lệ người được chi trả bảo hiểm y tế nhỏ hơn hoặc bằng 15000 so với tổng thể nằm trong khoảng từ 71.68% đến 75.01%.

5.4 Rủi ro tương đối và tỷ lệ chênh

5.4.1 Biến charges và biến sex

library(DescTools)
## Warning: package 'DescTools' was built under R version 4.3.1
library(epitools)
a1 <- table(PTĐTmahoa$sex, PTĐTmahoa$charges)
riskratio(a1)
## $data
##         
##             0   1 Total
##   female 1044 322  1366
##   male    990 416  1406
##   Total  2034 738  2772
## 
## $measure
##         risk ratio with 95% C.I.
##          estimate    lower    upper
##   female 1.000000       NA       NA
##   male   1.255171 1.107707 1.422266
## 
## $p.value
##         two-sided
##            midp.exact fisher.exact   chi.square
##   female           NA           NA           NA
##   male   0.0003400241 0.0003590528 0.0003407414
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Theo kết quả trên ta thấy tỷ lệ rủi ro tương đối của những người có chi phí bảo hiểm lớn hơn 15000 theo giới tính là 1.2552 tức là tỷ lệ rủi ro nam giới có chi phí bảo hiểm bằng 1.2552 lần tỷ lệ rủi ro nữ giới có chi phí bảo hiểm lớn hơn 15000

OddsRatio(a1)
## [1] 1.362394

Tỷ lệ nam giới có chi phí bảo hiểm 1 gấp 1.36 lần nữ giới có chi phí bảo hiểm 1

5.4.2 Biến charges và biến smoker

a2 <- table(PTĐTmahoa$smoker, PTĐTmahoa$charges)
riskratio(a2)
## $data
##        
##            0   1 Total
##   no    2020 188  2208
##   yes     14 550   564
##   Total 2034 738  2772
## 
## $measure
##      risk ratio with 95% C.I.
##       estimate   lower    upper
##   no   1.00000      NA       NA
##   yes 11.45315 9.98324 13.13948
## 
## $p.value
##      two-sided
##       midp.exact fisher.exact chi.square
##   no          NA           NA         NA
##   yes          0            0          0
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Tỷ lệ người có hút thuốc có mức chi phí bảo hiểm lớn hơn 15000 bằng 11.45 lần tỷ lệ người không hút thuốc có mức chi phí bảo hiểm lớn hơn 15000

OddsRatio(a2)
## [1] 422.1125

Tỷ lệ có hút thuốc có mức chi phí bảo hiểm lớn hơn 15000 cao hơn 422.1125 lần tỷ lệ không hút thuốc có mức chi phí bảo hiểm lớn hơn 15000

5.4.3 Biến charges và biến region

a3 <- table(PTĐTmahoa$region, PTĐTmahoa$charges)
riskratio(a3)
## $data
##            
##                0   1 Total
##   northeast  476 182   658
##   northwest  496 168   664
##   southeast  524 242   766
##   southwest  538 146   684
##   Total     2034 738  2772
## 
## $measure
##            risk ratio with 95% C.I.
##              estimate     lower     upper
##   northeast 1.0000000        NA        NA
##   northwest 0.9147359 0.7641592 1.0949835
##   southeast 1.1421972 0.9717208 1.3425816
##   southwest 0.7717049 0.6383970 0.9328497
## 
## $p.value
##            two-sided
##              midp.exact fisher.exact  chi.square
##   northeast          NA           NA          NA
##   northwest 0.332113043  0.349917879 0.331171721
##   southeast 0.105939062  0.116552244 0.105616431
##   southwest 0.007215525  0.007618665 0.007125178
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"

Theo kết quả trên ta thấy tỷ lệ rủi ro tương đối của những người có chi phí bảo hiểm theo khu vực northwest là 0.9147359 tức là tỷ lệ rủi ro ở khu vực này có chi phí bảo hiểm bằng 0.9147359 lần tỷ lệ rủi ro ở khu vực khác.

Theo khu vực southeast là 1.1421972 tức là tỷ lệ rủi ro ở khu vực này có chi phí bảo hiểm cao hơn 1.1421972 lần tỷ lệ rủi ro ở khu vực khác.

Theo khu vực southwest là 0.7717049 tức là tỷ lệ rủi ro ở khu vực này có chi phí bảo hiểm bằng 0.7717049 lần tỷ lệ rủi ro ở khu vực khác.

6 Ước lượng mô hình hồi quy

Ta tiến hành ước lượng hàm hồi quy cho biến Charges phụ thuộc vào các biến độc lập. Đối với hàm hồi quy biến Charges phạm trù thứ hai của biến nhị phân thê hiện cho ” chi phí bảo hiểm y tế lớn hơn 15000” ở đây là “1”

charges<-PTĐTmahoa$charges
age<-PTĐTmahoa$age
sex<-PTĐTmahoa$sex
bmi<-PTĐTmahoa$bmi
children<-PTĐTmahoa$children
smoker<-PTĐTmahoa$smoker
region<-PTĐTmahoa$region
# Xác định thứ tự phạm trù của biến Charges
levels(factor(charges))
## [1] "0" "1"
PTĐTmahoa$charges<-as.factor(PTĐTmahoa$charges)

Nghĩa là kết quả của các mô hình sau đây giải thích kết quả về chi phí chi trả bảo hiểm y tế cho bệnh nhân ở mức 1 ( mức có giá trị chi trả là lớn hơn 15000 )

6.1 Mô hình hồi quy logit

MH1 <- glm(factor(charges) ~ age + sex + bmi + children + smoker + region , family = binomial(link = 'logit'), data =  PTĐTmahoa)
summary(MH1)
## 
## Call:
## glm(formula = factor(charges) ~ age + sex + bmi + children + 
##     smoker + region, family = binomial(link = "logit"), data = PTĐTmahoa)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)     -4.864960   0.479588 -10.144  < 2e-16 ***
## age              0.027466   0.005657   4.855  1.2e-06 ***
## sexmale          0.030496   0.149071   0.205  0.83790    
## bmi              0.038807   0.012853   3.019  0.00253 ** 
## children         0.233203   0.056531   4.125  3.7e-05 ***
## smokeryes        6.357347   0.294742  21.569  < 2e-16 ***
## regionnorthwest  0.017936   0.205538   0.087  0.93046    
## regionsoutheast -0.148468   0.210172  -0.706  0.47993    
## regionsouthwest -0.634808   0.226649  -2.801  0.00510 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3212.6  on 2771  degrees of freedom
## Residual deviance: 1353.9  on 2763  degrees of freedom
## AIC: 1371.9
## 
## Number of Fisher Scoring iterations: 6

Dữ liệu gồm bảy biến, sau khi chạy mô hình logit nhận sáu biến: age, bmi, children, smoker, region

Mô hình tổng quát

\(logit(\pi) = log\frac{\pi}{1-\pi}= β0 + β1X1 + β2X2 + ⋯ + \βkXk\)

Sau khi chạy mô hình ta có mô hình sau

\(logit(\pi) = log\frac{\pi}{1-\pi}= -4.854365 + 0.027416age + 0.038549bmi + 0.233395children + 6.336254smoker - 0.635770region\)

Biến sex không có ý nghĩa nên loại khỏi mô hình ta chạy lại như sau

MH1a <- glm(factor(charges) ~ age + bmi + children + smoker + region , family = binomial(link = 'logit'), data =  PTĐTmahoa)
summary(MH1a)
## 
## Call:
## glm(formula = factor(charges) ~ age + bmi + children + smoker + 
##     region, family = binomial(link = "logit"), data = PTĐTmahoa)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)     -4.849907   0.473878 -10.235  < 2e-16 ***
## age              0.027423   0.005652   4.852 1.22e-06 ***
## bmi              0.038868   0.012849   3.025  0.00249 ** 
## children         0.233099   0.056539   4.123 3.74e-05 ***
## smokeryes        6.359324   0.294567  21.589  < 2e-16 ***
## regionnorthwest  0.017309   0.205537   0.084  0.93289    
## regionsoutheast -0.148455   0.210128  -0.706  0.47988    
## regionsouthwest -0.634743   0.226621  -2.801  0.00510 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3212.6  on 2771  degrees of freedom
## Residual deviance: 1353.9  on 2764  degrees of freedom
## AIC: 1369.9
## 
## Number of Fisher Scoring iterations: 6

$ logit() = log= -4.854365 + 0.027423age + 0.038868bmi + 0.233099children + 6.359324smoker - 0.634743region $

6.2 Mô hình hồi quy probit

MH2 <- glm(factor(charges) ~ age + sex + bmi + children + smoker + region , family = binomial(link = 'probit'), data =  PTĐTmahoa)
summary(MH2)
## 
## Call:
## glm(formula = factor(charges) ~ age + sex + bmi + children + 
##     smoker + region, family = binomial(link = "probit"), data = PTĐTmahoa)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)     -2.592596   0.234145 -11.073  < 2e-16 ***
## age              0.013089   0.002751   4.758 1.95e-06 ***
## sexmale          0.019656   0.074320   0.264  0.79142    
## bmi              0.019649   0.006425   3.058  0.00222 ** 
## children         0.113600   0.029005   3.917 8.98e-05 ***
## smokeryes        3.506260   0.130238  26.922  < 2e-16 ***
## regionnorthwest  0.023529   0.104220   0.226  0.82138    
## regionsoutheast -0.055880   0.106055  -0.527  0.59827    
## regionsouthwest -0.293474   0.110321  -2.660  0.00781 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3212.6  on 2771  degrees of freedom
## Residual deviance: 1353.5  on 2763  degrees of freedom
## AIC: 1371.5
## 
## Number of Fisher Scoring iterations: 7

Dữ liệu gồm bảy biến, sau khi chạy mô hình logit nhận sáu biến: age, bmi, children, smoker, region

Mô hình tổng quát Probit:

\(Probit(\pi) = \phi^(-1)(\pi) = β0 + β1X1 + β2X2 + ⋯ + βkXk\)

Sau khi chạy mô hình Probit ta có hàm hồi quy sau:

\(Probit(\pi) = \phi^(-1)(\pi) = -2.586361 + 0.013064age + 0.019491bmi + 0.113764children + 3.497167smoker - 0.294326region\)

Biến sex không có ý nghĩa nên loại khỏi mô hình

MH2a <- glm(factor(charges) ~ age + bmi + children + smoker + region , family = binomial(link = 'probit'), data =  PTĐTmahoa)
summary(MH2a)
## 
## Call:
## glm(formula = factor(charges) ~ age + bmi + children + smoker + 
##     region, family = binomial(link = "probit"), data = PTĐTmahoa)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)     -2.584346   0.231583 -11.159  < 2e-16 ***
## age              0.013069   0.002749   4.754 1.99e-06 ***
## bmi              0.019714   0.006422   3.070  0.00214 ** 
## children         0.113507   0.029009   3.913 9.12e-05 ***
## smokeryes        3.507150   0.130056  26.967  < 2e-16 ***
## regionnorthwest  0.023731   0.104223   0.228  0.81988    
## regionsoutheast -0.055670   0.106037  -0.525  0.59958    
## regionsouthwest -0.293075   0.110301  -2.657  0.00788 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3212.6  on 2771  degrees of freedom
## Residual deviance: 1353.5  on 2764  degrees of freedom
## AIC: 1369.5
## 
## Number of Fisher Scoring iterations: 7

Mô hình viết lại sau khi loại biến sex như sau:

\(Probit(\pi) = \phi^(-1)(\pi) = -2.584346 + 0.013069age + 0.019714bmi + 0.113507children + 3.507150smoker - -0.293075region\)

6.3 Mô hình hồi quy cloglog

MH3 <- glm(factor(charges) ~ age + sex + bmi + children + smoker + region , family = binomial(link = 'cloglog'), data =  PTĐTmahoa)
summary(MH3)
## 
## Call:
## glm(formula = factor(charges) ~ age + sex + bmi + children + 
##     smoker + region, family = binomial(link = "cloglog"), data = PTĐTmahoa)
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)     -5.241488   0.413559 -12.674  < 2e-16 ***
## age              0.025999   0.004857   5.353 8.63e-08 ***
## sexmale          0.072507   0.118168   0.614   0.5395    
## bmi              0.047088   0.010547   4.465 8.02e-06 ***
## children         0.192840   0.048406   3.984 6.78e-05 ***
## smokeryes        4.328233   0.161702  26.767  < 2e-16 ***
## regionnorthwest  0.165172   0.170969   0.966   0.3340    
## regionsoutheast  0.001916   0.170776   0.011   0.9910    
## regionsouthwest -0.294411   0.170603  -1.726   0.0844 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3212.6  on 2771  degrees of freedom
## Residual deviance: 1327.9  on 2763  degrees of freedom
## AIC: 1345.9
## 
## Number of Fisher Scoring iterations: 9

Mô hình tổng quát của Cloglog:

\(Cloglog(\pi)=log(−log(1−\pi)) = β0 + β1X1 + β2X2 + ⋯ + βkXk\)

Sau khi chạy mô hình Cloglog có hàm hồi quy như sau:

\(Cloglog(\pi)=log(−log(1−\pi)) = -5.234095 + 0.025971age + 0.046919bmi + 0.192786children + 4.324558smoker\)

Biến sex và region không có ý nghĩa nên loại khỏi mô hình

MH3a <- glm(factor(charges) ~ age + bmi + children + smoker , family = binomial(link = 'cloglog'), data =  PTĐTmahoa)
summary(MH3a)
## 
## Call:
## glm(formula = factor(charges) ~ age + bmi + children + smoker, 
##     family = binomial(link = "cloglog"), data = PTĐTmahoa)
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -5.145024   0.398619 -12.907  < 2e-16 ***
## age          0.025638   0.004797   5.345 9.06e-08 ***
## bmi          0.044969   0.009951   4.519 6.21e-06 ***
## children     0.190492   0.048488   3.929 8.54e-05 ***
## smokeryes    4.296481   0.157793  27.229  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3212.6  on 2771  degrees of freedom
## Residual deviance: 1335.3  on 2767  degrees of freedom
## AIC: 1345.3
## 
## Number of Fisher Scoring iterations: 8

\(Cloglog(\pi)=log(−log(1−\pi)) = -5.145024 + 0.025638age + 0.044969bmi + 0.190492children + 4.296481smoker\)

6.4 Chọn mô hình phù hợp

AIC và Deviance

Từ kết quả 3 mô hình hồi quy, ta có:

logit: AIC = 1369.9, Deviance = 1353.9

probit: AIC = 1369.5, Deviance = 1353.5

cloglog: AIC = 1345.3, Deviance = 1335.3

BrierScore

BrierScore(MH1a)
## [1] 0.06508482
BrierScore(MH2a)
## [1] 0.0651908
BrierScore(MH3a)
## [1] 0.06492114

Kết quả cho thấy giá trị các chỉ số AIC, Deviance, BrierScore của mô hình Cloglog là nhỏ nhất. Vậy mô hình Cloglog là phù hợp nhất.

6.5 Ma trận nhầm lẫn

library(caret)
## Warning: package 'caret' was built under R version 4.3.1
## Loading required package: lattice
## 
## Attaching package: 'caret'
## The following objects are masked from 'package:DescTools':
## 
##     MAE, RMSE
  • Mô hình logit
predictions <- predict(MH1a, newdata = PTĐTmahoa, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(PTĐTmahoa$charges, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
## 
##             actual
## predictions1    0    1
##            0 2020  188
##            1   14  550
##                                           
##                Accuracy : 0.9271          
##                  95% CI : (0.9168, 0.9365)
##     No Information Rate : 0.7338          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.7983          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.9931          
##             Specificity : 0.7453          
##          Pos Pred Value : 0.9149          
##          Neg Pred Value : 0.9752          
##              Prevalence : 0.7338          
##          Detection Rate : 0.7287          
##    Detection Prevalence : 0.7965          
##       Balanced Accuracy : 0.8692          
##                                           
##        'Positive' Class : 0               
## 
  • Mô hình probit
predictions <- predict(MH2a, newdata = PTĐTmahoa, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(PTĐTmahoa$charges, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
## 
##             actual
## predictions1    0    1
##            0 2020  188
##            1   14  550
##                                           
##                Accuracy : 0.9271          
##                  95% CI : (0.9168, 0.9365)
##     No Information Rate : 0.7338          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.7983          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.9931          
##             Specificity : 0.7453          
##          Pos Pred Value : 0.9149          
##          Neg Pred Value : 0.9752          
##              Prevalence : 0.7338          
##          Detection Rate : 0.7287          
##    Detection Prevalence : 0.7965          
##       Balanced Accuracy : 0.8692          
##                                           
##        'Positive' Class : 0               
## 
  • Mô hình Cloglog
library(caret)
predictions <- predict(MH3a, newdata = PTĐTmahoa, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(PTĐTmahoa$charges, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
## 
##             actual
## predictions1    0    1
##            0 2020  188
##            1   14  550
##                                           
##                Accuracy : 0.9271          
##                  95% CI : (0.9168, 0.9365)
##     No Information Rate : 0.7338          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.7983          
##                                           
##  Mcnemar's Test P-Value : < 2.2e-16       
##                                           
##             Sensitivity : 0.9931          
##             Specificity : 0.7453          
##          Pos Pred Value : 0.9149          
##          Neg Pred Value : 0.9752          
##              Prevalence : 0.7338          
##          Detection Rate : 0.7287          
##    Detection Prevalence : 0.7965          
##       Balanced Accuracy : 0.8692          
##                                           
##        'Positive' Class : 0               
## 

Cả ba mô hình giải thích được 92.68%, độ nhạy 99.31%, độ hiệu quả 74.03%. Và giá trị các chỉ số AIC, Deviance, BrierScore của mô hình Cloglog là nhỏ nhất. Vậy mô hình Cloglog là phù hợp nhất.

7 CHƯƠNG 3 KẾT LUẬN

7.1 Kết luận

Chi phí bảo hiểm y tế là một trong những vấn đề quan tâm của nhiều người khi tham gia bảo hiểm sức khỏe. Qua nghiên cứu, tôi đã phát hiện ra có bốn yếu tố chính ảnh hưởng đến chi phí bảo hiểm y tế, đó là: độ tuổi, giới tính, số con trong gia đình,những người hút thuốc. Các yếu tố này có thể làm tăng hoặc giảm chi phí bảo hiểm y tế của cá nhân hoặc hộ gia đình. Hút thuốc lá là nguyên nhân gây tử vong hàng đầu có thể ngăn ngừa được ở Hoa Kỳ. Trung tâm Kiểm soát và Phòng ngừa Dịch bệnh Hoa Kỳ (CDC) ước tính rằng hút thuốc lá giết chết khoảng 419.000 người ở Hoa Kỳ mỗi năm. Hút thuốc lá là nguyên nhân gây tử vong sớm của quốc gia và chịu trách nhiệm cho một phần ba số ca tử vong ở người Mỹ trong độ tuổi lao động. Hút thuốc lá gây nghiện cả về tâm lý và sinh lý. Nó là một yếu tố nguy cơ quan trọng đối với các bệnh tim mạch, đặc biệt là bệnh động mạch vành, đột quỵ, ung thư biểu mô phổi, viêm phế quản mãn tính, bệnh phổi tắc nghẽn mãn tính và khí thũng. Ngoài ra, tăng nguy cơ mắc bệnh mạch máu ngoại biên và có liên quan đến ung thư thanh quản, khoang miệng, thực quản, tụy và bàng quang. Phụ nữ mang thai hút thuốc có thể gây ra những ảnh hưởng xấu đến sức khỏe của trẻ sơ sinh như nhẹ cân và sinh non; tăng nguy cơ sảy thai; và cũng được phát hiện là một nguyên nhân quan trọng gây ra hội chứng đột tử ở trẻ sơ sinh. Hút thuốc bất cẩn cũng có thể gây bỏng nặng và tử vong. Nhiều tác dụng phụ của việc hút thuốc xảy ra ở những người hút thuốc “thứ cấp” (Nair, A K Nair ,Jr E N Brandt(2000)). Ở Hoa Kỳ đương đại, nam giới có tỷ lệ tử vong cao hơn 60% so với nữ giới. 40 phần trăm của sự khác biệt về tỷ lệ tử vong theo giới tính này là do tỷ lệ mắc bệnh tim do xơ cứng động mạch ở nam giới tăng gấp đôi. Nguyên nhân chính của tỷ lệ mắc bệnh tim do xơ cứng động mạch cao hơn ở nam giới bao gồm hút thuốc lá nhiều hơn ở nam giới; tỷ lệ phổ biến cao hơn của Mô hình hành vi dễ bị mạch vành cạnh tranh, hung hăng ở nam giới; và có thể là vai trò bảo vệ của nội tiết tố nữ. Ngoài ra, nam giới có tỷ lệ tử vong do ung thư phổi và khí thũng cao hơn, đặc biệt là do có nhiều nam giới hút thuốc lá hơn. Ngoài ra, tỷ lệ nam giới có tuổi thọ thấp hơn nữ giới vì một số nguyên nhân như : tai nạn, tự tử và xơ gan. Mỗi hành vi này đều liên quan đến những hành vi được khuyến khích hoặc chấp nhận ở nam giới nhiều hơn ở nữ giới trong xã hội của chúng ta — ví dụ: sử dụng súng, thích phiêu lưu và hành động không sợ hãi, làm những công việc nguy hiểm và uống rượu. Tôi kết luận với các đề xuất để giảm tỷ lệ tử vong ở nam giới; ví dụ, bằng cách thay đổi các điều kiện xã hội thúc đẩy ở nam giới những hành vi làm tăng tỷ lệ tử vong của họ (I Waldron, & S Johnston (1976)). Do đó, người tham gia bảo hiểm cần cân nhắc kỹ các yếu tố này khi lựa chọn gói bảo hiểm phù hợp với nhu cầu và khả năng của mình. Bằng cách này, họ có thể tiết kiệm chi phí và được bảo vệ sức khỏe một cách hiệu quả.

7.2 Hạn chế

Bộ dữ liệu được thu thập từ nước ngoài được đăng tải trên internet và lấy từ cuộc khảo sát google form nên tỷ lệ chính xác sẽ không tuyệt đối. Đó cũng chính là nguyên nhân dẫn trong quá trình nghiên cứu, làm xuất hiện các biến NA không xác định. Hơn nữa kinh nghiệm của sinh viên còn hạn chế nên khi thực hiện nghiên cứu bằng phần mềm R còn nhiều thiếu sót và có chỗ chưa chính xác.

8 TÀI LIỆU THAM KHẢO

[1] A K Nair ,Jr E N Brandt(2000). Effects of smoking on health care costs. The Journal of the Oklahoma State Medical Association, 93(6), 245-250.

[2] I Waldron, & S Johnston (1976). Why do women live longer than men?. Journal of human stress, 2(2), 19-30.

LS0tDQp0aXRsZTogIlRp4buDdSBsdeG6rW4gUFRETMSQVCINCmF1dGhvcjogIsSQ4bq3bmcgSHXhu7NuaCBUaGFuaCBIw7JhIg0KZGF0ZTogIjIwMjMtMDctMzAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0b2NfZmxvYXQ6DQogICAgICBjb2xsYXBzZWQ6IG5vDQogICAgICBkZl9wcmludDogcGFnZWQNCiAgICAgIGhpZ2hsaWdodDoga2F0ZQ0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQpodHRwczovL2RyaXZlLmdvb2dsZS5jb20vZHJpdmUvZm9sZGVycy8xOFR3OTJIRXZsdXhDOGtvQWhjclBJMWVBNktzdldMekE/aGw9dmkNCg0KIyBM4bucSSBD4bqiTSDGoE4NCg0KICBM4budaSBuw7NpIMSR4bqndSB0acOqbiB0w7RpIHhpbiBn4butaSBs4budaSBj4bqjbSDGoW4gxJHhur9uIFRyxrDhu51uZyDEkOG6oWkgaOG7jWMgVMOgaSBjaMOtbmgg4oCTIE1hcmtldGluZywgxJHhurdjIGJp4buHdCBsw6AgY8OhYyB0aOG6p3kgY8O0IGtob2EgS2luaCB04bq/IC0gTHXhuq10IMSRw6MgxJHGsGEgaOG7jWMgcGjhuqduIFBow6JuIHTDrWNoIGThu68gbGnhu4d1IMSR4buLbmggdMOtbmggdsOgbyBjaMawxqFuZyB0csOsbmggxJHDoG8gdOG6oW8gxJHhu4MgdMO0aSBjw7Mga2nhur9uIHRo4bupYyBt4bubaSDEkeG7gyBjaHXhuqluIGLhu4sgaMOgbmggdHJhbmcgc2F1IG7DoHkuIEjGoW4gdGjhur8gbuG7r2EsIHTDtGkgeGluIGfhu61pIGzhu51pIGPhuqNtIMahbiBjaMOibiB0aMOgbmggdsOgIHPDonUgc+G6r2MgbmjhuqV0IGtoaSDEkcaw4bujYyBnaeG6o25nIHZpw6puIGjGsOG7m25nIGThuqtuIGzDoCB0aOG6p3kgVGhTLlRy4bqnbiBN4bqhbmggVMaw4budbmcgxJHDoyBjaOG7iSBk4bqrbiBo4buXIHRy4bujIMSR4buDIHTDtGkgY8OzIHRo4buDIGhvw6BuIHRow6BuaCBiw6BpIGvhur90IHRow7pjIGjhu41jIHBo4bqnbiDEkcaw4bujYyBjaOG7iW5oIGNodSBuaOG6pXQuIFR1eSBuaGnDqm4sIGRvIHRo4budaSBnaWFuIHRp4buDdSBsdeG6rW4gY8OybiBo4bqhbiBjaOG6vyB2w6Aga2jhuqMgbsSDbmcgdGnhur9wIGPhuq1uIHRo4buxYyB04bq/IGPDsm4gw610IG7Dqm4gZMO5IMSRw6MgY+G7kSBn4bqvbmcgbmjGsG5nIGLDoGkgY8Wpbmcga2jDtG5nIHRyw6FuaCBraOG7j2kgbmjhu69uZyBzYWkgc8OzdCwgbmjhu69uZyDEkWnhu4NtIGtow7RuZyBjaMOtbmggeMOhYy4gVMO0aSBrw61uaCBtb25nIGdp4bqjbmcgdmnDqm4geGVtIHjDqXQgdsOgIGfDs3Agw70gxJHhu4MgYsOgaSDEkcaw4bujYyBob8OgbiB0aGnhu4duIHThu5F0IGjGoW4uIA0KICANClTDtGkgeGluIGNow6JuIHRow6BuaCBj4bqjbSDGoW4hDQoNCiMgTOG7nEkgTeG7niDEkOG6plUNCg0KIyMgTMO9IGRvIGNo4buNbiDEkeG7gSB0w6BpDQoNCiAgU+G7qWMga2jhu49lIHThu5F0IGzDoCBu4buBbiB04bqjbmcgY8ahIGLhuqNuIGPhu6dhIG3hu5l0IGN14buZYyBz4buRbmcgdnVpIHbhurssIGjhuqFuaCBwaMO6YywgbMOgIGPGoSBz4bufIHF1YW4gdHLhu41uZyDEkeG7gyBt4buXaSBuZ8aw4budaSB0aOG7sWMgaGnhu4duIMO9IHTGsOG7n25nLCDGsOG7m2MgbcahLCBuZ3V54buHbiB24buNbmcgY+G7p2EgY3Xhu5ljIMSR4budaSBtw6xuaC5C4bufaSBu4bq/dSBi4buHbmggdOG6rXQsIOG7kW0gxJFhdSwgY2jDum5nIHRhIHRoxrDhu51uZyBz4bq9IGtow7RuZyBjw7JuIMSR4bunIHPhu6ljIGto4buPZSwgdMOibSB0csOtIG7DoG8gbcOgIGxvIGzhuq9uZywgc3V5IG5naMSpIMSR4bq/biBuaOG7r25nIHZp4buHYyBraMOhYy4gxJDDsyBsw6AgY2jGsGEgbsOzaSDEkeG6v24gY2h1eeG7h24gYuG7h25oIHThuq10IGPDsm4ga2hp4bq/biBjb24gbmfGsOG7nWkgdGnDqnUgaGFvIHRp4buBbiBi4bqhYywgY+G7p2EgY+G6o2ksIOG6o25oIGjGsOG7n25nIMSR4bq/biBuaOG7r25nIG5nxrDhu51pIHRow6JuIHRyb25nIGdpYSDEkcOsbmgsIHjDoyBo4buZaSBt4bqldCDEkWkgbeG7mXQgbmfGsOG7nWkga2jhu49lIG3huqFuaC4gRG8gxJHDsywgc+G7qWMgDQpraOG7j2UgY2jDrW5oIGzDoCBjaGnhur9jIGNow6xhIGtow7NhIHF1YW4gdHLhu41uZyBuaOG6pXQgbeG7nyByYSBjw6FuaCBj4butYSBo4bqhbmggcGjDumMgY2hvIG3hu5dpIG5nxrDhu51pLiBYw6MgaOG7mWkgbmfDoHkgY8OgbmcgcGjDoXQgdHJp4buDbiwgdMOsbmggdHLhuqFuZyDDtCBuaGnhu4VtIG3DtGkgdHLGsOG7nW5nIHThu6sgZ2lhbyB0aMO0bmcgxJFpIGzhuqFpIGhheSBraGkgdGjhuqNpIGPhu6dhIGPDoWMgbmjDoCBtw6F5IMSRw6MgcGjhuqduIG7DoG8gbMOgbSDhuqNuaCBoxrDhu59uZyDEkeG6v24gc+G7qWMga2jhu49lIGPhu6dhIGNvbiBuZ8aw4budaS4gVGjhu51pIMSR4bqhaSBjw7RuZyBuZ2hp4buHcCBow7NhLCBoaeG7h24gxJHhuqFpIGjDs2Ega2jDtG5nIHRo4buDIG7DoG8gdGhp4bq/dSDEkWkgYuG6o28gaGnhu4NtIHkgdOG6vyDEkeG7gyBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSBj4bunYSBtw6xuaC4gTsOzIG5oxrAgbeG7mXQgcGhhbyBj4bupdSBzaW5oIHRyxrDhu5tjIG5o4buvbmcgYuG7h25oIHThuq10IHbDoCBz4buxIOG6o25oIGjGsOG7n25nIHThu6sgbG8gbOG6r25nIGNoaSBwaMOtIGNo4buvYSBi4buHbmguIELhu59pIHTDrW5oIGPhuqVwIHRoaeG6v3QgY+G7p2EgbsOzLCB0w7RpIGNo4buNbiDEkeG7gSB0w6BpIGNobyBiw6BpIG5naGnDqm4gY+G7qXUgxJHDsyBsw6AgIiBDw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIHZp4buHYyBjaGkgdHLhuqMgY2hpIHBow60gYuG6o28gaGnhu4NtIHkgdOG6vyIuDQoNCiMjIE3hu6VjIHRpw6p1IG5naGnDqm4gY+G7qXUNCiANClBow6JuIHTDrWNoIGPDoWMgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyDEkeG6v24gY2hpIHBow60gYuG6o28gaGnhu4NtIHkgdOG6vyANCiAgDQpZ4bq/dSB04buRIGPhu5F0IGzDtWkg4bqjbmggaMaw4bufbmcgxJHhur9uIGNoaSBwaMOtIGLhuqNvIGhp4buDbSB5IHThur8gDQogIA0KIyMgxJDhu5FpIHTGsOG7o25nIHbDoCBwaOG6oW0gdmkgbmdoacOqbiBj4bupdQ0KDQojIyMgxJDhu5FpIHTGsOG7o25nIG5naGnDqm4gY+G7qXUNCg0KQ8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biBjaGkgcGjDrSBi4bqjbyBoaeG7g20geSB04bq/DQoNCiMjIyBQaOG6oW0gdmkgbmdoacOqbiBj4bupdQ0KDQpLaHUgduG7sWMgbm9ydGhlYXN0LCBzb3V0aGVhc3QsIHNvdXRod2VzdCwgbm9ydGh3ZXN0IGPhu6dhIG7GsOG7m2MgTeG7uQ0KDQojIyBQaMawxqFuZyBwaMOhcCBuZ2hpw6puIGPhu6l1DQoNClPhu60gZOG7pW5nIGPDoWMgbcO0IGjDrG5oIGjhu5NpIHF1eSBj4bunYSBwaMawxqFuZyBwaMOhcCBk4buvIGxp4buHdSDEkeG7i25oIHTDrW5oDQoNCiMjIEvhur90IGPhuqV1IG5naGnDqm4gY+G7qXUNCg0KUEjhuqZOIE3hu54gxJDhuqZVDQoNCkNIxq/GoE5HIDE6IFThu5RORyBRVUFOIEzDnSBUSFVZ4bq+VA0KDQpDSMavxqBORyAyOiBUSEnhur5UIEvhur4gTkdIScOKTiBD4buoVQ0KDQpDSMavxqBORyAzOiBL4bq+VCBMVeG6rE4NCg0KVMOASSBMSeG7hlUgVEhBTSBLSOG6ok8NCg0KIyBDSMavxqBORyAxIFThu5RORyBRVUFOIEzDnSBUSFVZ4bq+VA0KDQojIyBLaMOhaSBuaeG7h20gYuG6o28gaGnhu4NtIHkgdOG6vw0KDQogLSBC4bqjbyBoaeG7g20geSB04bq/IChCSFlUKSBsw6AgY2jDrW5oIHPDoWNoIGFuIHNpbmggeMOjIGjhu5lpIMawdSB2aeG7h3QgY+G7p2EgxJDhuqNuZyB2w6AgTmjDoCBuxrDhu5tjLCBtYW5nIMO9IG5naMSpYSBuaMOibiB2xINuLCBuaMOibiDEkeG6oW8gdsOgIGPDsyB0w61uaCBjaGlhIHPhursgY+G7mW5nIMSR4buTbmcgc8OidSBz4bqvYy4gQkhZVCBkbyBOaMOgIG7GsOG7m2MgdOG7lSBjaOG7qWMgdGjhu7FjIGhp4buHbiBraMO0bmcgdsOsIG3hu6VjIMSRw61jaCBs4bujaSBuaHXhuq1uLCBuaOG6sW0gaHV5IMSR4buZbmcgc+G7sSDEkcOzbmcgZ8OzcCBj4bunYSBj4buZbmcgxJHhu5NuZywgY2hpYSBz4bq7IHLhu6dpIHJvIGLhu4duaCB04bqtdCB2w6AgZ2nhuqNtIGLhu5t0IGfDoW5oIG7hurduZyB0w6BpIGNow61uaCBj4bunYSBt4buXaSBuZ8aw4budaSBkw6JuIGtoaSDhu5FtIMSRYXUsIGLhu4duaCB04bqtdCwgdGFpIG7huqFuLi4udGjhu7FjIGhp4buHbiBjw7RuZyBi4bqxbmcgdsOgIG5ow6JuIMSR4bqhbyB0cm9uZyBsxKluaCB24buxYyBi4bqjbyB24buHIHbDoCBjaMSDbSBzw7NjIHPhu6ljIGto4buPZSBuaMOibiBkw6JuLiBUaOG6uyBCSFlUIHRo4bqtdCBz4buxIGzDoCBwaGFvIGPhu6l1IHNpbmguIE5o4budIHRoYW0gZ2lhIHbDoCBjw7MgdGjhursgQkhZVCwgbmhp4buBdSB0csaw4budbmcgaOG7o3Aga2jDtG5nIG1heSBi4buLIHRhaSBu4bqhbiwg4buRbSDEkWF1IMSRw6Mgdsaw4bujdCBxdWEgxJHGsOG7o2MgZ2lhaSDEkW/huqFuIGtow7Mga2jEg24ga2hpIMSRw7MgcXXhu7kgQkhZVCBjaGkgdHLhuqMgY8OhYyBjaGkgcGjDrSBraMOhbSB2w6AgxJFp4buBdSB0cuG7iyBi4buHbmgsIHRo4bqtbSBjaMOtIGPDsyBuaOG7r25nIG5nxrDhu51pIGLhu4duaCBjw7MgY2hpIHBow60ga2jDoW0gY2jhu69hIGLhu4duaCBLQ0IpIGzDqm4gdOG7m2kgaMOgbmcgdOG7tyDEkeG7k25nL8SR4bujdCDEkWnhu4F1IHRy4buLLg0KDQotIFF1eeG7gW4gbOG7o2kga2hpIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8NCg0KxJDGsOG7o2MgY2jhu41uIG7GoWkgxJHEg25nIGvDvSBraMOhbSBi4buHbmgsIGNo4buvYSBi4buHbmggKEtDQikgYmFuIMSR4bqndSB04bqhaSB0dXnhur9uIHjDoywgaHV54buHbiB2w6AgdGhlbyBoxrDhu5tuZyBk4bqrbiBj4bunYSBjxqEgcXVhbiBCSFhIIChUcuG6oW0gWSB04bq/LCBUcnVuZyB0w6JtIFkgdOG6vyBo4buNYyDEkcaw4budbmcgaG/hurdjIFBow7JuZyBraMOhbSDEkWEga2hvYeKApikuDQogIA0KxJDGsOG7o2MgY2jEg20gc8OzYyBz4bupYyBraOG7j2UgYmFuIMSR4bqndS4NCiAgDQrEkMaw4bujYyBraMOhbSBjaOG7r2EgYuG7h25oLCBzxqEgY+G7qXUsIGPhuqVwIGPhu6l1IGtoaSBi4buLIHRhaSBu4bqhbiwg4buRbSDEkWF1IHThuqFpIG7GoWkgxJHEg25nIGvDvSBLQ0IgYmFuIMSR4bqndSB2w6AgxJHGsOG7o2MgY2h1eeG7g24gbMOqbiBLQ0Ig4bufIGPDoWMgdHV54bq/biBjaHV5w6puIG3DtG4ga+G7uSB0aHXhuq10IGNhbyBoxqFuIGtoaSBi4buHbmggdsaw4bujdCBxdcOhIGto4bqjIG7Eg25nIGPhu6dhIHR1eeG6v24gZMaw4bubaS4gDQoNClRyxrDhu51uZyBo4bujcCBj4bqlcCBj4bupdSwgdGFpIG7huqFuIG5nxrDhu51pIGPDsyB0aOG6uyBCSFlUIMSRxrDhu6NjIGtow6FtLCDEkWnhu4F1IHRy4buLIHThuqFpIGLhuqV0IGvhu7MgY8ahIHPhu58geSB04bq/IG7DoG8gY8OzIGjhu6NwIMSR4buTbmcgS0NCIEJIWVQuDQoNCiMjIFBow6JuIHBo4buRaSBQb2lzb24gLSBQb2lzc29uIERpc3RyaWJ1dGlvbg0KDQpQaMOibiBwaOG7kWkgUG9pc3NvbiBsw6AgbeG7mXQgcGjDom4gcGjhu5FpIHjDoWMgc3XhuqV0IHRyb25nIHRo4buRbmcga8OqIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIG3DtCBow6xuaCBow7NhIHPhu5Egc+G7sSBraeG7h24geOG6o3kgcmEgdHJvbmcgbeG7mXQga2hv4bqjbmcgdGjhu51pIGdpYW4gaG/hurdjIGtow7RuZyBnaWFuIG5o4bqldCDEkeG7i25oIGtoaSB04bu3IGzhu4cgeOG6o3kgcmEgc+G7sSBraeG7h24gbMOgIGtow7RuZyDEkeG7lWkuIFRyb25nIFIsIGPDsyB0aOG7gyBz4butIGThu6VuZyBjw6FjIGjDoG0gdMOtbmggdG/DoW4gdsOgIG3DtCBwaOG7j25nIHBow6JuIHBo4buRaSBQb2lzc29uLiBQaMOibiBwaOG7kWkgUG9pc3NvbiDEkcaw4bujYyBtw7QgdOG6oyBi4bufaSBoYWkgdGhhbSBz4buROg0KICANCiAgzrs6IGzDoCB0cnVuZyBiw6xuaCBz4buRIGzhuqduIHjhuqN5IHJhIGPhu6dhIHPhu7Ega2nhu4duIHRyb25nIG3hu5dpIGtob+G6o25nIHRo4budaSBnaWFuLg0KDQogIGs6IGzDoCBz4buRIGzhuqduIHjhuqN5IHJhIGPhu6dhIHPhu7Ega2nhu4duIHRyb25nIGtob+G6o25nIHRo4budaSBnaWFuLg0KDQogIEJp4bq/biBuZ+G6q3Ugbmhpw6puIFggY8OzIHBow6JuIHBo4buRaSBQb2lzc29uIGzDoCBiaeG6v24gbmfhuqt1IG5oacOqbiBkw7luZyDEkeG7gyBtw7QgdOG6oyBjaG8gc+G7kSBs4bqnbiB44bqjeSByYSBj4bunYSBt4buZdCBz4buxIHZp4buHYy9iaeG6v24gY+G7kSBtw6AgY2jDum5nIHRhIHF1YW4gdMOibSB44bqjeSByYSB0cm9uZyBt4buZdCBraG/huqNuZyB0aOG7nWkgZ2lhbiBob+G6t2Mga2jDtG5nIGdpYW4gY2hvIHRyxrDhu5tjLiBYw6FjIHN14bqldCDEkeG7gyBiaeG6v24gbmfhuqt1IG5oacOqbiBuw6B5IG5o4bqtbiBt4buZdCBnacOhIHRy4buLIGPhu6UgdGjhu4MgxJHGsOG7o2MgdMOtbmggYuG6sW5nIGPDtG5nIHRo4bupYzoNCiAgDQogICQkUChYPWspPVxmcmFje2VeLc67zrtea317ayF9JCQgduG7m2kgaz0wLDEsMiwzLC4uLg0KICANCktoaSDEkcOzIHRhIHZp4bq/dCAkWH5QKM67KSQgxJHhu4MgY2jhu4kgcuG6sW5nIFggbMOgIGJp4bq/biBuZ+G6q3Ugbmhpw6puIGPDsyBwaMOibiBwaOG7kWkgUG9pc3NvbiB24bubaSB0aGFtIHPhu5EgzrsNCg0KIyMgUGjDom4gcGjhu5FpIG5o4buLIHRo4bupYyAtIEJpbm9taWFsIGRpc3RyaWJ1dGlvbg0KDQogLSDEkOG7i25oIG5naMSpYSANCiANClBow6JuIHBo4buRaSBuaOG7iyB0aOG7qWMgbMOgIG3hu5l0IHBow6JuIHBo4buRaSB4w6FjIHN14bqldCBjaG8gc+G7kSBs4bqnbiB44bqjeSByYSBj4bunYSBt4buZdCBz4buxIGtp4buHbiB0aMOgbmggY8O0bmcgdHJvbmcgbeG7mXQgc+G7kSBs4bqnbiB0aOG7rSBj4buRIMSR4buLbmgsIGtoaSBt4buXaSBs4bqnbiB0aOG7rSBsw6AgxJHhu5ljIGzhuq1wIHbDoCB4w6FjIHN14bqldCB0aMOgbmggY8O0bmcgbMOgIG5oxrAgbmhhdSB2w6AgYuG6sW5nIHAgdHJvbmcgbeG7l2kgbOG6p24gdGjhu60uDQogICANCktoaSDEkcOzIHjDoWMgc3XhuqV0IMSR4buDIFggbmjhuq1uIG3hu5l0IGdpw6EgdHLhu4sgY+G7pSB0aOG7gyBsw6AgDQogIA0KICAkJFAoWD1rKT0gQ19uXmtwXmsoMS1wKSBeIChuLWspICQkDQogIA0KUGjDom4gcGjhu5FpIG5o4buLIHRo4bupYyDEkcaw4bujYyBtw7QgdOG6oyBi4bufaSBiYSB0aGFtIHPhu5E6DQoNCm46IGzDoCBz4buRIGzhuqduIHRo4butIGPhu5EgxJHhu4tuaC4NCg0KcDogbMOgIHjDoWMgc3XhuqV0IHRow6BuaCBjw7RuZyB0cm9uZyBt4buXaSBs4bqnbiB0aOG7rS4NCg0KazogbMOgIHPhu5EgbOG6p24gdGjDoG5oIGPDtG5nLg0KDQotIOG7qG5nIGThu6VuZw0KDQpUdW5nIMSR4buTbmcgeHUgMTAgbOG6p24sIHjDoWMgc3XhuqV0IDMgbOG6p24gbeG6t3Qgbmfhu61hDQoNClPhu5EgY3Xhu5ljIGfhu41pIMSRaeG7h24gdGhv4bqhaSDEkeG6v24gdHJvbmcgMzAgbmfDoHkgDQoNClPhu5EgbWFpbCBn4butaSB04buxIMSR4buZbmcgdHJvbmcgNTAgbWFpbCBuaOG6rW4gxJHGsOG7o2MNCg0KIyMgTcO0IGjDrG5oIG5naGnDqm4gY+G7qXUNCg0KIyMjIE3DtCBow6xuaCBo4buTaSBxdXkgTG9naXN0aWMNCg0KQ2hvIG3hu5l0IHThuqduIHPhu5EgYmnhur9uIGPhu5EgeCBnaGkgbmjhuq1uIHThu6sgbiDEkeG7kWkgdMaw4bujbmcsIGNow7puZyB0YSBjw7MgdGjhu4MgdMOtbmggeMOhYyBzdeG6pXQgY+G7p2EgYmnhur9uIGPhu5EgxJHDsyBsw6A6DQogIA0KICAkJHA9XGZyYWN7eH17bn0kJA0KcCBjw7MgdGjhu4MgeGVtIGzDoCBt4buZdCBjaOG7iSBz4buRIMSRbyBsxrDhu51uZyBuZ3V5IGPGoSBj4bunYSBt4buZdCBiaeG6v24gY+G7kS4gTeG7mXQgY8OhY2ggdGjhu4MgaGnhu4duIG5ndXkgY8ahIGtow6FjIGzDoCBvZGRzIChU4bqhbSBk4buLY2ggOiBLaOG6oyBuxINuZykuIEto4bqjIG7Eg25nIGPhu6dhIG3hu5l0IGJp4bq/biBj4buRIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIMSRxqFuIGdp4bqjbiBi4bqxbmcgdOG7iSBz4buRIHjDoWNzdeG6pXQgYmnhur9uIGPhu5EgeOG6o3kgcmEgdHLDqm4geMOhYyBzdeG6pXQgYmnhur9uIGPhu5Ega2jDtG5nIHjhuqN5IHJhOiANCg0KJCRvZGRzPVxmcmFje3B9ezEtcH0kJA0KDQpIw6BtIGxvZ2l0IGPhu6dhIG9kZHMgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgbmjGsCBzYXU6DQoNCiQkbG9naXQocCk9bG9nXGZyYWN7cH17MS1wfSQkDQoNCiMjIyBNw7QgaMOsbmggaOG7k2kgcXV5IFByb2JpdA0KDQpI4buTaSBxdXkgUHJvYml0IGhheSBjw7JuIMSRxrDhu6NjIGfhu41pIGzDoCBtw7QgaMOsbmggUHJvYml0LCDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDGsOG7m2MgbMaw4bujbmcgbcO0IGjDrG5oIGPDsyBiaeG6v24gcGjhu6UgdGh14buZYyBk4bqhbmcgbmjhu4sgcGjDom4uIFRyb25nIGjhu5NpIHF1eSBQcm9iaXQsIHhlbSBow6BtIHjDoWMgc3XhuqV0ICRccGkoeCkkIGhv4bq3YyAkIDEtXHBpKHgpJCBsw6AgaMOgbSBwaMOibiBwaOG7kWkgeMOhYyBzdeG6pXQgY+G7p2EgbeG7mXQgYmnhur9uIG5n4bqrdSBuaGnDqm4gWCBjw7MgcGjDom4gcGjhu5FpIGNodeG6qW4gdOG7qWMgbMOgIHjDoWMgc3XhuqV0IHRow6BuaCBjw7RuZyBjw7MgZOG6oW5nDQoNCiQkXHBpKHgpPVxwaGkoXGFscGhhK1xiZXRhKHgpKSQkDQoNClRyb25nIMSRw7MgOiAkJFxwaGkoeCk9KFxmcmFjMXtcc3FydDJccGhpfVxpbnRfXGluZnR5XnggXG1hdGhybXtlfV57LTEvMn1cLHReMiQkDQoNCkvDrSBoaeG7h3U6DQoNCiQkUHJvYml0KFxwaSh4KSk9XHBoaV4tMShccGkoeCkpJCQNCg0KTcO0IGjDrG5oIFByb2JpdCDEkcaw4bujYyB2aeG6v3QgZMaw4bubaSBk4bqhbmcNCg0KJCRQcm9iaXQoXHBpKHgpKT1cYWxwaGEgKyBiZXRheCQkDQoNCiMjIEPDoWMgdGnDqnUgY2jDrSDEkcOhbmggZ2nDoSBtw7QgaMOsbmgNCg0KIyMjIENo4buJIHPhu5EgQUlDIChBa2Fpa2UgSW5mb3JtYXRpb24gQ3JpdGVyaWFuKQ0KDQpBSUMgxJHGsOG7o2MgxJHhu4EgeHXhuqV0IGLhu59pIEFrYWlrZSBIaXJvdHVndSwgbeG7mXQgbmjDoCB0aOG7kW5nIGvDqiBo4buNYyBuZ8aw4budaSBOaOG6rXQuIEFJQyBsw6AgbeG7mXQgdGnDqnUgY2jDrSDEkcaw4bujYyBz4butIGThu6VuZyBt4buZdCBjw6FjaCBwaOG7lSBiaeG6v24gxJHhu4MgxJHDoW5oIGdpw6EgbeG7mXQgbcO0IGjDrG5oIGjhu5NpIHF1eSDEkcaw4bujYyDGsOG7m2MgbMaw4bujbmcgYuG7n2kgcGjGsMahbmcgcGjDoXAgTWF4aW11bSBMaWtla2lob29kIChNTCkuIE3hu5l0IGPDoWNoIGNodW5nIGNodW5nIGdpw6EgdHLhu4sgY+G7p2EgQUlDIGPDoG5nIG5o4buPIHRow6wgbcO0IGjDrG5oIGPDoG5nIHThu5F0LiBBSUMgxJHGsOG7o2MgdMOtbmggYuG6sW5nIGPDtG5nIHRo4bupYyBzYXU6DQoNCiQkQUlDPSAtMmxuKEwpICsgMmskJA0KDQpW4bubaSBMIGzDoCBnacOhIHRy4buLIGPhu7FjIMSR4bqhaSBj4bunYSBow6BtIGjhu6NwIGzDvSAobGlrZWxpaG9vZCBmdW5jdGlvbikgDQogDQogICBrIGzDoCBz4buRIHRoYW0gc+G7kSBj4bunYSBtw7QgaMOsbmguDQogICANCiMjIyBEZXZpYW5jZQ0KDQpEZXZpYW5jZSBjxaluZyBsw6AgbeG7mXQgdGnDqnUgY2jDrSBy4bqldCBwaOG7lSBiaeG6v24gxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4MgxJHDoW5oIGdpw6EgbeG7mXQgbcO0IGjDrG5oIGjhu5NpIHF1eSDEkcaw4bujYyDGsOG7m2MgbMaw4bujbmcgYuG7n2kgcGjGsMahbmcgcGjDoXAgSOG7o3AgbMO9IGPhu7FjIMSR4bqhaSAoTUwpLiBN4buZdCBjw6FjaCB04buVbmcgcXXDoSwgY8WpbmcgZ2nhu5FuZyBuaMawIGNo4buJIHRpw6p1IEFJQywgZ2nDoSB0cuG7iyBj4bunYSBEZXZpYW5jZSBjw6BuZyBuaOG7jyB0aMOsIG3DtCBow6xuaCBjw6BuZyB04buRdC4NCg0KIyMjIENo4buJIHPhu5EgQnJpZXINCg0KTMOgIGNo4buJIHRpw6p1IGTDuW5nIMSR4buDIMSRw6FuaCBnacOhIG3DtCBow6xuaCBo4buTaSBxdXkgbG9naXN0aWMsIEJyaWVyIFNjb3JlIMSRxrDhu6NjIHTDrW5oIG5oxrAgc2F1Og0KDQokJEI9XGZyYWN7MX17bn1cc3VtX3t0PTF9XntufShZX3t0fS1ccGlfdCleezJ9JCQNCg0KVHJvbmcgxJHDsyAkXHBpX3QkIGzDoCBnacOhIHRy4buLIMaw4bubYyBsxrDhu6NuZyBj4bunYSAkXHBpKHhfe2l9KT1FKFl8WD14X3tpfSkkDQoNCkNo4buJIHPhu5EgQnJpZXIgdGjhu7FjIGNo4bqldCBsw6AgdHJ1bmcgYuG7iW5oIGPhu6dhIHThu5VuZyBiw6xuaCBwaMawxqFuZyBjw6FjIMSR4buZIGzhu4djaCBnaeG7r2EgZ2nDoSB0cuG7iyBj4bunYSBiaeG6v24gcGjhu6UgdGh14buZYyBZIHbDoCBnacOhIHRy4buLIMaw4bubYyBsxrDhu6NuZyBj4bunYSBuw7MuIFbDrCB24bqteSBjaOG7iSBz4buRIEIgY8OgbmcgYsOpIHRow6wgbcO0IGjDrG5oIGNobyDGsOG7m2MgbMaw4bujbmcgY8OgbmcgY2jDrW5oIHjDoWMsIHThu6ljIGzDoCBjw6BuZyBwaMO5IGjhu6NwIHbhu5tpIGThu68gbGnhu4d1IHF1YW4gc8OhdC4NCg0KIyMgQuG6o25nIHThuqduIHPhu5EgLSBC4bqjbmcgdOG6p24gc3XhuqV0IA0KDQotIELhuqNuZyB04bqnbiBz4buRIGhheSBjw7JuIGfhu41pIGzDoCBi4bqjbmcgdOG6p24gc3XhuqV0IGzDoCBt4buZdCBjw6FjaCB0aOG7kW5nIGvDqiBz4buRIGzhuqduIHh14bqldCBoaeG7h24gY+G7p2EgY8OhYyBnacOhIHRy4buLIGtow6FjIG5oYXUgdHJvbmcgbeG7mXQgdOG6rXAgZOG7ryBsaeG7h3UuIELhuqNuZyBuw6B5IGdpw7pwIHRhIGPDsyBjw6FpIG5ow6xuIHThu5VuZyBxdWFuIHbhu4Egc+G7sSBwaMOibiBi4buRIGPhu6dhIGThu68gbGnhu4d1IHbDoCB0aeG7h24gbOG7o2kgY2hvIHZp4buHYyB0w61uaCB0b8OhbiBzYXUgbsOgeS4NCiAgDQotIELhuqNuZyB04bqnbiBz4buRIGPDsyB0aOG7gyDEkcaw4bujYyBs4bqtcCB0aGVvIGThuqFuZyBuZ2FuZyBob+G6t2MgZOG7jWMsIHbDoCBjw7MgdGjhu4MgYmFvIGfhu5NtIGPDoWMgdGjDtG5nIHRpbiBuaMawIHThuqduIHPhu5EgdHV54buHdCDEkeG7kWksIHThuqduIHPhu5EgdMawxqFuZyDEkeG7kWksIHThuqduIHPhu5EgdMOtY2ggbMWpeSwgcGjhuqduIHRyxINtLC4uLg0KDQotIELhuqNuZyB04bqnbiBz4buRIGPDsyBuaGnhu4F1IGPDtG5nIGThu6VuZyB0cm9uZyB0aOG7kW5nIGvDqiBtw7QgdOG6oyB2w6AgcGjDom4gdMOtY2ggZOG7ryBsaeG7h3UuIELhuqNuZyB04bqnbiBz4buRIGdpw7pwIG5nxrDhu51pIMSRaeG7gXUgdHJhIGThu4UgY8OzIG5o4buvbmcgbmjhuq1uIHjDqXQgY2h1bmcgduG7gSBz4buxIHBow6JuIHBo4buRaSBj4bunYSBjw6FjIGdpw6EgdHLhu4sgY+G7p2EgZOG6pXUgaGnhu4d1LCBuaMawIGdpw6EgdHLhu4sgbOG7m24gbmjhuqV0LCBnacOhIHRy4buLIG5o4buPIG5o4bqldCwgZ2nDoSB0cuG7iyBjw7MgdOG6p24gc+G7kSBjYW8gbmjhuqV0LiBC4bqjbmcgdOG6p24gc+G7kSBjxaluZyB0aeG7h24gbOG7o2kgY2hvIHZp4buHYyB0w61uaCB0b8OhbiBjw6FjIGNo4buJIHPhu5EgdGjhu5FuZyBrw6oga2jDoWMsIG5oxrAgdHJ1bmcgYsOsbmgsIMSR4buZIGzhu4djaCBjaHXhuqluLHBoxrDGoW5nIHNhaS4gQuG6o25nIHThuqduIHPhu5EgY8WpbmcgbMOgIGPGoSBz4bufIMSR4buDIHbhur0gY8OhYyBiaeG7g3UgxJHhu5MgdGjhu5FuZyBrw6osIG5oxrAgYmnhu4N1IMSR4buTIGPhu5l0LCBiaeG7g3UgxJHhu5MgaMOsbmggcXXhuqF0LCBiaeG7g3UgxJHhu5MgaMOsbmggYsOhbmgsLi4uDQoNCiMjIMSQ4buZIG5o4bqheSAmIMSR4buZIMSR4bq3YyBoaeG7h3UNCg0KxJDhu5kgbmjhuqF5IHbDoCDEkeG7mSDEkeG6t2MgaGnhu4d1IGzDoCBoYWkgY2jhu4kgc+G7kSDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDEkcOhbmggZ2nDoSBoaeG7h3Ugc3XhuqV0IGPhu6dhIG3hu5l0IHjDqXQgbmdoaeG7h20geSB04bq/LiDEkOG7mSBuaOG6oXkgbMOgIGto4bqjIG7Eg25nIGPhu6dhIHjDqXQgbmdoaeG7h20gcGjDoXQgaGnhu4duIG5o4buvbmcgbmfGsOG7nWkgdGjhu7FjIHPhu7EgbeG6r2MgYuG7h25oLCB0cm9uZyBraGkgxJHhu5kgxJHhurdjIGhp4buHdSBsw6Aga2jhuqMgbsSDbmcgY+G7p2EgeMOpdCBuZ2hp4buHbSBsb+G6oWkgdHLhu6sgbmjhu69uZyBuZ8aw4budaSBraMO0bmcgbeG6r2MgYuG7h25oLg0KDQrEkOG7mSBuaOG6oXkgKHNlbnNpdGl2aXR5KSBj4bunYSBt4buZdCB0aMOtIG5naGnhu4dtOiBMw6AgdOG7tyBs4buHICglKSBj4bunYSBz4buRIGNhIGLhu4sgYuG7h25oIHRo4buxYyBz4buxIGtoaSB4w6l0IG5naGnhu4dtIHbDoCBjaG8ga+G6v3QgcXXhuqMgZMawxqFuZyB0w61uaCB24bubaSB04buVbmcgc+G7kSBjYSBi4buLIGLhu4duaC4gQ8O0bmcgdGjhu6ljIMSR4buDIHTDrW5oIMSR4buZIG5o4bqheToNCg0KxJDhu5kgbmjhuqF5ID0gc+G7kSBkxrDGoW5nIHTDrW5oIHRo4bqtdC8oc+G7kSDEkcawxqFuZyB0w61uaCB0aOG6rXQgKyBz4buRIMOibSB0w61uaCBnaeG6oykNCg0KxJDhu5kgxJHhurdjIGhp4buHdSAoc3BlY2lmaWNpdHkpIGPhu6dhIG3hu5l0IHRow60gbmdoaeG7h206IEzDoCB04bu3IGzhu4cgKCUpIGPhu6dhIHPhu5EgY2Ega2jDtG5nIGLhu4sgYuG7h25oIHbDoCBr4bq/dCBxdeG6oyB4w6l0IG5naGnhu4dtIGtow7RuZyBi4buLIGLhu4duaCB24bubaSB04buVbmcgc+G7kSBuZ8aw4budaSBraMO0bmcgYuG7iyBi4buHbmguIEPDtG5nIHRo4bupYyB0w61uaCDEkeG7mSDEkeG6t2MgaGnhu4d1Og0KDQrEkOG7mSDEkeG6t2MgaGnhu4d1ID0gU+G7kSB0csaw4budbmcgaOG7o3Agw6JtIHTDrW5oIHRo4bqtdC8gKHPhu5EgdHLGsOG7nW5nIGjhu6NwIMOibSB0w61uaCB0aOG6rXQgKyBz4buRIHRyxrDhu51uZyBo4bujcCBkxrDGoW5nIHTDrW5oIGdp4bqjKQ0KDQrEkOG7mSBuaOG6oXkgdsOgIMSR4buZIMSR4bq3YyBoaeG7h3UgbMOgIGhhaSBjaOG7iSBz4buRIHF1YW4gdHLhu41uZyDEkeG7gyDEkcOhbmggZ2nDoSBoaeG7h3Ugc3XhuqV0IGPhu6dhIG3hu5l0IHjDqXQgbmdoaeG7h20geSB04bq/LiBUdXkgbmhpw6puLCBj4bqnbiBsxrB1IMO9IHLhurFuZyDEkeG7mSBuaOG6oXkgdsOgIMSR4buZIMSR4bq3YyBoaeG7h3UgY8OzIHRo4buDIHRoYXkgxJHhu5VpIHTDuXkgdGh14buZYyB2w6BvIHThu6tuZyB4w6l0IG5naGnhu4dtLiBOZ2/DoGkgcmEsIMSR4buZIG5o4bqheSB2w6AgxJHhu5kgxJHhurdjIGhp4buHdSBraMO0bmcgcGjhuqNpIGzDumMgbsOgbyBjxaluZyBsw6Agbmjhu69uZyBjaOG7iSBz4buRIHF1YW4gdHLhu41uZyBuaOG6pXQgxJHhu4MgxJHDoW5oIGdpw6EgaGnhu4d1IHN14bqldCBj4bunYSBt4buZdCB4w6l0IG5naGnhu4dtLiBUcm9uZyBt4buZdCBz4buRIHRyxrDhu51uZyBo4bujcCwgY8OhYyB54bq/dSB04buRIGtow6FjLCBjaOG6s25nIGjhuqFuIG5oxrAgZ2nDoSB0cuG7iyB0acOqbiDEkW/DoW4gw6JtIHTDrW5oIChOUFYpIHbDoCBnacOhIHRy4buLIHRpw6puIMSRb8OhbiBkxrDGoW5nIHTDrW5oIChQUFYpLCBjw7MgdGjhu4MgcXVhbiB0cuG7jW5nIGjGoW4uDQoNCiMjIFLhu6dpIHJvIHTGsMahbmcgxJHhu5FpIChyZWxhdGl2ZSByaXNrKQ0KDQpT4buxIGtow6FjIGJp4buHdCBnaeG7r2EgaGFpIHThu7cgbOG7hyAkXHBpX3sxfSQgdsOgICRccGlfezJ9JCDEkcaw4bujYyDEkcOhbmggZ2nDoSBxdWEgc2FpIHPhu5EgdHV54buHdCDEkeG7kWkgJChccGlfezF9LVxwaV97Mn0pJCBjaOG7iSBk4buxYSB2w6BvIGtob+G6o25nIGPDoWNoIGdp4buvYSBoYWkgdOG7tyBs4buHIG7DoHkgbcOgIGLhu48gcXVhIMSR4buZIGzhu5tuIHbDoCDDvSBuZ2jEqWEgY+G7p2EgY2jDum5nLCBuZ2jEqWEgbMOgIGtob+G6o25nIGPDoWNoIG5oxrAgbmhhdSB0aMOsIMSRw6FuaCBnacOhIHNhaSBs4buHY2ggbmjGsCBuaGF1LiBDaOG6s25nIGjhuqFuIGtoaSAkXHBpX3sxfSA9IDAuMDEkIHbDoCAkXHBpX3syfSA9IDAuMDAxJCB2w6Aga2hpICRccGlfezF9ID0wLjQxMCQgdsOgICRccGlfezJ9PTAuNDAxJCDEkeG7gXUgxJHGsOG7o2MgxJHDoW5oIGdpw6EgbMOgIGPDsyBzYWkgbOG7h2NoIG5oxrAgbmhhdSBjw7luZyBt4bupYyBzYWkgbOG7h2NoIDAuMDA5KS4gVHV5IG5oacOqbiBu4bq/dSBjaOG7iSBk4buxYSB2w6BvIGtob+G6o25nIGPDoWNoIG7DoHkgxJHhu4MgxJHDoW5oIGdpw6EsIHNvIHPDoW5oIGhhaSB0xrDGoW5nIHF1YW4gZ2nhu69hIGhhaSB04bu3IGzhu4cgdGjDrCBraMO0bmcgxJHhu6csIHRo4bqtbSBjaMOtIHPhur0gYuG7jyBxdWEgbmjhu69uZyDDvSBuZ2jEqWEgcXVhbiB0cuG7jW5nIGPhu6dhIHPhu7EgdMawxqFuZyBxdWFuIGdp4buvYSBjaMO6bmcsIMSR4bq3YyBiaeG7h3QgbMOgIGtoaSBoYWkgdOG7tyBs4buHIG7DoHkgY8O5bmcgZ+G6p24gMCBob+G6t2MgY8O5bmcgZ+G6p24gMSBob+G6t2MgY8O5bmcgZ+G6p24gMC41Lg0KDQojIyBU4bu3IGzhu4cgY2jDqm5oIChPZGQgUmF0aW8pDQoNClThu7cgbOG7hyBjaMOqbmggbMOgIG3hu5l0IGNo4buJIHPhu5EgxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4MgxJFvIGPGsOG7nW5nIMSR4buZIGPhu6dhIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgaGFpIGJp4bq/biBwaMOibiBsb+G6oWkuIE9SIMSRxrDhu6NjIHTDrW5oIGLhurFuZyBjw6FjaCBjaGlhIHThu7cgbOG7hyBjaMOqbmggZMawxqFuZyBjaG8gdOG7tyBs4buHIGNow6puaCDDom0uDQoNCk9SIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyB0cm9uZyBjw6FjIG5naGnDqm4gY+G7qXUgcXVhbiBzw6F0LCB0cm9uZyDEkcOzIGPDoWMgbmjDoCBuZ2hpw6puIGPhu6l1IHF1YW4gc8OhdCBjw6FjIGJp4bq/biBz4buRIG3DoCBraMO0bmcgY+G7kSBn4bqvbmcga2nhu4NtIHNvw6F0IGNow7puZy4gT1Iga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgxrDhu5tjIGzGsOG7o25nIGNow61uaCB4w6FjIGPhu6dhIG5ndXkgY8ahIHR1eeG7h3QgxJHhu5FpLCBuaMawbmcgbsOzIGPDsyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDEkcOhbmggZ2nDoSBuZ3V5IGPGoSB0xrDGoW5nIMSR4buRaSBj4bunYSBjw6FjIGvhur90IHF14bqjIGtow6FjIG5oYXUuDQpPUiDEkcaw4bujYyBiaeG7g3UgdGjhu4sgZMaw4bubaSBk4bqhbmcgc+G7kS4gTuG6v3UgT1IgbOG7m24gaMahbiAxLCDEkWnhu4F1IMSRw7MgY8OzIG5naMSpYSBsw6AgYmnhur9uIHBow6JuIGxv4bqhaSDEkeG6p3UgdGnDqm4gY8OzIGxpw6puIHF1YW4gxJHhur9uIGvhur90IHF14bqjLiBO4bq/dSBPUiBi4bqxbmcgMSwgxJFp4buBdSDEkcOzIGPDsyBuZ2jEqWEgbMOgIGJp4bq/biBwaMOibiBsb+G6oWkgxJHhuqd1IHRpw6puIGtow7RuZyBsacOqbiBxdWFuIMSR4bq/biBr4bq/dCBxdeG6oy4gTuG6v3UgT1Igbmjhu48gaMahbiAxLCDEkWnhu4F1IMSRw7MgY8OzIG5naMSpYSBsw6AgYmnhur9uIHBow6JuIGxv4bqhaSDEkeG6p3UgdGnDqm4ga2jDtG5nIGxpw6puIHF1YW4gxJHhur9uIGvhur90IHF14bqjLg0KTuG6v3UgZ+G7jWkgeMOhYyBzdeG6pXQg4oCcdGjDoG5oIGPDtG5n4oCdIGPhu6dhIGJp4buDdSBoaeG7h24gdGjhu6kgaSBj4bunYSBiaeG6v24gxJHhu5ljIGzhuq1wIGzDoCAkXHBpX2kkIHRow6wgY2jDum5nIHRhIGvDrSBoaeG7h3UgVOG7tyBs4buHIGPGsOG7o2MgKG9kZCkgY+G7p2EgYmnhu4N1IGhp4buHbiBuw6B5IGzDoCAkb2RkX2kkIHbDoCDEkcaw4bujYyDEkeG7i25oIG5naMSpYSBuaMawIHNhdToNCg0KJCRvZGRfaT1cZnJhY3tccGlfaX17MS1ccGlfaX0kJA0KDQpOZ2jEqWEgbMOgIGNow7puZyB0YSB0w61uaCB04bu3IGzhu4cgdGjDoG5oIGPDtG5nIHRoZW8gdOG7q25nIGjDoG5nIHRyb25nIGLhuqNuZyBuZ+G6q3Ugbmhpw6puLlThu7cgbOG7hyBjaMOqbmggY+G7p2EgYmnhu4N1IGhp4buHbiB0aOG7qSBpIHbDoCBiaeG7g3UgaGnhu4duIHRo4bupIGogxJHGsOG7o2Mga8OtIGhp4buHdSBsw6AgJFx0aGV0YV9paiQgDQoNCnbDoCDEkcaw4bujYyDEkeG7i25oIG5naMSpYSANCg0KJCRcdGhldGFfaWo9XGZyYWN7XGZyYWN7XHBpX2l9ezEtXHBpX2l9fXtcZnJhY3tccGlfaX17MS1ccGlfaX19JCQNCg0KT1IgbMOgIG3hu5l0IGNo4buJIHPhu5EgcXVhbiB0cuG7jW5nIMSR4buDIMSRw6FuaCBnacOhIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgaGFpIGJp4bq/biBwaMOibiBsb+G6oWkuIFR1eSBuaGnDqm4sIGPhuqduIGzGsHUgw70gcuG6sW5nIE9SIGtow7RuZyBwaOG6o2kgbMO6YyBuw6BvIGPFqW5nIGzDoCBjaOG7iSBz4buRIGR1eSBuaOG6pXQgY+G6p24geGVtIHjDqXQuIFRyb25nIG3hu5l0IHPhu5EgdHLGsOG7nW5nIGjhu6NwLCBjw6FjIGNo4buJIHPhu5Ega2jDoWMsIGNo4bqzbmcgaOG6oW4gbmjGsCBuZ3V5IGPGoSB0dXnhu4d0IMSR4buRaSwgY8OzIHRo4buDIHF1YW4gdHLhu41uZyBoxqFuLg0KDQojIENIxq/GoE5HIDIgVEhJ4bq+VCBL4bq+IE5HSEnDik4gQ+G7qFUNCg0KIyMgROG7ryBsaeG7h3UgbmdoacOqbiBj4bupdQ0KDQpE4buvIGxp4buHdSDEkcaw4bujYyBs4bqleSB04burIHdlYnNpdGU6IGthZ2dsZS5jb20sIGLhu5kgc+G7kSBsaeG7h3UgbGnDqm4gcXVhbiDEkeG6v24gdmnhu4djIGNoaSB0cuG6oyBi4bqjbyBoaeG7g20geSB04bq/IGNobyBjb24gbmfGsOG7nWkg4bufIGLhu5FuIGtodSB24buxYyBuaMawIHNhdSBub3J0aGVhc3QsIHNvdXRoZWFzdCwgc291dGh3ZXN0LCBub3J0aHdlc3QgY8OzIHThu5VuZyBz4buRIHF1YW4gc8OhdCBsw6AgMjc3MiBn4buTbSBi4bqjeSBj4buZdDogQWdlLCBTZXgsIEJNSSwgQ2hpbGRyZW4sIFNtb2tlciwgUmVnaW9uIHbDoCBDaGFyZ2VzLg0KDQojIyMgQuG7mSBk4buvIGxp4buHdQ0KDQpgYGB7cn0NCmxpYnJhcnkocmVhZHhsKQ0KUFTEkFQgPC0gcmVhZF9leGNlbCgiRDovUFTEkFQueGxzeCIpDQpWaWV3KFBUxJBUKQ0KYGBgDQoNCiMjIyBC4buZIGThu68gbGnhu4d1IHNhdSBraGkgbcOjIGjDs2ENCg0KTcOjIGjDs2EgYmnhur9uIMSR4buLbmggbMaw4bujbmcgY2hhcmdlcyB0aMOgbmggYmnhur9uIMSR4buLbmggdMOtbmguIE7hur91IGdpw6EgdHLhu4sgY2hpIHBow60geSB04bq/IG5o4buPIGjGoW4gaG/hurdjIGLhurFuZyAxNTAwMCB0YSBxdXkgxrDhu5tjIGzDoCAwLiBO4bq/dSBnacOhIHRy4buLIGNoaSBwaMOtIHkgdOG6vyBs4bubbiBoxqFuIDE1MDAwIHRhIHF1eSDGsOG7m2MgbMOgIDEuIA0KDQoNCmBgYHtyfQ0KUFTEkFRtYWhvYTwtc3Vic2V0KFBUxJBULCBjaGFyZ2VzIDwgNzAwMDApDQpkaW0oUFTEkFRtYWhvYSkNCmBgYA0KYGBge3J9DQpQVMSQVG1haG9hJGNoYXJnZXNbUFTEkFRtYWhvYSRjaGFyZ2VzIDw9MTUwMDBdPC0wDQpQVMSQVG1haG9hJGNoYXJnZXNbUFTEkFRtYWhvYSRjaGFyZ2VzID4xNTAwMF08LTENCmhlYWQoUFTEkFRtYWhvYSkNClZpZXcoUFTEkFRtYWhvYSkNCmBgYA0KDQojIyMgTcO0IHThuqMgZOG7ryBsaeG7h3UgDQoNCkLhu5kgZOG7ryBsaeG7h3UgZ+G7k20gMjc3MiBxdWFuIHPDoXQgduG7m2kgNyBiaeG6v24gdHJvbmcgxJHDsyBjw7MgMyBiaeG6v24gxJHhu4tuaCB0w61uaCB2w6AgNCBiaeG6v24gxJHhu4tuaCBsxrDhu6NuZw0KDQotIGFnZTogVHXhu5VpIGPhu6dhIG5nxrDhu51pIHRo4bulIGjGsOG7n25nIA0KDQotIHNleDogR2nhu5tpIHTDrW5oIGPhu6dhIG5nxrDhu51pIHRoYW0gZ2lhIChNYWxlLyBGZW1hbGUpDQogDQotIGJtaTogQ2jhu4kgc+G7kSBraOG7kWkgY8ahIHRo4buDIChCTUkgLSBCb2R5IG1hc3MgaW5kZXgpIGzDoCBt4buZdCBwaMOpcCB0w61uaCBk4buxYSB0csOqbiBjaGnhu4F1IGNhbyB2w6AgY8OibiBu4bq3bmcsIGdpw7pwIHjDoWMgxJHhu4tuaCB4ZW0gbeG7mXQgbmfGsOG7nWkgY8OzIGPDom4gbuG6t25nIGNodeG6qW4sIG5o4bq5IGPDom4sIHRo4burYSBjw6JuIGhheSBiw6lvIHBow6wuIEJNSSBraMO0bmcgxJFvIHRy4buxYyB0aeG6v3AgbMaw4bujbmcgY2jhuqV0IGLDqW8gdHJvbmcgY8ahIHRo4buDLCBuaMawbmcgQk1JIGPDsyB0aOG7gyDEkcOhbmggZ2nDoSB0xrDGoW5nIMSR4buRaSB24buBIGzGsOG7o25nIGNo4bqldCBiw6lvIHRyb25nIGPGoSB0aOG7gy4gSMahbiBu4buvYSwgQk1JIGPDsm4gY8OzIGxpw6puIHF1YW4gxJHhur9uIG5ndXkgY8ahIG3huq9jIGLhu4duaCBjaHV54buDbiBow7NhIGhv4bq3YyBuaGnhu4F1IGLhu4duaCBsw70ga2jDoWMgbmhhdSBkbyB0w6xuaCB0cuG6oW5nIG5o4bq5IGPDom4gaG/hurdjIGLDqW8gcGjDrC4gQk1JIG5nxrDhu51pIGLDrG5oIHRoxrDhu51uZyBkYW8gxJHhu5luZyBraG/huqNuZyAxOC41LTI0LjkNCg0KLSBjaGlsZHJlbjogU+G7kSBjb24gdGhhbSBnaWEgYuG6o28gaGnhu4NtLyBOZ8aw4budaSBwaOG7pSB0aHXhu5ljDQoNCi0gc21va2VyOiBIw7p0IHRodeG7kWMgKCBZZXMvTm8pDQoNCi0gcmVnaW9uOiBLaHUgduG7sWMgY8awIHRyw7ogY+G7p2EgbmfGsOG7nWkgdGjhu6UgaMaw4bufbmcg4bufIE3hu7ksIMSRw7RuZyBi4bqvYywgxJHDtG5nIG5hbSwgdMOieSBuYW0sIHTDonkgYuG6r2MuDQoNCi0gY2hhcmdlczogQ2hpIHBow60geSB04bq/IGPDoSBuaMOibiBkbyBi4bqjbyBoaeG7g20geSB04bq/IHRoYW5oIHRvw6FuDQoNCiMjIFjDoWMgxJHhu4tuaCBiaeG6v24gcGjhu6UgdGh14buZYw0KDQogIFbhu5tpIG3hu6VjIMSRw61jaCBwaMOibiB0w61jaCBjw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIGNoaSBwaMOtIGLhuqNvIGhp4buDbSB5IHThur8sIHPhu60gZOG7pW5nIGPDoWMgYmnhur9uIMSR4buLbmggbMaw4bujbmcgdsOgIMSR4buLbmggdMOtbmggbmjGsCBzYXUgOiANCg0KIyMjIEJp4bq/biDEkeG7i25oIGzGsOG7o25nDQoNCiAgQ2jhu41uIGJp4bq/biBBZ2UsIEJNSSwgQ2hpbGRyZW4gbMOgbSBiaeG6v24gxJHhu4tuaCBsxrDhu6NuZyDEkeG7gyBuZ2hpw6puIGPhu6l1IHLhurFuZyBjw7MgcGjhuqNpIGPDoWMgYmnhur9uIOG6o25oIGjGsOG7n25nIHRy4buxYyB0aeG6v3AgDQogIA0KxJHhur9uIGNoaSBwaMOtIHkgdOG6vyBoYXkga2jDtG5nPw0KDQojIyMgQmnhur9uIMSR4buLbmggdMOtbmggDQoNCiAgQ2jhu41uIGJp4bq/biBDaGFyZ2VzIGzDoG0gYmnhur9uIMSR4buLbmggdMOtbmggcGjhu6UgdGh14buZYyDEkeG7gyBuZ2hpw6puIGPhu6l1IHhlbSBjaGkgcGjDrSBi4bqjbyBoaeG7g20gYuG7iyDhuqNuaCBoxrDhu59uZyBuaMawIHRo4bq/IG7DoG8/DQoNCiMgVGjhu5FuZyBrw6ogbcO0IHThuqMgdsOgIHRo4buRbmcga8OqIHN1eSBkaeG7hW4NCg0KYGBge3J9DQpzdW1tYXJ5KFBUxJBUbWFob2EpDQpgYGANCiMjIFRo4buRbmcga8OqIG3DtCB04bqjIG3hu5l0IGJp4bq/biDEkeG7mWMgbOG6rXANCg0KIyMjIEJp4bq/biBDaGlsZHJlbg0KDQotIELhuqNuZyB04bqnbiBz4buRDQoNCmBgYHtyfQ0KdGFibGUoUFTEkFRtYWhvYSRjaGlsZHJlbikNCmBgYA0KIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCBnaWEgxJHDrG5oIGtow7RuZyBjw7MgY29uIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSBsw6AgMTE3OCBuZ8aw4budaSwgZ2lhIMSRw6xuaCBjw7MgbeG7mXQgY29uIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8gbMOgIDY2OCBuZ8aw4budaSwgZ2lhIMSRw6xuaCBjw7MgaGFpIGNvbiB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGzDoCA0OTYgbmfGsOG7nWksIGdpYSDEkcOsbmggY8OzIGJhIGNvbiB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGzDoCAzMjIgbmfGsOG7nWksIGdpYSDEkcOsbmggY8OzIGLhu5FuIGNvbiB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGzDoCA1MiBuZ8aw4budaSwgZ2lhIMSRw6xuaCBjw7MgbsSDbSBjb24gdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyBsw6AgNDIgbmfGsOG7nWkuDQoNCi0gQuG6o25nIHThuqduIHN14bqldCANCg0KYGBge3J9DQp0YWJsZShQVMSQVG1haG9hJGNoaWxkcmVuKS9zdW0odGFibGUoUFTEkFRtYWhvYSRjaGlsZHJlbikpDQpgYGANCiANCiBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCBnaWEgxJHDrG5oIGPDsyBjb24ga2jDtG5nIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSBjaGnhur9tIGfhuqduIGLhurFuZyA0Mi43MSUsIGdpYSDEkcOsbmggY8OzIG3hu5l0IGNvbiB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGNoaeG6v20gZ+G6p24gYuG6sW5nIDI0LjIyJSwgZ2lhIMSRw6xuaCBjw7MgaGFpIGNvbiB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGNoaeG6v20gMTcuOTglLCBnaWEgxJHDrG5oIGPDsyBiYSBjb24gdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyBjaGnhur9tIGfhuqduIGLhurFuZyAxMS42OCUsIGdpYSDEkcOsbmggY8OzIGLhu5FuIGNvbiB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGNoaeG6v20gZ+G6p24gYuG6sW5nIDEuODglICwgZ2lhIMSRw6xuaCBjw7MgbsSDbSBjb24gdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyBjaGnhur9tIGfhuqduIGLhurFuZyAxLjUyJS4NCg0KLSDEkOG7kyB0aOG7iw0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNClBUxJBUbWFob2EgfD4gZ2dwbG90KCBhZXMoIHggPSBjaGlsZHJlbiwgeT0gYWZ0ZXJfc3RhdChjb3VudCkpKSArIGdlb21fYmFyKGZpbGw9J2xpZ2h0cGluaycpICsgZ2VvbV90ZXh0KGFlcyhsYWJlbD0gc2NhbGVzIDo6IHBlcmNlbnQoYWZ0ZXJfc3RhdChjb3VudC9zdW0oY291bnQpKSxhY2N1cmFjeT0uMDEpKSwgc3RhdCA9ICdjb3VudCcsIGNvbG9yPSAnYmxhY2snLCB2anVzdD0gLS41KSArIHRoZW1lX2NsYXNzaWMoKSArIHhsYWIoJ1Phu5EgY29uJykgKyB5bGFiKCdU4bu3IGzhu4cnKQ0KYGBgDQoNCiMjIyBCaeG6v24gQWdlDQoNCi0gQuG6o25nIHThuqduIHPhu5ENCg0KYGBge3J9DQp0YWJsZShQVMSQVG1haG9hJGFnZSkNCmBgYA0KICAgIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCDEkeG7mSB0deG7lWkgdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyB04burIDE4IMSR4bq/biA2NCB0deG7lWksIOG7nyDEkeG7mSB0deG7lWkgMTggdHXhu5VpIGPDsyAxNDggbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMTkgdHXhu5VpIGPDsyAxNDIgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMjAgdHXhu5VpIGPDsyA1OCBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSAyMSB0deG7lWkgY8OzIDYwIG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDIyIHR14buVaSBjw7MgNjAgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMjMgdHXhu5VpIGPDsyA2MiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSAyNCB0deG7lWkgY8OzIDU2IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDI1IHR14buVaSBjw7MgNTggbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMjZ0deG7lWkgY8OzIDYwIG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDI3IHR14buVaSBjw7MgNTggbmfGsOG7nWkgdGhhbSBnaWEg4bufIMSR4buZIHR14buVaSAyOCB0deG7lWkgY8OzIDYwIG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDI5IHR14buVaSBjw7MgNTQgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMzAgdHXhu5VpIGPDsyA1NiBuZ8aw4budaSB0aGFtLCDhu58gxJHhu5kgdHXhu5VpIDMxIHR14buVaSBjw7MgNTQgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMzIgdHXhu5VpIGPDsyA1NiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSAzMyB0deG7lWkgY8OzIDU0IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDM0IHR14buVaSBjw7MgNTIgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMzUgdHXhu5VpIGPDsyA1MCBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSAzNiB0deG7lWkgY8OzIDUwIG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDM3IHR14buVaSBjw7MgNTIgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgMzggdHXhu5VpIGPDsyA1MCBuZ8aw4budaSB0aGFtIGdpYSzhu58gxJHhu5kgdHXhu5VpIDM5IHR14buVaSBjw7MgNTQgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNDAgdHXhu5VpIGPDsyA1NCBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA0MSB0deG7lWkgY8OzIDU2IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDQyIHR14buVaSBjw7MgNTQgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNDMgdHXhu5VpIGPDsyA1NCBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA0NCB0deG7lWkgY8OzIDU2IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDQ1IHR14buVaSBjw7MgNjIgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNDYgdHXhu5VpIGPDsyA2MCBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA0NyB0deG7lWkgY8OzIDYyIG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDQ4IHR14buVaSBjw7MgNTggbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNDkgdHXhu5VpIGPDsyA1NiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA1MCB0deG7lWkgY8OzIDU4IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDUxIHR14buVaSBjw7MgNjAgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNTIgdHXhu5VpIGPDsyA2MiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA1MyB0deG7lWkgY8OzIDU4IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDU0IHR14buVaSBjw7MgNjAgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNTUgdHXhu5VpIGPDsyA1MiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA1NiB0deG7lWkgY8OzIDU2IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDU3IHR14buVaSBjw7MgNTggbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNTggdHXhu5VpIGPDsyA1MiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA1OSB0deG7lWkgY8OzIDUyIG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDYwIHR14buVaSBjw7MgNDYgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNjEgdHXhu5VpIGPDsyA0NiBuZ8aw4budaSB0aGFtIGdpYSwg4bufIMSR4buZIHR14buVaSA2MiB0deG7lWkgY8OzIDQ4IG5nxrDhu51pIHRoYW0gZ2lhLCDhu58gxJHhu5kgdHXhu5VpIDYzIHR14buVaSBjw7MgNDYgbmfGsOG7nWkgdGhhbSBnaWEsIOG7nyDEkeG7mSB0deG7lWkgNjQgdHXhu5VpIGPDsyA0NiBuZ8aw4budaSB0aGFtIGdpYS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQotIELhuqNuZyB04bqnbiBzdeG6pXQgDQoNCmBgYHtyfQ0KdGFibGUoUFTEkFRtYWhvYSRhZ2UpL3N1bSh0YWJsZShQVMSQVG1haG9hJGFnZSkpDQpgYGANCiAgDQogIEvhur90IHF14bqjIMSRxrDhu6NjIHTDrW5oIHThu6sgYuG6o25nIHThuqduIHPhu5EgY2h1eeG7g24gc2FuZyB04bu3IGzhu4cgcGjhuqduIHRyxINtIGNobyBiaeG6v24gYWdlDQoNCi0gxJDhu5MgdGjhu4sgDQpgYGB7cn0NCmluc3RhbGwucGFja2FnZXMoImdncGxvdDIiKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUFTEkFRtYWhvYSB8PiBnZ3Bsb3QoIGFlcyggeCA9IGFnZSwgeT0gYWZ0ZXJfc3RhdChjb3VudCkpKSArIGdlb21fYmFyKGZpbGw9J2xpZ2h0Ymx1ZScpICsgZ2VvbV90ZXh0KGFlcyhsYWJlbD0gc2NhbGVzIDo6IHBlcmNlbnQoYWZ0ZXJfc3RhdChjb3VudC9zdW0oY291bnQpKSxhY2N1cmFjeT0uMDEpKSwgc3RhdCA9ICdjb3VudCcsIGNvbG9yPSAnYmxhY2snLCB2anVzdD0gLS41KSArIHRoZW1lX2NsYXNzaWMoKSArIHhsYWIoJ1Phu5EgdHXhu5VpJykgKyB5bGFiKCdU4bu3IGzhu4cnKQ0KYGBgDQoNCiMjIyBCaeG6v24gc2V4DQoNCi0gQuG6o25nIHThuqduIHPhu5EgDQoNCmBgYHtyfQ0KdGFibGUoUFTEkFRtYWhvYSRzZXgpDQpgYGANCg0KS+G6v3QgcXXhuqMgY2hvIHRo4bqleSwgZ2nhu5tpIHTDrW5oIG7hu68gdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyBsw6AgMTM2MCBuZ8aw4budaSwgZ2nhu5tpIHTDrW5oIG5hbSB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IGzDoCAxMzk4IG5nxrDhu51pLiANCg0KLSBC4bqjbmcgdOG6p24gc3XhuqV0IA0KDQpgYGB7cn0NCnRhYmxlKFBUxJBUbWFob2Ekc2V4KS9zdW0odGFibGUoUFTEkFRtYWhvYSRzZXgpKQ0KYGBgDQoNCkvhur90IHF14bqjIGNobyB0aOG6pXksIGdp4bubaSB0w61uaCBu4buvIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8gY2hp4bq/bSA0OS4zMSUsIGdp4bubaSB0w61uaCBuYW0gdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyBjaGnhur9tIDUwLjY5JQ0KDQotIMSQ4buTIHRo4buLIA0KDQpgYGB7cn0NCmluc3RhbGwucGFja2FnZXMoImdncGxvdDIiKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUFTEkFRtYWhvYSB8PiBnZ3Bsb3QoIGFlcyggeCA9IHNleCwgeT0gYWZ0ZXJfc3RhdChjb3VudCkpKSArIGdlb21fYmFyKGZpbGw9J2xpZ2h0Z3JlZW4nKSArIGdlb21fdGV4dChhZXMobGFiZWw9IHNjYWxlcyA6OiBwZXJjZW50KGFmdGVyX3N0YXQoY291bnQvc3VtKGNvdW50KSksYWNjdXJhY3k9LjAxKSksIHN0YXQgPSAnY291bnQnLCBjb2xvcj0gJ2JsYWNrJywgdmp1c3Q9IC0uNSkgKyB0aGVtZV9jbGFzc2ljKCkgKyB4bGFiKCdHaeG7m2kgdMOtbmgnKSArIHlsYWIoJ1Thu7cgbOG7hycpDQpgYGANCg0KIyMjIEJp4bq/biBCTUkgDQoNCi0gQuG6o25nIHThuqduIHPhu5ENCg0KYGBge3J9DQp0YWJsZShQVMSQVG1haG9hJGJtaSkNCmBgYA0KDQotIELhuqNuZyB04bqnbiBzdeG6pXQNCg0KYGBge3J9DQp0YWJsZShQVMSQVG1haG9hJGJtaSkvc3VtKHRhYmxlKFBUxJBUbWFob2EkYm1pKSkNCmBgYA0KDQotIMSQ4buTIHRo4buLDQoNCmBgYHtyfQ0KaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQpsaWJyYXJ5KGdncGxvdDIpDQpQVMSQVG1haG9hIHw+IGdncGxvdCggYWVzKCB4ID0gYm1pLCB5PSBhZnRlcl9zdGF0KGNvdW50KSkpICsgZ2VvbV9iYXIoZmlsbD0nbGlnaHR5ZWxsb3cnKSArIGdlb21fdGV4dChhZXMobGFiZWw9IHNjYWxlcyA6OiBwZXJjZW50KGFmdGVyX3N0YXQoY291bnQvc3VtKGNvdW50KSksYWNjdXJhY3k9LjAxKSksIHN0YXQgPSAnY291bnQnLCBjb2xvcj0gJ2JsYWNrJywgdmp1c3Q9IC0uNSkgKyB0aGVtZV9jbGFzc2ljKCkgKyB4bGFiKCdCTUknKSArIHlsYWIoJ1Thu7cgbOG7hycpDQpgYGANCg0KIyMjIEJp4bq/biBzbW9rZXINCg0KLSBC4bqjbmcgdOG6p24gc+G7kSANCg0KYGBge3J9DQp0YWJsZShQVMSQVG1haG9hJHNtb2tlcikNCmBgYA0KIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCBz4buRIGzGsOG7o25nIG5nxrDhu51pIGtow7RuZyBow7p0IHRodeG7kWMgbMOgIDIyMDggbmfGsOG7nWksIHPhu5EgbMaw4bujbmcgbmfGsOG7nWkgaMO6dCB0aHXhu5FjIGzDoCA1NTAgDQogIA0KbmfGsOG7nWkuDQogIA0KLSBC4bqjbmcgdOG6p24gc3XhuqV0DQoNCmBgYHtyfQ0KdGFibGUoUFTEkFRtYWhvYSRzbW9rZXIpL3N1bSh0YWJsZShQVMSQVG1haG9hJHNtb2tlcikpDQpgYGANCg0KS+G6v3QgcXXhuqMgY2hvIHRo4bqleSwgc+G7kSBsxrDhu6NuZyBuZ8aw4budaSBraMO0bmcgaMO6dCB0aHXhu5FjIGNoaeG6v20gODAuMDYlLCBz4buRIGzGsOG7o25nIG5nxrDhu51pIGjDunQgdGh14buRYyBsw6AgMTkuOTQlDQoNCi0gxJDhu5MgdGjhu4sNCg0KYGBge3J9DQppbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikNCmxpYnJhcnkoZ2dwbG90MikNClBUxJBUbWFob2EgfD4gZ2dwbG90KCBhZXMoIHggPSBzbW9rZXIsIHk9IGFmdGVyX3N0YXQoY291bnQpKSkgKyBnZW9tX2JhcihmaWxsPSdwdXJwbGUnKSArIGdlb21fdGV4dChhZXMobGFiZWw9IHNjYWxlcyA6OiBwZXJjZW50KGFmdGVyX3N0YXQoY291bnQvc3VtKGNvdW50KSksYWNjdXJhY3k9LjAxKSksIHN0YXQgPSAnY291bnQnLCBjb2xvcj0gJ2JsYWNrJywgdmp1c3Q9IC0uNSkgKyB0aGVtZV9jbGFzc2ljKCkgKyB4bGFiKCdTbW9rZXInKSArIHlsYWIoJ1Thu7cgbOG7hycpDQpgYGANCg0KIyMjIEJp4bq/biByZWdpb24NCg0KLSBC4bqjbmcgdOG6p24gc+G7kQ0KYGBge3J9DQp0YWJsZShQVMSQVG1haG9hJHJlZ2lvbikNCmBgYA0KIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCBz4buRIGzGsOG7o25nIG5nxrDhu51pIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8g4bufIGtodSB24buxYyBOb3J0aGVhc3QgbMOgIDY1NiBuZ8aw4budaSwgc+G7kSBsxrDhu6NuZyBuZ8aw4budaSB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IOG7nyBraHUgduG7sWMgTm9ydGh3ZXN0IGzDoCA2NjAgbmfGsOG7nWksIHPhu5EgbMaw4bujbmcgbmfGsOG7nWkgdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyDhu58ga2h1IHbhu7FjIFNvdXRoZWFzdCBsw6AgNzYyIG5nxrDhu51pLCBz4buRIGzGsOG7o25nIG5nxrDhu51pIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8g4bufIGtodSB24buxYyBTb3V0aHdlc3QgbMOgIDY4MCBuZ8aw4budaS4gDQoNCi0gQuG6o25nIHThuqduIHN14bqldA0KDQpgYGB7cn0NCnRhYmxlKFBUxJBUbWFob2EkcmVnaW9uKS9zdW0odGFibGUoUFTEkFRtYWhvYSRyZWdpb24pKQ0KYGBgDQogIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCBz4buRIGzGsOG7o25nIG5nxrDhu51pIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8g4bufIGtodSB24buxYyBOb3J0aGVhc3QgY2hp4bq/bSAyMy43OSUgLCBz4buRIGzGsOG7o25nIG5nxrDhu51pIHRoYW0gZ2lhIGLhuqNvIGhp4buDbSB5IHThur8g4bufIGtodSB24buxYyBOb3J0aHdlc3QgY2hp4bq/bSAyMy45MyUsIHPhu5EgbMaw4bujbmcgbmfGsOG7nWkgdGhhbSBnaWEgYuG6o28gaGnhu4NtIHkgdOG6vyDhu58ga2h1IHbhu7FjIFNvdXRoZWFzdCBjaGnhur9tIDI3LjYzJSwgc+G7kSBsxrDhu6NuZyBuZ8aw4budaSB0aGFtIGdpYSBi4bqjbyBoaeG7g20geSB04bq/IOG7nyBraHUgduG7sWMgU291dGh3ZXN0IGNoaeG6v20gMjQuNjYlLiANCg0KLSDEkOG7kyB0aOG7iw0KDQpgYGB7cn0NCmluc3RhbGwucGFja2FnZXMoImdncGxvdDIiKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KUFTEkFRtYWhvYSB8PiBnZ3Bsb3QoIGFlcyggeCA9IHJlZ2lvbiwgeT0gYWZ0ZXJfc3RhdChjb3VudCkpKSArIGdlb21fYmFyKGZpbGw9J0Jyb3duJykgKyBnZW9tX3RleHQoYWVzKGxhYmVsPSBzY2FsZXMgOjogcGVyY2VudChhZnRlcl9zdGF0KGNvdW50L3N1bShjb3VudCkpLGFjY3VyYWN5PS4wMSkpLCBzdGF0ID0gJ2NvdW50JywgY29sb3I9ICdibGFjaycsIHZqdXN0PSAtLjUpICsgdGhlbWVfY2xhc3NpYygpICsgeGxhYignUmVnaW9uJykgKyB5bGFiKCdU4bu3IGzhu4cnKQ0KYGBgDQoNCiMjIyBCaeG6v24gY2hhcmdlcw0KDQotIELhuqNuZyB04bqnbiBz4buRDQoNCmBgYHtyfQ0KdGFibGUoUFTEkFRtYWhvYSRjaGFyZ2VzKQ0KYGBgDQogIEvhur90IHF14bqjIGNobyB0aOG6pXksIHPhu5EgbmfGsOG7nWkgbmjhuq1uIGNoaSBwaMOtIHkgdOG6vyBs4bubbiBoxqFuIDE1MDAwIGzDoCA3MjQgbmfGsOG7nWksIHPhu5EgbmfGsOG7nWkgbmjhuq1uIGNoaSBwaMOtIHkgdOG6vyBuaOG7jyBoxqFuIGhv4bq3YyAxNTAwMCBsw6AgMjAzNCBuZ8aw4budaS4NCg0KLSBC4bqjbmcgdOG6p24gc3XhuqV0DQoNCmBgYHtyfQ0KdGFibGUoUFTEkFRtYWhvYSRjaGFyZ2VzKS9zdW0odGFibGUoUFTEkFRtYWhvYSRjaGFyZ2VzKSkNCmBgYA0KIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5IHThu7cgbOG7hyBuZ8aw4budaSBuaOG6rW4gY2hpIHBow60geSB04bq/IGzhu5tuIGjGoW4gMTUwMDAgbMOgIDI2LjI1JSwgc+G7kSBuZ8aw4budaSBuaOG6rW4gY2hpIHBow60geSB04bq/IA0Kbmjhu48gaMahbiBob+G6t2MgMTUwMDAgbMOgIDczLjc1JQ0KDQotIMSQ4buTIHRo4buLDQoNCmBgYHtyfQ0KaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQpsaWJyYXJ5KGdncGxvdDIpDQpQVMSQVG1haG9hIHw+IGdncGxvdCggYWVzKCB4ID0gY2hhcmdlcywgeT0gYWZ0ZXJfc3RhdChjb3VudCkpKSArIGdlb21fYmFyKGZpbGw9J2dyZWVueWVsbG93JykgKyBnZW9tX3RleHQoYWVzKGxhYmVsPSBzY2FsZXMgOjogcGVyY2VudChhZnRlcl9zdGF0KGNvdW50L3N1bShjb3VudCkpLGFjY3VyYWN5PS4wMSkpLCBzdGF0ID0gJ2NvdW50JywgY29sb3I9ICdibGFjaycsIHZqdXN0PSAtLjUpICsgdGhlbWVfY2xhc3NpYygpICsgeGxhYignY2hhcmdlcycpICsgeWxhYignVOG7tyBs4buHJykNCmBgYA0KIA0KIyMgVGjhu5FuZyBrw6ogbcO0IHThuqMgMiBiaeG6v24NCg0KIyMjIFRo4buRbmcga8OqIG3DtCB04bqjIGJp4bq/biBwaOG7pSB0aHXhu5ljIGNoYXJnZXMgdsOgIGJp4bq/biBzZXgNCg0KLSBC4bqjbmcgdOG6p24gc+G7kQ0KDQpgYGB7cn0NCmExIDwtIHRhYmxlKFBUxJBUbWFob2Ekc2V4LCBQVMSQVG1haG9hJGNoYXJnZXMpDQphMQ0KYGBgDQogIA0KICBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCBu4buvIGdp4bubaSBuaOG6rW4gY2hpIHBow60geSB04bq/IGzhu5tuIGjGoW4gMTUwMDAgbMOgIDMxNiBuZ8aw4budaSwgc+G7kSBuZ8aw4budaSBuaOG6rW4gY2hpIHBow60geSB04bq/IG5o4buPIGjGoW4gaG/hurdjIGLhurFuZyAxNTAwMCBsw6AgMTA0NCBuZ8aw4budaS4gTmFtIGdp4bubaSBuaOG6rW4gY2hpIHBow60geSB04bq/IGzhu5tuIGjGoW4gMTUwMDAgbMOgIDQwOCBuZ8aw4budaSwgc+G7kSBuZ8aw4budaSBuaOG6rW4gY2hpIHBow60geSB04bq/IG5o4buPIGjGoW4gaG/hurdjIDE1MDAwIGzDoCA5OTAgbmfGsOG7nWkuIA0KDQotIELhuqNuZyB04bqnbiBzdeG6pXQgDQoNCmBgYHtyfQ0KYWExIDwtIHByb3AudGFibGUoYTEpDQphZGRtYXJnaW5zKGFhMSkNCmBgYA0KDQogS+G6v3QgcXXhuqMgY2hvIHRo4bqleSwgbuG7ryBnaeG7m2kgbmjhuq1uIGNoaSBwaMOtIHkgdOG6vyBs4bubbiBoxqFuIDE1MDAwIGNoaeG6v20gMTEuNDYlLCBz4buRIG5nxrDhu51pIG5o4bqtbiBjaGkgcGjDrSB5IHThur8gbmjhu48gaMahbiBob+G6t2MgYuG6sW5nIDE1MDAwIGNoaeG6v20gMzcuODUlLiBOYW0gZ2nhu5tpIG5o4bqtbiBjaGkgcGjDrSB5IHThur8gbOG7m24gaMahbiAxNTAwMCBjaGnhur9tIDE0Ljc5JSwgc+G7kSBuZ8aw4budaSBuaOG6rW4gY2hpIHBow60geSB04bq/IG5o4buPIGjGoW4gaG/hurdjIGLhurFuZyAxNTAwMCBsw6AgMzUuOTAlDQoNCi0gxJDhu5MgdGjhu4sNCg0KYGBge3J9DQpnZ3Bsb3QoUFTEkFRtYWhvYSwgYWVzKHNleCwgZmlsbCA9IGNoYXJnZXMpKSArIGdlb21fYmFyKHBvc2l0aW9uID0gJ2RvZGdlJywgZmlsbCA9ICJyZWQiKQ0KYGBgDQoNCiMjIyBUaOG7kW5nIGvDqiBtw7QgdOG6oyBiaeG6v24gcGjhu6UgdGh14buZYyBjaGFyZ2VzIHbDoCBiaeG6v24gc21va2VyDQoNCi0gQuG6o25nIHThuqduIHPhu5ENCg0KYGBge3J9DQphMiA8LSB0YWJsZShQVMSQVG1haG9hJHNtb2tlciwgUFTEkFRtYWhvYSRjaGFyZ2VzKQ0KYTINCmBgYA0KDQotIELhuqNuZyB04bqnbiBzdeG6pXQNCg0KYGBge3J9DQphYTIgPC0gcHJvcC50YWJsZShhMikNCmFkZG1hcmdpbnMoYWEyKQ0KYGBgDQoNCi0gxJDhu5MgdGjhu4sgDQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZ2dwbG90KFBUxJBUbWFob2EsIGFlcyhzbW9rZXIsIGZpbGwgPSBjaGFyZ2VzKSkgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICdkb2RnZScsIGZpbGwgPSAiYmx1ZSIpDQpgYGANCg0KIyMjIFRo4buRbmcga8OqIG3DtCB04bqjIGJp4bq/biBwaOG7pSB0aHXhu5ljIGNoYXJnZXMgdsOgIGJp4bq/biByZWdpb24NCg0KLSBC4bqjbmcgdOG6p24gc+G7kQ0KDQpgYGB7cn0NCmEzIDwtIHRhYmxlKFBUxJBUbWFob2EkcmVnaW9uLCBQVMSQVG1haG9hJGNoYXJnZXMpDQphMw0KYGBgDQoNCi0gQuG6o25nIHThuqduIHN14bqldA0KDQpgYGB7cn0NCmFhMyA8LSBwcm9wLnRhYmxlKGEzKQ0KYWRkbWFyZ2lucyhhYTMpDQpgYGANCg0KLSDEkOG7kyB0aOG7iw0KDQpgYGB7cn0NCmdncGxvdChQVMSQVG1haG9hLCBhZXMocmVnaW9uLCBmaWxsID0gY2hhcmdlcykpICsgZ2VvbV9iYXIocG9zaXRpb24gPSAnZG9kZ2UnLCBmaWxsPSJncmVlbiIpDQpgYGANCg0KIyMgVGjhu5FuZyBrw6ogc3V5IGRp4buFbiBjaG8gZOG7ryBsaeG7h3UgxJHhu4tuaCB0w61uaA0KDQojIyMgS2nhu4NtIMSR4buLbmggdMOtbmggxJHhu5ljIGzhuq1wIGNobyBoYWkgYmnhur9uIA0KDQojIyMjIEtp4buDbSDEkWluaCB0w61uaCDEkeG7mWMgbOG6rXAgY2hvIGJp4bq/biBjaGFyZ2VzIHbDoCBzZXgNCg0KR2nhuqMgdGh1eeG6v3QgLSDEkOG7kWkgdGh1eeG6v3Q6DQoNCkgwOiBjaGFyZ2VzIHbDoCBzZXggxJHhu5ljIGzhuq1wIHbhu5tpIG5oYXUNCg0KSDE6IGNoYXJnZXMgdsOgIHNleCBraMO0bmcgxJHhu5ljIGzhuq1wIHbhu5tpIG5oYXUNCg0KYGBge3J9DQphMSA8LSB0YWJsZShQVMSQVG1haG9hJHNleCwgUFTEkFRtYWhvYSRjaGFyZ2VzKQ0KY2hpc3EudGVzdChhMSkNCmBgYA0KVsOsIHBfdmFsdWUgPSAwLjAwMDQ1MzUgPCAwLjA1IGNoxrBhIMSR4bunIGPGoSBz4bufIGLDoWMgYuG7jyBIMCwgdGjhu6thIG5o4bqtbiBIMSwgbmdoxKlhIGzDoCBjaGFyZ2VzIHbDoCBzZXgga2jDtG5nIMSR4buZYyBs4bqtcCB24bubaSBuaGF1Lg0KDQojIyMjIEtp4buDbSDEkWluaCB0w61uaCDEkeG7mWMgbOG6rXAgY2hvIGJp4bq/biBjaGFyZ2VzIHbDoCBzbW9rZXINCg0KR2nhuqMgdGh1eeG6v3QgLSDEkOG7kWkgdGh1eeG6v3Q6DQoNCkgwOiBjaGFyZ2VzIHbDoCBzbW9rZXIgxJHhu5ljIGzhuq1wIHbhu5tpIG5oYXUNCg0KSDE6IGNoYXJnZXMgdsOgIHNtb2tlciBraMO0bmcgxJHhu5ljIGzhuq1wIHbhu5tpIG5oYXUNCg0KYGBge3J9DQphMiA8LSB0YWJsZShQVMSQVG1haG9hJHNtb2tlciwgUFTEkFRtYWhvYSRjaGFyZ2VzKQ0KY2hpc3EudGVzdChhMikNCmBgYA0KICANClbDrCBwX3ZhbHVlID0gMi4yZS0xNiA8IDAuMDUgY2jGsGEgxJHhu6cgY8ahIHPhu58gYsOhYyBi4buPIEgwLCB0aOG7q2Egbmjhuq1uIEgxLCBuZ2jEqWEgbMOgIGNoYXJnZXMgdsOgIHNtb2tlciBraMO0bmcgxJHhu5ljIGzhuq1wIHbhu5tpIG5oYXUuDQoNCiMjIyMgS2nhu4NtIMSRaW5oIHTDrW5oIMSR4buZYyBs4bqtcCBjaG8gYmnhur9uIGNoYXJnZXMgdsOgIHJlZ2lvbg0KDQpHaeG6oyB0aHV54bq/dCAtIMSQ4buRaSB0aHV54bq/dDoNCg0KSDA6IGNoYXJnZXMgdsOgIHJlZ2lvbiDEkeG7mWMgbOG6rXAgduG7m2kgbmhhdQ0KDQpIMTogY2hhcmdlcyB2w6AgcmVnaW9uIGtow7RuZyDEkeG7mWMgbOG6rXAgduG7m2kgbmhhdQ0KDQpgYGB7cn0NCmEzIDwtIHRhYmxlKFBUxJBUbWFob2EkcmVnaW9uLCBQVMSQVG1haG9hJGNoYXJnZXMpDQpjaGlzcS50ZXN0KGEzKQ0KYGBgDQoNClbDrCBwX3ZhbHVlID0gMC4wMDAxMDMxIDwgMC4wNSBjaMawYSDEkeG7pyBjxqEgc+G7nyBiw6FjIGLhu48gSDAsIHRo4burYSBuaOG6rW4gSDEsIG5naMSpYSBsw6AgY2hhcmdlcyB2w6AgcmVnaW9uIGtow7RuZyDEkeG7mWMgbOG6rXAgduG7m2kgbmhhdQ0KDQogDQojIyMgS2hv4bqjbmcgxrDhu5tjIGzGsOG7o25nIHThu7cgbOG7hw0KDQotIMav4bubYyBsxrDhu6NuZyBz4buRIG5nxrDhu51pIMSRxrDhu6NjIGLhuqNvIGhp4buDbSB5IHThur8gY2hpIHRy4bqjIGzhu5tuIGjGoW4gMTUwMDAgdsOgIHPhu5EgbmfGsOG7nWkgxJHGsOG7o2MgYuG6o28gaGnhu4NtIHkgdOG6vyBjaGkgdHLhuqMgbmjhu48gaMahbiBob+G6t2MgYuG6sW5nIDE1MDAwDQogDQpgYGB7cn0NCmEgPC0gUFTEkFRtYWhvYVtQVMSQVG1haG9hJGNoYXJnZXMgPT0gJzEnLF0NCnByb3AudGVzdChsZW5ndGgoYSRjaGFyZ2VzKSwgbGVuZ3RoKFBUxJBUbWFob2EkY2hhcmdlcykpDQoNCmIgPC0gUFTEkFRtYWhvYVtQVMSQVG1haG9hJGNoYXJnZXMgPT0gJzAnLF0NCnByb3AudGVzdChsZW5ndGgoYiRjaGFyZ2VzKSwgbGVuZ3RoKFBUxJBUbWFob2EkY2hhcmdlcykpDQpgYGANCg0KVuG7m2kgxJHhu5kgdGluIGPhuq15IDk1JSwgdGEgY8OzIHThu7cgbOG7hyBuZ8aw4budaSDEkcaw4bujYyBjaGkgdHLhuqMgYuG6o28gaGnhu4NtIHkgdOG6vyBs4bubbiBoxqFuIDE1MDAwIHNvIHbhu5tpIHThu5VuZyB0aOG7gyBu4bqxbSB0cm9uZyBraG/huqNuZyB04burIDI0Ljk5JSDEkeG6v24gMjguMzIlLiBOw7NpIGPDoWNoIGtow6FjLCB04bu3IGzhu4cgbmfGsOG7nWkgxJHGsOG7o2MgY2hpIHRy4bqjIGLhuqNvIGhp4buDbSB5IHThur8gbmjhu48gaMahbiBob+G6t2MgYuG6sW5nIDE1MDAwIHNvIHbhu5tpIHThu5VuZyB0aOG7gyBu4bqxbSB0cm9uZyBraG/huqNuZyB04burIDcxLjY4JSDEkeG6v24gNzUuMDElLg0KDQojIyBS4bunaSBybyB0xrDGoW5nIMSR4buRaSB2w6AgdOG7tyBs4buHIGNow6puaA0KDQojIyMgQmnhur9uIGNoYXJnZXMgdsOgIGJp4bq/biBzZXgNCg0KYGBge3J9DQpsaWJyYXJ5KERlc2NUb29scykNCmxpYnJhcnkoZXBpdG9vbHMpDQpgYGANCg0KYGBge3J9DQphMSA8LSB0YWJsZShQVMSQVG1haG9hJHNleCwgUFTEkFRtYWhvYSRjaGFyZ2VzKQ0Kcmlza3JhdGlvKGExKQ0KYGBgDQoNClRoZW8ga+G6v3QgcXXhuqMgdHLDqm4gdGEgdGjhuqV5IHThu7cgbOG7hyBy4bunaSBybyB0xrDGoW5nIMSR4buRaSBj4bunYSBuaOG7r25nIG5nxrDhu51pIGPDsyBjaGkgcGjDrSBi4bqjbyBoaeG7g20gbOG7m24gaMahbiAxNTAwMCB0aGVvIGdp4bubaSB0w61uaCBsw6AgMS4yNTUyIHThu6ljIGzDoCB04bu3IGzhu4cgcuG7p2kgcm8gbmFtIGdp4bubaSBjw7MgY2hpIHBow60gYuG6o28gaGnhu4NtIGLhurFuZyAxLjI1NTIgbOG6p24gdOG7tyBs4buHIHLhu6dpIHJvIG7hu68gZ2nhu5tpIGPDsyBjaGkgcGjDrSBi4bqjbyBoaeG7g20gbOG7m24gaMahbiAxNTAwMA0KDQpgYGB7cn0NCk9kZHNSYXRpbyhhMSkNCmBgYA0KDQpU4bu3IGzhu4cgbmFtIGdp4bubaSBjw7MgY2hpIHBow60gYuG6o28gaGnhu4NtIDEgZ+G6pXAgMS4zNiBs4bqnbiBu4buvIGdp4bubaSBjw7MgY2hpIHBow60gYuG6o28gaGnhu4NtIDENCg0KDQojIyMgQmnhur9uIGNoYXJnZXMgdsOgIGJp4bq/biBzbW9rZXINCg0KYGBge3J9DQphMiA8LSB0YWJsZShQVMSQVG1haG9hJHNtb2tlciwgUFTEkFRtYWhvYSRjaGFyZ2VzKQ0Kcmlza3JhdGlvKGEyKQ0KYGBgDQogDQogIFThu7cgbOG7hyBuZ8aw4budaSBjw7MgaMO6dCB0aHXhu5FjIGPDsyBt4bupYyBjaGkgcGjDrSBi4bqjbyBoaeG7g20gbOG7m24gaMahbiAxNTAwMCBi4bqxbmcgMTEuNDUgbOG6p24gdOG7tyBs4buHIG5nxrDhu51pIGtow7RuZyBow7p0IHRodeG7kWMgY8OzIG3hu6ljIGNoaSBwaMOtIGLhuqNvIGhp4buDbSBs4bubbiBoxqFuIDE1MDAwDQogIA0KDQpgYGB7cn0NCk9kZHNSYXRpbyhhMikNCmBgYA0KDQpU4bu3IGzhu4cgY8OzIGjDunQgdGh14buRYyBjw7MgbeG7qWMgY2hpIHBow60gYuG6o28gaGnhu4NtIGzhu5tuIGjGoW4gMTUwMDAgY2FvIGjGoW4gNDIyLjExMjUgbOG6p24gdOG7tyBs4buHIGtow7RuZyBow7p0IHRodeG7kWMgY8OzIG3hu6ljIGNoaSBwaMOtIGLhuqNvIGhp4buDbSBs4bubbiBoxqFuIDE1MDAwDQoNCg0KIyMjIEJp4bq/biBjaGFyZ2VzIHbDoCBiaeG6v24gcmVnaW9uDQoNCmBgYHtyfQ0KYTMgPC0gdGFibGUoUFTEkFRtYWhvYSRyZWdpb24sIFBUxJBUbWFob2EkY2hhcmdlcykNCnJpc2tyYXRpbyhhMykNCmBgYA0KDQpUaGVvIGvhur90IHF14bqjIHRyw6puIHRhIHRo4bqleSB04bu3IGzhu4cgcuG7p2kgcm8gdMawxqFuZyDEkeG7kWkgY+G7p2Egbmjhu69uZyBuZ8aw4budaSBjw7MgY2hpIHBow60gYuG6o28gaGnhu4NtIHRoZW8ga2h1IHbhu7FjIG5vcnRod2VzdCBsw6AgMC45MTQ3MzU5IHThu6ljIGzDoCB04bu3IGzhu4cgcuG7p2kgcm8g4bufIGtodSB24buxYyBuw6B5IGPDsyBjaGkgcGjDrSBi4bqjbyBoaeG7g20gYuG6sW5nIDAuOTE0NzM1OSBs4bqnbiB04bu3IGzhu4cgcuG7p2kgcm8g4bufIGtodSB24buxYyBraMOhYy4gDQoNClRoZW8ga2h1IHbhu7FjIHNvdXRoZWFzdCBsw6AgMS4xNDIxOTcyIHThu6ljIGzDoCB04bu3IGzhu4cgcuG7p2kgcm8g4bufIGtodSB24buxYyBuw6B5IGPDsyBjaGkgcGjDrSBi4bqjbyBoaeG7g20gY2FvIGjGoW4gMS4xNDIxOTcyIGzhuqduIHThu7cgbOG7hyBy4bunaSBybyDhu58ga2h1IHbhu7FjIGtow6FjLiANCg0KVGhlbyBraHUgduG7sWMgc291dGh3ZXN0IGzDoCAwLjc3MTcwNDkgdOG7qWMgbMOgIHThu7cgbOG7hyBy4bunaSBybyDhu58ga2h1IHbhu7FjIG7DoHkgY8OzIGNoaSBwaMOtIGLhuqNvIGhp4buDbSBi4bqxbmcgMC43NzE3MDQ5IGzhuqduIHThu7cgbOG7hyBy4bunaSBybyDhu58ga2h1IHbhu7FjIGtow6FjLiANCg0KIyDGr+G7m2MgbMaw4bujbmcgbcO0IGjDrG5oIGjhu5NpIHF1eSANCg0KVGEgdGnhur9uIGjDoG5oIMaw4bubYyBsxrDhu6NuZyBow6BtIGjhu5NpIHF1eSBjaG8gYmnhur9uIENoYXJnZXMgcGjhu6UgdGh14buZYyB2w6BvIGPDoWMgYmnhur9uIMSR4buZYyBs4bqtcC4gxJDhu5FpIHbhu5tpIGjDoG0gaOG7k2kgcXV5IGJp4bq/biBDaGFyZ2VzIHBo4bqhbSB0csO5IHRo4bupIGhhaSBj4bunYSBiaeG6v24gbmjhu4sgcGjDom4gdGjDqiBoaeG7h24gY2hvICIgY2hpIHBow60gYuG6o28gaGnhu4NtIHkgdOG6vyBs4bubbiBoxqFuIDE1MDAwIiDhu58gxJHDonkgbMOgICIxIg0KDQpgYGB7cn0NCmNoYXJnZXM8LVBUxJBUbWFob2EkY2hhcmdlcw0KYWdlPC1QVMSQVG1haG9hJGFnZQ0Kc2V4PC1QVMSQVG1haG9hJHNleA0KYm1pPC1QVMSQVG1haG9hJGJtaQ0KY2hpbGRyZW48LVBUxJBUbWFob2EkY2hpbGRyZW4NCnNtb2tlcjwtUFTEkFRtYWhvYSRzbW9rZXINCnJlZ2lvbjwtUFTEkFRtYWhvYSRyZWdpb24NCiMgWMOhYyDEkeG7i25oIHRo4bupIHThu7EgcGjhuqFtIHRyw7kgY+G7p2EgYmnhur9uIENoYXJnZXMNCmxldmVscyhmYWN0b3IoY2hhcmdlcykpDQpQVMSQVG1haG9hJGNoYXJnZXM8LWFzLmZhY3RvcihQVMSQVG1haG9hJGNoYXJnZXMpDQpgYGANCg0KTmdoxKlhIGzDoCBr4bq/dCBxdeG6oyBj4bunYSBjw6FjIG3DtCBow6xuaCBzYXUgxJHDonkgZ2nhuqNpIHRow61jaCBr4bq/dCBxdeG6oyB24buBIGNoaSBwaMOtIGNoaSB0cuG6oyBi4bqjbyBoaeG7g20geSB04bq/IGNobyBi4buHbmggbmjDom4g4bufIG3hu6ljIDEgKCBt4bupYyBjw7MgZ2nDoSB0cuG7iyBjaGkgdHLhuqMgbMOgIGzhu5tuIGjGoW4gMTUwMDAgKQ0KDQojIyBNw7QgaMOsbmggaOG7k2kgcXV5IGxvZ2l0DQoNCmBgYHtyfQ0KTUgxIDwtIGdsbShmYWN0b3IoY2hhcmdlcykgfiBhZ2UgKyBzZXggKyBibWkgKyBjaGlsZHJlbiArIHNtb2tlciArIHJlZ2lvbiAsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAnbG9naXQnKSwgZGF0YSA9ICBQVMSQVG1haG9hKQ0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShNSDEpDQpgYGANCkThu68gbGnhu4d1IGfhu5NtIGLhuqN5IGJp4bq/biwgc2F1IGtoaSBjaOG6oXkgbcO0IGjDrG5oIGxvZ2l0IG5o4bqtbiBzw6F1IGJp4bq/bjogYWdlLCBibWksIGNoaWxkcmVuLCBzbW9rZXIsIHJlZ2lvbg0KDQpNw7QgaMOsbmggdOG7lW5nIHF1w6F0DQoNCiRsb2dpdChccGkpID0gbG9nXGZyYWN7XHBpfXsxLVxwaX09IM6yMCArIM6yMVgxICsgzrIyWDIgKyDii68gKyBczrJrWGskDQoNClNhdSBraGkgY2jhuqF5IG3DtCBow6xuaCB0YSBjw7MgbcO0IGjDrG5oIHNhdQ0KDQokbG9naXQoXHBpKSA9IGxvZ1xmcmFje1xwaX17MS1ccGl9PSAtNC44NTQzNjUgKyAwLjAyNzQxNmFnZSArIDAuMDM4NTQ5Ym1pICsgMC4yMzMzOTVjaGlsZHJlbiArIA0KNi4zMzYyNTRzbW9rZXIgLSAwLjYzNTc3MHJlZ2lvbiQNCg0KQmnhur9uIHNleCBraMO0bmcgY8OzIMO9IG5naMSpYSBuw6puIGxv4bqhaSBraOG7j2kgbcO0IGjDrG5oIHRhIGNo4bqheSBs4bqhaSBuaMawIHNhdSANCg0KYGBge3J9DQpNSDFhIDwtIGdsbShmYWN0b3IoY2hhcmdlcykgfiBhZ2UgKyBibWkgKyBjaGlsZHJlbiArIHNtb2tlciArIHJlZ2lvbiAsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAnbG9naXQnKSwgZGF0YSA9ICBQVMSQVG1haG9hKQ0Kc3VtbWFyeShNSDFhKQ0KYGBgDQoNCiQgbG9naXQoXHBpKSA9IGxvZ1xmcmFje1xwaX17MS1ccGl9PSAtNC44NTQzNjUgKyAwLjAyNzQyM2FnZSArIDAuMDM4ODY4Ym1pICsgMC4yMzMwOTljaGlsZHJlbiArIA0KNi4zNTkzMjRzbW9rZXIgLSAwLjYzNDc0M3JlZ2lvbiAkDQoNCiMjIE3DtCBow6xuaCBo4buTaSBxdXkgcHJvYml0DQoNCmBgYHtyfQ0KTUgyIDwtIGdsbShmYWN0b3IoY2hhcmdlcykgfiBhZ2UgKyBzZXggKyBibWkgKyBjaGlsZHJlbiArIHNtb2tlciArIHJlZ2lvbiAsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAncHJvYml0JyksIGRhdGEgPSAgUFTEkFRtYWhvYSkNCmBgYA0KDQpgYGB7cn0NCnN1bW1hcnkoTUgyKQ0KYGBgDQpE4buvIGxp4buHdSBn4buTbSBi4bqjeSBiaeG6v24sIHNhdSBraGkgY2jhuqF5IG3DtCBow6xuaCBsb2dpdCBuaOG6rW4gc8OhdSBiaeG6v246IGFnZSwgYm1pLCBjaGlsZHJlbiwgc21va2VyLCByZWdpb24NCg0KTcO0IGjDrG5oIHThu5VuZyBxdcOhdCBQcm9iaXQ6DQoNCiRQcm9iaXQoXHBpKSA9IFxwaGleKC0xKShccGkpID0gzrIwICsgzrIxWDEgKyDOsjJYMiArIOKLryArIM6ya1hrJA0KDQpTYXUga2hpIGNo4bqheSBtw7QgaMOsbmggUHJvYml0IHRhIGPDsyBow6BtIGjhu5NpIHF1eSBzYXU6DQoNCiRQcm9iaXQoXHBpKSA9IFxwaGleKC0xKShccGkpID0gIC0yLjU4NjM2MSArIDAuMDEzMDY0YWdlICsgMC4wMTk0OTFibWkgKyAgMC4xMTM3NjRjaGlsZHJlbiArIDMuNDk3MTY3c21va2VyIC0gMC4yOTQzMjZyZWdpb24kDQoNCkJp4bq/biBzZXgga2jDtG5nIGPDsyDDvSBuZ2jEqWEgbsOqbiBsb+G6oWkga2jhu49pIG3DtCBow6xuaA0KDQpgYGB7cn0NCk1IMmEgPC0gZ2xtKGZhY3RvcihjaGFyZ2VzKSB+IGFnZSArIGJtaSArIGNoaWxkcmVuICsgc21va2VyICsgcmVnaW9uICwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdwcm9iaXQnKSwgZGF0YSA9ICBQVMSQVG1haG9hKQ0Kc3VtbWFyeShNSDJhKQ0KYGBgDQoNCk3DtCBow6xuaCB2aeG6v3QgbOG6oWkgc2F1IGtoaSBsb+G6oWkgYmnhur9uIHNleCBuaMawIHNhdToNCg0KJFByb2JpdChccGkpID0gXHBoaV4oLTEpKFxwaSkgPSAgLTIuNTg0MzQ2ICsgMC4wMTMwNjlhZ2UgKyAwLjAxOTcxNGJtaSArICAwLjExMzUwN2NoaWxkcmVuICsgMy41MDcxNTBzbW9rZXIgLSAtMC4yOTMwNzVyZWdpb24kDQoNCiMjIE3DtCBow6xuaCBo4buTaSBxdXkgY2xvZ2xvZw0KDQpgYGB7cn0NCk1IMyA8LSBnbG0oZmFjdG9yKGNoYXJnZXMpIH4gYWdlICsgc2V4ICsgYm1pICsgY2hpbGRyZW4gKyBzbW9rZXIgKyByZWdpb24gLCBmYW1pbHkgPSBiaW5vbWlhbChsaW5rID0gJ2Nsb2dsb2cnKSwgZGF0YSA9ICBQVMSQVG1haG9hKQ0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShNSDMpDQpgYGANCg0KTcO0IGjDrG5oIHThu5VuZyBxdcOhdCBj4bunYSBDbG9nbG9nOg0KDQokQ2xvZ2xvZyhccGkpPWxvZyjiiJJsb2coMeKIklxwaSkpID0gzrIwICsgzrIxWDEgKyDOsjJYMiArIOKLryArIM6ya1hrJA0KDQpTYXUga2hpIGNo4bqheSBtw7QgaMOsbmggQ2xvZ2xvZyBjw7MgaMOgbSBo4buTaSBxdXkgbmjGsCBzYXU6DQoNCiRDbG9nbG9nKFxwaSk9bG9nKOKIkmxvZygx4oiSXHBpKSkgPSAtNS4yMzQwOTUgKyAwLjAyNTk3MWFnZSArIDAuMDQ2OTE5Ym1pICsgMC4xOTI3ODZjaGlsZHJlbiArIDQuMzI0NTU4c21va2VyJA0KDQpCaeG6v24gc2V4IHbDoCByZWdpb24ga2jDtG5nIGPDsyDDvSBuZ2jEqWEgbsOqbiBsb+G6oWkga2jhu49pIG3DtCBow6xuaCANCg0KYGBge3J9DQpNSDNhIDwtIGdsbShmYWN0b3IoY2hhcmdlcykgfiBhZ2UgKyBibWkgKyBjaGlsZHJlbiArIHNtb2tlciAsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAnY2xvZ2xvZycpLCBkYXRhID0gIFBUxJBUbWFob2EpDQpzdW1tYXJ5KE1IM2EpDQpgYGANCg0KJENsb2dsb2coXHBpKT1sb2co4oiSbG9nKDHiiJJccGkpKSA9IC01LjE0NTAyNCArIDAuMDI1NjM4YWdlICsgMC4wNDQ5NjlibWkgKyAwLjE5MDQ5MmNoaWxkcmVuICsgNC4yOTY0ODFzbW9rZXIkDQoNCiMjIENo4buNbiBtw7QgaMOsbmggcGjDuSBo4bujcA0KDQpBSUMgdsOgIERldmlhbmNlDQoNClThu6sga+G6v3QgcXXhuqMgMyBtw7QgaMOsbmggaOG7k2kgcXV5LCB0YSBjw7M6DQoNCmxvZ2l0OiBBSUMgPSAxMzY5LjksIERldmlhbmNlID0gMTM1My45DQoNCnByb2JpdDogQUlDID0gMTM2OS41LCBEZXZpYW5jZSA9IDEzNTMuNQ0KDQpjbG9nbG9nOiBBSUMgPSAxMzQ1LjMsIERldmlhbmNlID0gMTMzNS4zDQoNCkJyaWVyU2NvcmUNCg0KYGBge3J9DQpCcmllclNjb3JlKE1IMWEpDQpgYGANCmBgYHtyfQ0KQnJpZXJTY29yZShNSDJhKQ0KYGBgDQpgYGB7cn0NCkJyaWVyU2NvcmUoTUgzYSkNCmBgYA0KICANCiAgIEvhur90IHF14bqjIGNobyB0aOG6pXkgZ2nDoSB0cuG7iyBjw6FjIGNo4buJIHPhu5EgQUlDLCBEZXZpYW5jZSwgQnJpZXJTY29yZSBj4bunYSBtw7QgaMOsbmggQ2xvZ2xvZyBsw6Agbmjhu48gbmjhuqV0LiBW4bqteSBtw7QgaMOsbmggQ2xvZ2xvZyBsw6AgcGjDuSBo4bujcCBuaOG6pXQuDQoNCiMjIE1hIHRy4bqtbiBuaOG6p20gbOG6q24NCg0KYGBge3J9DQpsaWJyYXJ5KGNhcmV0KQ0KYGBgDQoNCi0gTcO0IGjDrG5oIGxvZ2l0DQpgYGB7cn0NCnByZWRpY3Rpb25zIDwtIHByZWRpY3QoTUgxYSwgbmV3ZGF0YSA9IFBUxJBUbWFob2EsIHR5cGUgPSAicmVzcG9uc2UiKQ0KcHJlZGljdGVkX2NsYXNzZXMgPC0gaWZlbHNlKHByZWRpY3Rpb25zID4gMC41LCAiMSIsICIwIikNCnByZWRpY3Rpb25zMTwtZmFjdG9yKHByZWRpY3RlZF9jbGFzc2VzLCBsZXZlbHMgPSBjKCIwIiwiMSIpKQ0KYWN0dWFsPC0gZmFjdG9yKFBUxJBUbWFob2EkY2hhcmdlcywgbGFiZWxzID0gYygiMCIsIjEiKSkNCmNvbmZ1c2lvbk1hdHJpeCh0YWJsZShwcmVkaWN0aW9uczEsIGFjdHVhbCkpDQpgYGANCi0gTcO0IGjDrG5oIHByb2JpdA0KDQpgYGB7cn0NCnByZWRpY3Rpb25zIDwtIHByZWRpY3QoTUgyYSwgbmV3ZGF0YSA9IFBUxJBUbWFob2EsIHR5cGUgPSAicmVzcG9uc2UiKQ0KcHJlZGljdGVkX2NsYXNzZXMgPC0gaWZlbHNlKHByZWRpY3Rpb25zID4gMC41LCAiMSIsICIwIikNCnByZWRpY3Rpb25zMTwtZmFjdG9yKHByZWRpY3RlZF9jbGFzc2VzLCBsZXZlbHMgPSBjKCIwIiwiMSIpKQ0KYWN0dWFsPC0gZmFjdG9yKFBUxJBUbWFob2EkY2hhcmdlcywgbGFiZWxzID0gYygiMCIsIjEiKSkNCmNvbmZ1c2lvbk1hdHJpeCh0YWJsZShwcmVkaWN0aW9uczEsIGFjdHVhbCkpDQpgYGANCg0KLSBNw7QgaMOsbmggQ2xvZ2xvZw0KDQpgYGB7cn0NCmxpYnJhcnkoY2FyZXQpDQpwcmVkaWN0aW9ucyA8LSBwcmVkaWN0KE1IM2EsIG5ld2RhdGEgPSBQVMSQVG1haG9hLCB0eXBlID0gInJlc3BvbnNlIikNCnByZWRpY3RlZF9jbGFzc2VzIDwtIGlmZWxzZShwcmVkaWN0aW9ucyA+IDAuNSwgIjEiLCAiMCIpDQpwcmVkaWN0aW9uczE8LWZhY3RvcihwcmVkaWN0ZWRfY2xhc3NlcywgbGV2ZWxzID0gYygiMCIsIjEiKSkNCmFjdHVhbDwtIGZhY3RvcihQVMSQVG1haG9hJGNoYXJnZXMsIGxhYmVscyA9IGMoIjAiLCIxIikpDQpjb25mdXNpb25NYXRyaXgodGFibGUocHJlZGljdGlvbnMxLCBhY3R1YWwpKQ0KYGBgDQpD4bqjIGJhIG3DtCBow6xuaCBnaeG6o2kgdGjDrWNoIMSRxrDhu6NjIDkyLjY4JSwgxJHhu5kgbmjhuqF5IDk5LjMxJSwgxJHhu5kgaGnhu4d1IHF14bqjIDc0LjAzJS4gVsOgIGdpw6EgdHLhu4sgY8OhYyBjaOG7iSBz4buRIEFJQywgDQpEZXZpYW5jZSwgQnJpZXJTY29yZSBj4bunYSBtw7QgaMOsbmggQ2xvZ2xvZyBsw6Agbmjhu48gbmjhuqV0LiBW4bqteSBtw7QgaMOsbmggQ2xvZ2xvZyBsw6AgcGjDuSBo4bujcCBuaOG6pXQuDQoNCg0KIyBDSMavxqBORyAzIEvhur5UIExV4bqsTg0KDQojIyBL4bq/dCBsdeG6rW4NCg0KQ2hpIHBow60gYuG6o28gaGnhu4NtIHkgdOG6vyBsw6AgbeG7mXQgdHJvbmcgbmjhu69uZyB24bqlbiDEkeG7gSBxdWFuIHTDom0gY+G7p2Egbmhp4buBdSBuZ8aw4budaSBraGkgdGhhbSBnaWEgYuG6o28gaGnhu4NtIHPhu6ljIGto4buPZS4gUXVhIG5naGnDqm4gY+G7qXUsIHTDtGkgxJHDoyBwaMOhdCBoaeG7h24gcmEgY8OzIGLhu5FuIHnhur91IHThu5EgY2jDrW5oIOG6o25oIGjGsOG7n25nIMSR4bq/biBjaGkgcGjDrSBi4bqjbyBoaeG7g20geSB04bq/LCDEkcOzIGzDoDogxJHhu5kgdHXhu5VpLCBnaeG7m2kgdMOtbmgsIHPhu5EgY29uIHRyb25nIGdpYSDEkcOsbmgsbmjhu69uZyBuZ8aw4budaSBow7p0IHRodeG7kWMuIEPDoWMgeeG6v3UgdOG7kSBuw6B5IGPDsyB0aOG7gyBsw6BtIHTEg25nIGhv4bq3YyBnaeG6o20gY2hpIHBow60gYuG6o28gaGnhu4NtIHkgdOG6vyBj4bunYSBjw6EgbmjDom4gaG/hurdjIGjhu5kgZ2lhIMSRw6xuaC4gSMO6dCB0aHXhu5FjIGzDoSBsw6Agbmd1ecOqbiBuaMOibiBnw6J5IHThu60gdm9uZyBow6BuZyDEkeG6p3UgY8OzIHRo4buDIG5nxINuIG5n4burYSDEkcaw4bujYyDhu58gSG9hIEvhu7MuIFRydW5nIHTDom0gS2nhu4NtIHNvw6F0IHbDoCBQaMOybmcgbmfhu6thIEThu4tjaCBi4buHbmggSG9hIEvhu7MgKENEQykgxrDhu5tjIHTDrW5oIHLhurFuZyBow7p0IHRodeG7kWMgbMOhIGdp4bq/dCBjaOG6v3Qga2hv4bqjbmcgNDE5LjAwMCBuZ8aw4budaSDhu58gSG9hIEvhu7MgbeG7l2kgbsSDbS4gSMO6dCB0aHXhu5FjIGzDoSBsw6Agbmd1ecOqbiBuaMOibiBnw6J5IHThu60gdm9uZyBz4bubbSBj4bunYSBxdeG7kWMgZ2lhIHbDoCBjaOG7i3UgdHLDoWNoIG5oaeG7h20gY2hvIG3hu5l0IHBo4bqnbiBiYSBz4buRIGNhIHThu60gdm9uZyDhu58gbmfGsOG7nWkgTeG7uSB0cm9uZyDEkeG7mSB0deG7lWkgbGFvIMSR4buZbmcuDQpIw7p0IHRodeG7kWMgbMOhIGfDonkgbmdoaeG7h24gY+G6oyB24buBIHTDom0gbMO9IHbDoCBzaW5oIGzDvS4gTsOzIGzDoCBt4buZdCB54bq/dSB04buRIG5ndXkgY8ahIHF1YW4gdHLhu41uZyDEkeG7kWkgduG7m2kgY8OhYyBi4buHbmggdGltIG3huqFjaCwgxJHhurdjIGJp4buHdCBsw6AgYuG7h25oIMSR4buZbmcgbeG6oWNoIHbDoG5oLCDEkeG7mXQgcXXhu7UsIHVuZyB0aMawIGJp4buDdSBtw7QgcGjhu5VpLCB2acOqbSBwaOG6vyBxdeG6o24gbcOjbiB0w61uaCwgYuG7h25oIHBo4buVaSB04bqvYyBuZ2jhur1uIG3Do24gdMOtbmggdsOgIGtow60gdGjFqW5nLiBOZ2/DoGkgcmEsIHTEg25nIG5ndXkgY8ahIG3huq9jIGLhu4duaCBt4bqhY2ggbcOhdSBuZ2/huqFpIGJpw6puIHbDoCBjw7MgbGnDqm4gcXVhbiDEkeG6v24gdW5nIHRoxrAgdGhhbmggcXXhuqNuLCBraG9hbmcgbWnhu4duZywgdGjhu7FjIHF14bqjbiwgdOG7pXkgdsOgIGLDoG5nIHF1YW5nLiBQaOG7pSBu4buvIG1hbmcgdGhhaSBow7p0IHRodeG7kWMgY8OzIHRo4buDIGfDonkgcmEgbmjhu69uZyDhuqNuaCBoxrDhu59uZyB44bqldSDEkeG6v24gc+G7qWMga2jhu49lIGPhu6dhIHRy4bq7IHPGoSBzaW5oIG5oxrAgbmjhurkgY8OibiB2w6Agc2luaCBub247IHTEg25nIG5ndXkgY8ahIHPhuqN5IHRoYWk7IHbDoCBjxaluZyDEkcaw4bujYyBwaMOhdCBoaeG7h24gbMOgIG3hu5l0IG5ndXnDqm4gbmjDom4gcXVhbiB0cuG7jW5nIGfDonkgcmEgaOG7mWkgY2jhu6luZyDEkeG7mXQgdOG7rSDhu58gdHLhursgc8ahIHNpbmguIEjDunQgdGh14buRYyBi4bqldCBj4bqpbiBjxaluZyBjw7MgdGjhu4MgZ8OieSBi4buPbmcgbuG6t25nIHbDoCB04butIHZvbmcuIE5oaeG7gXUgdMOhYyBk4bulbmcgcGjhu6UgY+G7p2Egdmnhu4djIGjDunQgdGh14buRYyB44bqjeSByYSDhu58gbmjhu69uZyBuZ8aw4budaSBow7p0IHRodeG7kWMgInRo4bupIGPhuqVwIiAoTmFpciwgQSBLIE5haXIgLEpyIEUgTiBCcmFuZHQoMjAwMCkpLiDhu54gSG9hIEvhu7MgxJHGsMahbmcgxJHhuqFpLCBuYW0gZ2nhu5tpIGPDsyB04bu3IGzhu4cgdOG7rSB2b25nIGNhbyBoxqFuIDYwJSBzbyB24bubaSBu4buvIGdp4bubaS4gNDAgcGjhuqduIHRyxINtIGPhu6dhIHPhu7Ega2jDoWMgYmnhu4d0IHbhu4EgdOG7tyBs4buHIHThu60gdm9uZyB0aGVvIGdp4bubaSB0w61uaCBuw6B5IGzDoCBkbyB04bu3IGzhu4cgbeG6r2MgYuG7h25oIHRpbSBkbyB4xqEgY+G7qW5nIMSR4buZbmcgbeG6oWNoIOG7nyBuYW0gZ2nhu5tpIHTEg25nIGfhuqVwIMSRw7RpLiBOZ3V5w6puIG5ow6JuIGNow61uaCBj4bunYSB04bu3IGzhu4cgbeG6r2MgYuG7h25oIHRpbSBkbyB4xqEgY+G7qW5nIMSR4buZbmcgbeG6oWNoIGNhbyBoxqFuIOG7nyBuYW0gZ2nhu5tpIGJhbyBn4buTbSBow7p0IHRodeG7kWMgbMOhIG5oaeG7gXUgaMahbiDhu58gbmFtIGdp4bubaTsgdOG7tyBs4buHIHBo4buVIGJp4bq/biBjYW8gaMahbiBj4bunYSBNw7QgaMOsbmggaMOgbmggdmkgZOG7hSBi4buLIG3huqFjaCB2w6BuaCBj4bqhbmggdHJhbmgsIGh1bmcgaMSDbmcg4bufIG5hbSBnaeG7m2k7IHbDoCBjw7MgdGjhu4MgbMOgIHZhaSB0csOyIGLhuqNvIHbhu4cgY+G7p2EgbuG7mWkgdGnhur90IHThu5EgbuG7ry4gTmdvw6BpIHJhLCBuYW0gZ2nhu5tpIGPDsyB04bu3IGzhu4cgdOG7rSB2b25nIGRvIHVuZyB0aMawIHBo4buVaSB2w6Aga2jDrSB0aMWpbmcgY2FvIGjGoW4sIMSR4bq3YyBiaeG7h3QgbMOgIGRvIGPDsyBuaGnhu4F1IG5hbSBnaeG7m2kgaMO6dCB0aHXhu5FjIGzDoSBoxqFuLiBOZ2/DoGkgcmEsIHThu7cgbOG7hyBuYW0gZ2nhu5tpIGPDsyB0deG7lWkgdGjhu40gdGjhuqVwIGjGoW4gbuG7ryBnaeG7m2kgdsOsIG3hu5l0IHPhu5Egbmd1ecOqbiBuaMOibiBuaMawIDogdGFpIG7huqFuLCB04buxIHThu60gdsOgIHjGoSBnYW4uIE3hu5dpIGjDoG5oIHZpIG7DoHkgxJHhu4F1IGxpw6puIHF1YW4gxJHhur9uIG5o4buvbmcgaMOgbmggdmkgxJHGsOG7o2Mga2h1eeG6v24ga2jDrWNoIGhv4bq3YyBjaOG6pXAgbmjhuq1uIOG7nyBuYW0gZ2nhu5tpIG5oaeG7gXUgaMahbiDhu58gbuG7ryBnaeG7m2kgdHJvbmcgeMOjIGjhu5lpIGPhu6dhIGNow7puZyB0YSDigJQgdsOtIGThu6U6IHPhu60gZOG7pW5nIHPDum5nLCB0aMOtY2ggcGhpw6p1IGzGsHUgdsOgIGjDoG5oIMSR4buZbmcga2jDtG5nIHPhu6MgaMOjaSwgbMOgbSBuaOG7r25nIGPDtG5nIHZp4buHYyBuZ3V5IGhp4buDbSB2w6AgdeG7kW5nIHLGsOG7o3UuIFTDtGkga+G6v3QgbHXhuq1uIHbhu5tpIGPDoWMgxJHhu4EgeHXhuqV0IMSR4buDIGdp4bqjbSB04bu3IGzhu4cgdOG7rSB2b25nIOG7nyBuYW0gZ2nhu5tpOyB2w60gZOG7pSwgYuG6sW5nIGPDoWNoIHRoYXkgxJHhu5VpIGPDoWMgxJFp4buBdSBraeG7h24geMOjIGjhu5lpIHRow7pjIMSR4bqpeSDhu58gbmFtIGdp4bubaSBuaOG7r25nIGjDoG5oIHZpIGzDoG0gdMSDbmcgdOG7tyBs4buHIHThu60gdm9uZyBj4bunYSBo4buNIChJIFdhbGRyb24sICYgUyBKb2huc3RvbiAoMTk3NikpLiBEbyDEkcOzLCBuZ8aw4budaSB0aGFtIGdpYSBi4bqjbyBoaeG7g20gY+G6p24gY8OibiBuaOG6r2Mga+G7uSBjw6FjIHnhur91IHThu5EgbsOgeSBraGkgbOG7sWEgY2jhu41uIGfDs2kgYuG6o28gaGnhu4NtIHBow7kgaOG7o3AgduG7m2kgbmh1IGPhuqd1IHbDoCBraOG6oyBuxINuZyBj4bunYSBtw6xuaC4gQuG6sW5nIGPDoWNoIG7DoHksIGjhu40gY8OzIHRo4buDIHRp4bq/dCBraeG7h20gY2hpIHBow60gdsOgIMSRxrDhu6NjIGLhuqNvIHbhu4cgc+G7qWMga2jhu49lIG3hu5l0IGPDoWNoIGhp4buHdSBxdeG6oy4NCg0KIyMgSOG6oW4gY2jhur8NCg0KQuG7mSBk4buvIGxp4buHdSDEkcaw4bujYyB0aHUgdGjhuq1wIHThu6sgbsaw4bubYyBuZ2/DoGkgxJHGsOG7o2MgxJHEg25nIHThuqNpIHRyw6puIGludGVybmV0IHbDoCBs4bqleSB04burIGN14buZYyBraOG6o28gc8OhdCBnb29nbGUgZm9ybSBuw6puIHThu7cgbOG7hyBjaMOtbmggeMOhYyBz4bq9IGtow7RuZyB0dXnhu4d0IMSR4buRaS4gxJDDsyBjxaluZyBjaMOtbmggbMOgIG5ndXnDqm4gbmjDom4gZOG6q24gdHJvbmcgcXXDoSB0csOsbmggbmdoacOqbiBj4bupdSwgbMOgbSB4deG6pXQgaGnhu4duIGPDoWMgYmnhur9uIE5BIGtow7RuZyB4w6FjIMSR4buLbmguIEjGoW4gbuG7r2Ega2luaCBuZ2hp4buHbSBj4bunYSBzaW5oIHZpw6puIGPDsm4gaOG6oW4gY2jhur8gbsOqbiBraGkgdGjhu7FjIGhp4buHbiBuZ2hpw6puIGPhu6l1IGLhurFuZyBwaOG6p24gbeG7gW0gUiBjw7JuIG5oaeG7gXUgdGhp4bq/dSBzw7N0IHbDoCBjw7MgY2jhu5cgY2jGsGEgY2jDrW5oIHjDoWMuDQoNCiMgVMOASSBMSeG7hlUgVEhBTSBLSOG6ok8NCg0KWzFdIEEgSyBOYWlyICxKciBFIE4gQnJhbmR0KDIwMDApLiBFZmZlY3RzIG9mIHNtb2tpbmcgb24gaGVhbHRoIGNhcmUgY29zdHMuIFRoZSBKb3VybmFsIG9mIHRoZSBPa2xhaG9tYSBTdGF0ZSBNZWRpY2FsIEFzc29jaWF0aW9uLCA5Myg2KSwgMjQ1LTI1MC4NCg0KWzJdIEkgV2FsZHJvbiwgJiBTIEpvaG5zdG9uICgxOTc2KS4gV2h5IGRvIHdvbWVuIGxpdmUgbG9uZ2VyIHRoYW4gbWVuPy4gSm91cm5hbCBvZiBodW1hbiBzdHJlc3MsIDIoMiksIDE5LTMwLg==