CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Đặt vấn đề

      Nhân viên là nguồn lực quan trọng, cốt lõi đối với sự tồn tại, thành công của hầu hết doanh nghiệp hiện nay. Đối với doanh nghiệp, bài toán tối ưu năng suất và hiệu quả công việc luôn là chủ đề được quan tâm đặc biệt. Trên quan điểm của nhóm sinh viên thực hiện đề tài, doanh nghiệp muốn nâng cao hiệu suất công việc cần đặc biệt chú trọng đến yếu tố con người, cụ thể là động lực làm việc của nhân viên với lý do chính sau đây:

      (i) Việc nâng cao động lực và hài lòng về công việc của nhân viên giúp tăng đáng kể hiệu suất làm việc, ngoài ra tỷ lệ nghỉ việc và nghỉ phép sẽ giảm đi đáng kể.

      (ii) Động lực làm việc giúp kích thích sáng tạo của nhân viên trong công việc. Khi họ cảm thấy đam mê và có khát vọng phát triển, họ sẽ tự tin đưa ra ý tưởng mới, giải pháp sáng tạo và cải tiến quy trình công việc. Điều này có thể mang lại lợi thế cạnh tranh và thúc đẩy sự phát triển của doanh nghiệp.

      (iii) Khi nhân viên được công nhận và nhận được đãi ngộ tốt, họ sẽ cảm thấy gắn kết với doanh nghiệp và có xu hướng ở lại lâu dài.

      (iv) Động lực làm việc tạo điều kiện cho một môi trường làm việc tích cực, góp phần tạo nên đòn bẩy gia tăng hiệu suất làm việc.

      Xuất phát từ mục tiêu phân tích các yếu tố ảnh hưởng đến nỗ lực làm việc của nhân viên, nhóm sinh viên tiến hành thực hiện đề tài “Đánh giá nỗ lực làm việc của nhân viên: Bằng chứng thực nghiệm từ khảo sát 160 người” và đề tài có những đóng góp chủ yếu sau:

  • Xác định các yếu tố ảnh hưởng đến nỗ lực làm việc của nhân viên.

  • So sánh mức độ ảnh hưởng của các yếu tố tác động đã xác định.

  • Đưa ra các khuyến nghị quan trọng cho nhà quản lý nhân sự.

1.2. Mục tiêu nghiên cứu

1.2.1. Mục tiêu chung

      Phân tích các yếu tố tác động đến nỗ lực làm việc của nhân viên dựa trên dữ liệu khảo sát từ 160 người trong tháng 3 năm 2024 tại địa bàn Quận 7, Tp. Hồ Chí Minh, Việt Nam.

1.2.2. Mục tiêu cụ thể

     - Định lượng các yếu tố tác động đến động lực làm việc bằng mô hình hồi quy dữ liệu định tính.

     - Dựa trên kết quả nghiên cứu, đưa ra lời khuyên và gợi ý cho nhà quản lý nhân sự trong việc tăng cường động lực làm việc của nhân viên trong doanh nghiệp.

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

      Đề tài sử dụng các phương pháp phân tích dữ liệu định tính bao gồm:

      - Thống kê mô tả.

      - Relative Risk.

      - Ước lượng tỷ lệ.

      - Odd Ratio.

      - Hồi quy xác suất tuyến tính, Logit và Probit.

CHƯƠNG 2: CƠ CỞ LÝ THUYÉT VÀ LƯỢC KHẢO TÀI LIỆU

2.1. Cơ sở lý thuyết

2.1.1. Lý thuyết kỳ vọng (Vroom, 1964)

      Victor Vroom (1964) đã đề xuất Lý thuyết Kỳ vọng (Expactancy Theory) trong cuốn sách “Work and Motivation”. Trong Lý thuyết Kỳ vọng, quyết định và hành vi của các cá nhân được thúc đẩy bởi ba yếu tố: (i) Expectancy - Kỳ vọng về kết quả, (ii) Valence - Giá trị nhận được từ kết quả mong muốn và (iii) Instrumentality - Đánh giá tính hiệu quả. Theo đó, sự kết hợp của ba yếu tố này sẽ thể hiện động lực tổng thể cho mục tiêu thực hiện và mục tiêu có động lực cao nhất sẽ được thúc đẩy để thực hiện. Cụ thể, ba yếu tố này được trình bày chi tiết như sau:

      - Kỳ vọng về kết quả (Expectancy): Đây là sự kỳ vọng của cá nhân về khả năng thực hiện thành công một nhiệm vụ hay dự án với kết quả đạt được mong muốn. Nếu cá nhân tin rằng nỗ lực của mình sẽ dẫn đến kết quả thành công, kỳ vọng về kết quả sẽ cao hơn.

      - Giá trị nhận được (Valence): Đây là giá trị cảm xúc hoặc mong muốn, tầm quan trọng hoặc sự hài lòng được mong đợi đối với kết quả từ mục tiêu nhất định.

      - Đánh giá tính hiệu quả (Instrumentality): Đây là khả năng nhận thức của các cá nhân về mối quan hệ giữa kết quả và phần thưởng nhận được, tức là nếu một cá nhân hoàn thành nhiệm vụ ở mức độ cụ thể sẽ nhận được đãi ngộ tương ứng.

      Tóm lại, Lý thuyết Kỳ vọng của Vroom (1964) cho thấy rằng, nếu một cá nhân tin rằng sự nỗ lực sẽ đem đến kết quả nhất định, và kết quả đó mang đến giá trị cảm xúc kèm với đãi ngộ tương ứng sẽ thúc đẩy cá nhân quyết định, cố gắng thực hiện những mục tiêu đề ra.

      Theo quan điểm của nhóm sinh viên, Lý thuyết Kỳ vọng có thể áp dụng cho đề tài “Đánh giá nỗ lực làm việc của nhân viên” khi đề cập đến mối quan hệ trực tiếp giữa nỗ lực - kết quả; kết quả - giá trị cảm xúc; kết quả - đãi ngộ/ phần thưởng.

2.1.2. Lý thuyết nhu cầu (Maslow, 1943)

      Maslow (1943) đã đề xuất Hệ thống Nhu cầu (Hierarchy of needs) trong bài báo “A Theory of Human Motivation” trong đánh giá tâm lý học. Trong bài viết, Maslow đã liệt kê các mệnh đề cơ bản và xây dựng lý thuyết về động cơ của con người dựa trên mệnh đề và quan sát thực nghiệm. Trong Hệ thống Nhu cầu Maslow, có 5 nhu cầu cơ bản được sắp xếp theo thứ bậc ưu tiên (thường là dạng hình tam giác). Khi nhu cầu ở bậc thấp hơn được đáp ứng, nhu cầu ở thứ bậc cao hơn sẽ xuất hiện. Các bậc nhu cầu cơ bản được sắp xếp theo thứ bậc “ưu việt” trong hệ thống phân cấp, các nhu cầu đó bao gồm: Sinh lý, An toàn, Xã hội, Tự trọng và Tự khẳng định. Các nhu cầu này được minh họa cụ thể tại Hình 1 như sau:

Hình 2. Tháp nhu cầu của Maslow

Nguồn: nhóm sinh viên tự vẽ trên PowerPoint 2016

      Theo Lý thuyết nhu cầu của Maslow, các nhu cầu cơ bản của con người được sắp xếp theo thứ tự phân tầng từ thấp đến cao. Maslow (1943) cho rằng “Con người là một động vật luôn khao khát”. Áp dụng đối với đề tài nghiên cứu “Đánh giá nỗ lực của nhân viên”, Lý thuyết Nhu cầu có thể gợi ý rằng việc quản lý, thúc đẩy nhân viên nên chú trọng đến việc đáp ứng các nhu cầu vật chất trước, sau đó dần dần nâng cao đến các nhu cầu cao hơn. Tuy nhiên, cần lưu ý rằng việc cản trở, đáp ứng sai thứ bậc của những nhu cầu cơ bản này sẽ dẫn đến việc mất động lực và có thể là chán ghét, bất mãn.

2.1.3. Lý thuyết hành vi dự định (Ajzen & Fishbein, 1991)

      Lý thuyết Hành vi Dự định (Theory of Planned Behavior) là một lý thuyết trong lĩnh vực tâm lý xã hội và hành vi con người được đề xuất bởi Ajzen (1991) dựa trên lý thuyết hành vi hợp lý (Theory of Reasoned Action) của Ajzen & Fishbein (1980). Theo lý thuyết Hành vi Dự định, thành tích hành vi phụ thuộc vào cả động lực (ý định) và khả năng (kiểm soát hành vi). Từ đó, có ba yếu tố ảnh hưởng đến việc thực hiện hành vi là:

      - Thái độ đối với hành vi: Đây là cách mà một người đánh giá tích cực hoặc tiêu cực về một hành vi cụ thể. Nó liên quan đến xem xét kết quả và hiệu quả của việc thực hiện hành vi đó.

      - Chuẩn mực chủ quan: Đây là niềm tin của một người về sự đồng thuận hoặc không đồng thuận từ phía người khác về một hành vi. Nó liên quan đến niềm tin của một người về việc liệu bạn bè và những người quan trọng có tán thành hay không tán thành hành vi đó.

      - Nhận thức về kiểm soát hành vi: Đây là nhận thức của một người về mức độ dễ dàng hoặc khó khăn khi thực hiện một hành vi. Nhận thức về kiểm soát hành vi có thể thay đổi theo tình huống và hành động, dẫn đến sự khác biệt trong nhận thức về khả năng kiểm soát hành vi tùy thuộc vào tình huống.

      Như vậy, nhóm sinh việc cho rằng có thể áp dụng Lý thuyết Hành vi Dự định cho đề tài “Động lực làm việc của nhân viên” có thể gợi ý rằng việc quản lý cần tạo thái độ tích cực, đồng thuận và kiểm soát hợp lý/ phù hợp trong công việc để tăng động lực làm việc của nhân viên.

2.2. Tổng quan các nghiên cứu trước đây

2.2.1. Các bài báo Tiếng Việt

      Nguyễn Khắc Hoàn (2010) đã nghiên cứu các yếu tố ảnh hưởng đến động lực làm việc của nhân viên tại Ngân hàng Thương mại cổ phần Á Châu - Chi nhánh Huế. Theo đó, bài viết này xác định 5 yếu tố ảnh hưởng đến động lực làm việc của nhân viên gồm: (i) Môi trường làm việc, (ii) Lương bổng và phúc lợi, (iii) Cách thức bố trí công việc, (iv) Sự hứng thú trong công việc và (v) Triển vọng phát triển. Kết quả nghiên cứu cho thấy, cả 5 yếu tố trên đều có tác động đáng kể đến động lực làm việc của nhân viên ngân hàng. Cụ thể, khi cả 5 yếu tố đều được cải thiện (theo hướng tích cực) sẽ thúc đẩy sự gia tăng động lực làm việc của nhân viên Ngân hàng TMCP Á Châu - Chi nhánh Huế. Trong đó yếu tố môi trường làm việc và sự thăng tiến trong tương lai có tác động lớn nhất đến động lực làm việc.

      Bùi Đức Thọ (2013) đã xây dựng bộ câu hỏi khảo sát dựa trên Lý thuyết Kỳ vọng của 172 cán bộ công chức, viên chức thuộc các đơn vị hành chính công. Kết quả cho thấy, đãi ngộ đối với công chức, viên chức chưa tác động rõ rệt đến động lực làm việc của cán bộ, viên chức. Dựa trên Thuyết kỳ vọng của Vroom, bài nghiên cứu đã tìm ra được những nguyên nhân cơ bản làm cho cán bộ công chức, viên chức chưa thực sự nỗ lực cao.

      Hoàng Thị Hồng Lộc & Nguyễn Quốc Nghi (2014) phân tích các yếu tố ảnh hưởng đến động lực làm việc của cán bộ, viên chức dựa trên khung Lý thuyết Nhu cầu của Maslow và Lý thuyết Nhu cầu của Navis (1983). Tác giả bài viết có lập luận từ kết quả nghiên cứu như sau: “Trong bối cảnh chi thường xuyên cho lương của cán bộ công chức đang dần trở thành gánh nặng cho ngân sách nhà nước, thì việc dùng tiền lương để thúc đẩy người lao động lại càng trở nên khó khả thi. Thay vào đó các nhà quản lý khu vực công có thể sử dụng những công cụ khác như tạo cơ hội thăng tiến, học tập bồi dưỡng, xây dựng môi trường làm việc đoàn kết, tương trợ lẫn nhau… nhằm nâng cao mức sẵn lòng làm việc (willingness to work) của nhân viên.”

2.2.2. Các bài báo Tiếng Anh

      Chai và cộng sự (2017) đã tiến hành đánh giá động lực làm việc của sinh viên tốt nghiệp ngành trị liệu (Theraphy) tại Malaysia trong năm 2017. Mục tiêu của nghiên cứu này là: (a) xác định động lực làm việc (b) xác định sự khác biệt về động lực làm việc trên lĩnh vực công việc, vị trí công việc, thời gian làm việc, kinh nghiệm làm việc và cả giới tính. Kết quả cho thấy động lực làm việc của sinh viên tốt nghiệp ở mức cao với nguyên nhân chủ yếu từ sự hứng thú đối với công việc và tiềm năng của công việc hướng tới mục tiêu cá nhân. Ngoài ra, tác giả cũng lập luận rằng bằng cách giúp đỡ hoặc quan tâm sinh viên tốt nghiệp, thử thách tiềm năng cá nhân (tạo cơ hội phát triển) sẽ thúc đẩy động lực của những sinh viên tốt nghiệp.

      J. Collie (2023) kiểm tra động lực làm việc của nhóm giáo viên người Úc trong năm 2023. Theo đó, nghiên cứu này dựa trên nền tảng của Lý thuyết Tự quyết (Self-Determination Theory) với hai giả định chính: (i) Nhu cầu phát triển thúc đẩy hành vi, (ii) Động lực tự chủ là yếu tố quan trọng. Trong đó, sự tự quyết có 3 thành phần: quyền tự chủ (cảm thấy kiểm soát được hành vi, mục tiêu), năng lực (kinh nghiệm và kỹ năng), sự gắn kết (thân thuộc và gắn bó với người khác/ đồng nghiệp). Kết quả nghiên cứu của J. Collie chỉ ra rằng khi nhà quản lý ủng hộ quyền tự quyết sẽ có tác động đáng kể đến động lực bên trong (tự cá nhân muốn cố gắng), trong khi nhà quản lý cản trở quyền tự quyết lại có tác động đáng kể đến động lực bên ngoài (phải làm).

      Layek & Koodamara (2024) đã điều tra tác động của động lực bên trong và bên ngoài đến hiệu suất làm việc của giảng viên tại Ấn Độ. Kết quả cho thấy mối quan hệ tích cực mạnh mẽ giữa động lực bên trong và bên ngoài và hiệu suất của giáo viên. Theo đó, việc nâng cao bồi dưỡng, nghiên cứu khoa học cho giảng viên chính là động lực bên trong, có vai trò quan trọng trong việc thúc đẩy động lực của giáo viên và sau đó nâng cao kết quả học tập của sinh viên. Ngoài ra, tác giả cho rằng các yếu tố bên ngoài như tiền lương, phúc lợi và điều kiện làm việc có thể ảnh hưởng đến sự hài lòng chung trong công việc của giảng viên thì động lực bên trong chủ yếu xuất phát từ các yếu tố bên trong (được phát triển, nghiên cứu khoa học, được quý mến,…) là tác động chính đến động lực làm việc của giảng viên.

CHƯƠNG 3: DỮ LIỆU NGHIÊN CỨU

      Dữ liệu được sử dụng trong đề tài được thu thập bằng cách khảo sát 160 nhân viên nhân phòng tại Quận 7, TP. Hồ Chí Minh. Bộ dữ liệu với các biến được chọn phân tích bao gồm 6 biến với 1 biến phụ thuộc và 5 biến độc lập. Cụ thể là:

      Biến phụ thuộc: “Động lực làm việc” của nhân viên, được nhóm sinh viên biến đổi dữ liệu và biểu thị dưới dạng giá trị gồm: Có nỗ lực (Đồng ý, Rất đồng ý) và Không nỗ lực (Trung lập, Không đồng ý, Rất không đồng ý)

      Biến độc lập:

  • X1 - Chính sách khen thưởng rõ ràng, công bằng và công khai.

  • X2 - Tiền lương được trả tương xứng với năng lực.

  • X3 - Công việc phù hợp tính cách và thế mạnh.

  • X4 - Có niềm tin vào sự phát triển ổn định của công ty.

  • X5 - Thâm niên làm việc.

      Các biến độc lập gồm X1, X2, X3, X4 cũng được biến đổi dữ liệu và biểu thị dưới dạng Tán thành (Đồng ý, Rất đồng ý) và Trung lập hoặc không tán thành (Trung lập, Không đồng ý, Rất không ý). Riêng biến độc lập X5 được biến đổi thành 2 biểu hiện: Dưới 3 năm (Dưới 1 năm, Từ 1 đến 3 năm) và Trên 3 năm (Từ 3 đến 5 năm, Từ 5 năm trở lên).

3.1. Dữ liệu gốc

3.2. Dữ liệu hai biểu hiện

WorkMotivation2 <- WorkMotivation

WorkMotivation2$`Nỗ lực làm việc` <- ifelse(WorkMotivation2$`Nỗ lực làm việc` == "A. Rất đồng ý", "Có nỗ lực", ifelse(WorkMotivation2$`Nỗ lực làm việc` == "B. Đồng ý", "Có nỗ lực", ifelse(WorkMotivation2$`Nỗ lực làm việc` == "C. Trung lập", "Không nỗ lực", ifelse(WorkMotivation2$`Nỗ lực làm việc` == "D. Không đồng ý", "Không nỗ lực", "Không nỗ lực"))))

WorkMotivation2$`Chính sách khen thưởng rõ ràng, công bằng và công khai` <- ifelse(WorkMotivation2$`Chính sách khen thưởng rõ ràng, công bằng và công khai` == "A. Rất đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Chính sách khen thưởng rõ ràng, công bằng và công khai` == "B. Đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Chính sách khen thưởng rõ ràng, công bằng và công khai` == "C. Trung lập", "B. Trung lập hoặc không tán thành", ifelse(WorkMotivation2$`Chính sách khen thưởng rõ ràng, công bằng và công khai` == "D. Không đồng ý", "B. Trung lập hoặc không tán thành", "B. Trung lập hoặc không tán thành"))))

WorkMotivation2$`Tiền lương được trả tương xứng với năng lực` <- ifelse(WorkMotivation2$`Tiền lương được trả tương xứng với năng lực` == "A. Rất đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Tiền lương được trả tương xứng với năng lực` == "B. Đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Tiền lương được trả tương xứng với năng lực` == "C. Trung lập", "B. Trung lập hoặc không tán thành", ifelse(WorkMotivation2$`Tiền lương được trả tương xứng với năng lực` == "D. Không đồng ý", "B. Trung lập hoặc không tán thành", "B. Trung lập hoặc không tán thành"))))

WorkMotivation2$`Công việc phù hợp với tính cách và thế mạnh` <- ifelse(WorkMotivation2$`Công việc phù hợp với tính cách và thế mạnh` == "A. Rất đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Công việc phù hợp với tính cách và thế mạnh` == "B. Đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Công việc phù hợp với tính cách và thế mạnh` == "C. Trung lập", "B. Trung lập hoặc không tán thành", ifelse(WorkMotivation2$`Công việc phù hợp với tính cách và thế mạnh` == "D. Không đồng ý", "B. Trung lập hoặc không tán thành", "B. Trung lập hoặc không tán thành"))))

WorkMotivation2$`Niềm tin vào sự phát triển ổn định của công ty` <- ifelse(WorkMotivation2$`Niềm tin vào sự phát triển ổn định của công ty` == "A. Rất đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Niềm tin vào sự phát triển ổn định của công ty` == "B. Đồng ý", "A. Tán thành", ifelse(WorkMotivation2$`Niềm tin vào sự phát triển ổn định của công ty` == "C. Trung lập", "B. Trung lập hoặc không tán thành", ifelse(WorkMotivation2$`Niềm tin vào sự phát triển ổn định của công ty` == "D. Không đồng ý", "B. Trung lập hoặc không tán thành", "B. Trung lập hoặc không tán thành"))))

WorkMotivation2$`Thâm niên làm việc` <- ifelse(WorkMotivation2$`Thâm niên làm việc` == "Dưới 1 năm", "Dưới 3 năm", ifelse(WorkMotivation2$`Thâm niên làm việc` == "Từ 1 đến 3 năm", "Dưới 3 năm", "Trên 3 năm"))

datatable(WorkMotivation2)

CHƯƠNG 4: PHÂN TÍCH DỮ LIỆU

names(WorkMotivation2)[names(WorkMotivation2) == "Nỗ lực làm việc"] <- "Y"
names(WorkMotivation2)[names(WorkMotivation2) == "Chính sách khen thưởng rõ ràng, công bằng và công khai"] <- "X1"
names(WorkMotivation2)[names(WorkMotivation2) == "Tiền lương được trả tương xứng với năng lực"] <- "X2"
names(WorkMotivation2)[names(WorkMotivation2) == "Công việc phù hợp với tính cách và thế mạnh"] <- "X3"
names(WorkMotivation2)[names(WorkMotivation2) == "Niềm tin vào sự phát triển ổn định của công ty"] <- "X4"
names(WorkMotivation2)[names(WorkMotivation2) == "Thâm niên làm việc"] <- "X5"

4.1. Bảng tần số - Biến phụ thuộc

(table(WorkMotivation2$Y) %>% as.data.frame() %>% rename("Mức độ nỗ lực làm việc" = Var1, "Số nhân viên" = Freq)) %>% kable()
Mức độ nỗ lực làm việc Số nhân viên
Có nỗ lực 127
Không nỗ lực 33
((table(WorkMotivation2$Y)/length(WorkMotivation$`Nỗ lực làm việc`)) %>% as.data.frame() %>% rename("Mức độ nỗ lực làm việc" = Var1, "Tỷ lệ phần trăm" = Freq)) %>% kable()
Mức độ nỗ lực làm việc Tỷ lệ phần trăm
Có nỗ lực 0.79375
Không nỗ lực 0.20625

Nhận xét: Tỷ lệ của biểu hiện Có nỗ lực chiếm 79%, cao gấp 3 lần so với biểu hiện Không nỗ lực .

ggplot(WorkMotivation2, aes(Y)) + geom_bar(position= "dodge") + labs(x= NULL, y= "Số nhân viên")

4.2. Kiểm định tính độc lập

      Giả thuyết:

  • \(H_0: X,Y\) độc lập.

  • \(H_1: X,Y\) không độc lập.

      Giá trị kiểm định:

Phương pháp Chi bình phương: \[ \chi^2=\sum_{i, j} \frac{\left(n_{i j}-\hat{\mu}_{i j}\right)^2}{\hat{\mu}_{i j}} \]

Với \(n_{i j}\) là giá trị của ô \(i, j, \hat{\mu}_{i j}=\frac{n_{i+} n_{+j}}{n}\)

4.2.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

dl1 <- chisq.test(table(WorkMotivation2$Y, WorkMotivation2$X1))
dl1
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(WorkMotivation2$Y, WorkMotivation2$X1)
## X-squared = 26.893, df = 1, p-value = 2.15e-07

Nhận xét: p_value = 2.15e-07 nhỏ hơn rất nhiều so với 0.05 nên bác bỏ \(H_0\), chấp nhận \(H_1\). Vậy với mức ý nghĩa 5%, biến Nỗ lực làm việc và biến Chính sách khen thưởng rõ ràng, công bằng và công khai có liên quan với nhau.

4.2.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

dl2 <- chisq.test(table(WorkMotivation2$Y, WorkMotivation2$X2))
dl2
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(WorkMotivation2$Y, WorkMotivation2$X2)
## X-squared = 36.594, df = 1, p-value = 1.455e-09

Nhận xét: p_value = 1.455e-09 nhỏ hơn rất nhiều so với 0.05 nên bác bỏ \(H_0\), chấp nhận \(H_1\). Vậy với mức ý nghĩa 5%, biến Nỗ lực làm việc và biến Tiền lương được trả tương xứng với năng lực có liên quan với nhau.

4.2.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

dl3 <- chisq.test(table(WorkMotivation2$Y, WorkMotivation2$X3))
dl3
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(WorkMotivation2$Y, WorkMotivation2$X3)
## X-squared = 20.205, df = 1, p-value = 6.959e-06

Nhận xét: p_value = 6.959e-06 nhỏ hơn rất nhiều so với 0.05 nên bác bỏ \(H_0\), chấp nhận \(H_1\). Vậy với mức ý nghĩa 5%, biến Nỗ lực làm việc và biến Công việc phù hợp với tính cách và thế mạnh có liên quan với nhau.

4.2.4. Nỗ lực làm việc - Niềm tin vào sự phát triển ổn định của công ty

dl4 <- chisq.test(table(WorkMotivation2$Y, WorkMotivation2$X4))
dl4
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(WorkMotivation2$Y, WorkMotivation2$X4)
## X-squared = 17.696, df = 1, p-value = 2.592e-05

Nhận xét: p_value = 2.592e-05 nhỏ hơn rất nhiều so với 0.05 nên bác bỏ \(H_0\), chấp nhận \(H_1\). Vậy với mức ý nghĩa 5%, biến Nỗ lực làm việc và biến Niềm tin vào sự phát triển ổn định của công ty có liên quan với nhau.

4.2.5. Nỗ lực làm việc - Thâm niên làm việc

dl5 <- chisq.test(table(WorkMotivation2$Y, WorkMotivation2$X5))
dl5
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(WorkMotivation2$Y, WorkMotivation2$X5)
## X-squared = 0.87647, df = 1, p-value = 0.3492

Nhận xét: p_value = 0.3492 > 0.05 chưa đủ điều kiện để bác bỏ \(H_0\). Vậy với mức ý nghĩa 5%, biến Nỗ lực làm việc và biến Thâm niên làm việc không có liên quan với nhau.

4.2.6. Tổng hợp kết quả kiểm định tính độc lập

data.frame( "Biến_độc_lập" = c("Chính sách khen thưởng rõ ràng, công bằng và công khai", "Tiền lương được trả tương xứng với năng lực", "Công việc phù hợp với tính cách và thế mạnh", "Có niềm tin vào sự phát triển ổn định của công ty", "Thâm niên làm việc"), "p_value" = c(dl1$p.value, dl2$p.value, dl3$p.value, dl4$p.value, dl5$p.value), "Kết_Luận" = c("Không độc lập","Không độc lập","Không độc lập","Không độc lập","Độc lập")) %>% kable()
Biến_độc_lập p_value Kết_Luận
Chính sách khen thưởng rõ ràng, công bằng và công khai 0.0000002 Không độc lập
Tiền lương được trả tương xứng với năng lực 0.0000000 Không độc lập
Công việc phù hợp với tính cách và thế mạnh 0.0000070 Không độc lập
Có niềm tin vào sự phát triển ổn định của công ty 0.0000259 Không độc lập
Thâm niên làm việc 0.3491708 Độc lập

4.3. Bảng ngẫu nhiên

4.3.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

kable(table(WorkMotivation2$Y, WorkMotivation2$X1))
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 103 24
Không nỗ lực 11 22
ggplot(WorkMotivation2, aes(Y, fill= X1)) + geom_bar(position= "dodge") + labs(x= NULL, y= "Số nhân viên") + theme(legend.position = "top")

Nhận xét: Bảng thống kê về mối quan hệ giữa biến Nỗ lực làm việc và biến Chính sách khen thưởng rõ ràng, công bằng và công khai cho thấy trong số 127 nhân viên Có nỗ lực làm việc có 103 người Tán thành còn lại là Trung lập hoặc không tán thành. Đối với 33 nhân viên Không nỗ lực, có 11 người Tán thành và 22 người Trung lập hoặc không tán thành.

4.3.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

kable(table(WorkMotivation2$Y, WorkMotivation2$X2))
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 105 22
Không nỗ lực 9 24
ggplot(WorkMotivation2, aes(Y, fill= X2)) + geom_bar(position= "dodge") + labs(x= NULL, y= "Số nhân viên") + theme(legend.position = "top")

Nhận xét: Bảng thống kê về mối quan hệ giữa biến Nỗ lực làm việc và biến Tiền lương được trả tương xứng với năng lực cho thấy trong số 127 nhân viên Có nỗ lực làm việc có 105 người Tán thành còn lại là Trung lập hoặc không tán thành. Đối với 33 nhân viên Không nỗ lực, có 9 người Tán thành và 24 người Trung lập hoặc không tán thành.

4.3.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

kable(table(WorkMotivation2$Y, WorkMotivation2$X3))
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 97 30
Không nỗ lực 11 22
ggplot(WorkMotivation2, aes(Y, fill= X3)) + geom_bar(position= "dodge") + labs(x= NULL, y= "Số nhân viên") + theme(legend.position = "top")

Nhận xét: Bảng thống kê về mối quan hệ giữa biến Nỗ lực làm việc và biến Công việc phù hợp với tính cách và thế mạnh cho thấy trong số 127 nhân viên Có nỗ lực làm việc có 97 người Tán thành còn lại 30 người là Trung lập hoặc không tán thành. Đối với 33 nhân viên Không nỗ lực, có 11 người Tán thành và 22 người Trung lập hoặc không tán thành.

4.3.4. Nỗ lực làm việc - Niềm tin vào sự phát triển ổn định của công ty

kable(table(WorkMotivation2$Y, WorkMotivation2$X3))
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 97 30
Không nỗ lực 11 22
ggplot(WorkMotivation2, aes(Y, fill= X3)) + geom_bar(position= "dodge") + labs(x= NULL, y= "Số nhân viên") + theme(legend.position = "top")

Nhận xét: Bảng thống kê về mối quan hệ giữa biến Nỗ lực làm việc và biến Niềm tin vào sự phát triển ổn định của công ty cho thấy trong số 127 nhân viên Có nỗ lực làm việc có 100 người Tán thành còn lại 27 người là Trung lập hoặc không tán thành. Đối với 33 nhân viên Không nỗ lực, có 13 người Tán thành và 20 người Trung lập hoặc không tán thành.

4.4. Relative Risk

      Ký hiệu \(\pi_i\) là tỷ lệ “thành công” của biến phụ thuộc (response variable) tương ứng với từng biểu hiện của biến độc lập.

      Từ bảng tần xuất, chúng ta tính \(\frac{\pi_1}{\pi_2}\), phân số này gọi là Relative risk giữa 2 biểu hiện khác nhau của biến phụ thuộc.

\[RR=\frac{\pi_1}{\pi_2}=\frac{n_{1 1}/(n_{1 1} +n_{1 2})}{n_{2 1} / (n_{2 1} +n_{2 2})}\]

4.4.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

rr1 <- table(WorkMotivation2$Y, WorkMotivation2$X1) %>% kable()
rr1r <- table(WorkMotivation2$Y, WorkMotivation2$X1) %>% RelRisk(, conf.level = .95)
rr1
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 103 24
Không nỗ lực 11 22
rr1r
## rel. risk    lwr.ci    upr.ci 
##  2.433071  1.591584  4.130647
rr1x <- table(WorkMotivation2$Y, WorkMotivation2$X1) %>% RelRisk()

Nhận xét: RR của biến Nỗ lực làm việcChính sách khen thưởng rõ ràng, công bằng và công khai là 2.433 lớn hơn 1. Điều này có nghĩa là tỷ lệ “thành công” giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 2.433. Vậy nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành.

Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của RR nằm trong khoảng từ 1.592 đến 4.131.

4.4.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

rr2 <- table(WorkMotivation2$Y, WorkMotivation2$X2) %>% kable()
rr2r <- table(WorkMotivation2$Y, WorkMotivation2$X2) %>% RelRisk(, conf.level = .95)
rr2
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 105 22
Không nỗ lực 9 24
rr2r
## rel. risk    lwr.ci    upr.ci 
##  3.031496  1.854052  5.512961
rr2x <- table(WorkMotivation2$Y, WorkMotivation2$X2) %>% RelRisk()

Nhận xét: RR của biến Nỗ lực làm việcTiền lương được trả tương xứng với năng lực là 3.031 lớn hơn 1. Điều này có nghĩa là tỷ lệ “thành công” giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 3.031. Vậy nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành. Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của RR nằm trong khoảng từ 1.854 đến 5.513.

4.4.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

rr3 <- table(WorkMotivation2$Y, WorkMotivation2$X3) %>% kable()
rr3r <- table(WorkMotivation2$Y, WorkMotivation2$X3) %>% RelRisk(, conf.level = .95)
rr3
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 97 30
Không nỗ lực 11 22
rr3r
## rel. risk    lwr.ci    upr.ci 
##  2.291339  1.493600  3.897477
rr3x <- table(WorkMotivation2$Y, WorkMotivation2$X3) %>% RelRisk()

Nhận xét: RR của biến Nỗ lực làm việcCông việc phù hợp với tính cách và thế mạnh là 2.291 lớn hơn 1. Điều này có nghĩa là tỷ lệ “thành công” giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 2.291. Vậy nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành. Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của RR nằm trong khoảng từ 1.494 đến 3.897.

4.4.4. Nỗ lực làm việc - Có niềm tin vào sự phát triển ổn định của công ty

rr4 <- table(WorkMotivation2$Y, WorkMotivation2$X4) %>% kable()
rr4r <- table(WorkMotivation2$Y, WorkMotivation2$X4) %>% RelRisk(, conf.level = .95)
rr4
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 100 27
Không nỗ lực 13 20
rr4r
## rel. risk    lwr.ci    upr.ci 
##  1.998789  1.377243  3.214231
rr4x <- table(WorkMotivation2$Y, WorkMotivation2$X4) %>% RelRisk()

Nhận xét: RR của biến Nỗ lực làm việcCó niềm tin vào sự phát triển ổn định của công ty là 1.999 lớn hơn 1. Điều này có nghĩa là tỷ lệ “thành công” giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 1.999. Vậy nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành. Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của RR nằm trong khoảng từ 1.377 đến 3.214.

4.4.5. Tổng hợp kết quả Relative Risk

data.frame( "Biến_độc_lập" = c("Chính sách khen thưởng rõ ràng, công bằng và công khai", "Tiền lương được trả tương xứng với năng lực", "Công việc phù hợp với tính cách và thế mạnh", "Có niềm tin vào sự phát triển ổn định của công ty"), "Relative_Risk" = c(rr1x, rr2x, rr3x, rr4x)) %>% kable()
Biến_độc_lập Relative_Risk
Chính sách khen thưởng rõ ràng, công bằng và công khai 2.433071
Tiền lương được trả tương xứng với năng lực 3.031496
Công việc phù hợp với tính cách và thế mạnh 2.291339
Có niềm tin vào sự phát triển ổn định của công ty 1.998789

      Nhìn chung, giá trị Relative Risk đối với biến Chính sách khen thưởng rõ ràng, công bằng và công khai là cao nhất trong 4 biến được phân tích. Trong khi đó, biến Có niềm tin vào sự phát triển ổn định của công ty có giá trị Relative Risk thấp nhất. Kết quả này cho thấy, các yếu tố thuộc về “vật chất” như tiền lượng hoặc chính sách khen thưởng sẽ có tỷ lệ “thành công” cao hơn đối với biểu hiện Có nỗ lực so với yếu tố thuộc về “tinh thần” như Niềm tin vào sự phát triển của công ty hay Công việc phù hợp với tính cách và thế mạnh.

4.5. Ước lượng tỷ lệ

Công thức ước lượng tỷ lệ (cho 1 tổng thể):

\[ \hat{p}-Z{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\leq P\leq \hat{p}-Z{\alpha/2}\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]

WorkMotivation4 <- WorkMotivation2

4.5.1. Nỗ lực làm việc

ultl1 <- sum(ifelse(WorkMotivation4$Y== "Có nỗ lực", 1, 0))
prop.test(ultl1, length(WorkMotivation2$Y), p= 0.79375)
## 
##  1-sample proportions test without continuity correction
## 
## data:  ultl1 out of length(WorkMotivation2$Y), null probability 0.79375
## X-squared = 1.5299e-30, df = 1, p-value = 1
## alternative hypothesis: true p is not equal to 0.79375
## 95 percent confidence interval:
##  0.7245262 0.8491991
## sample estimates:
##       p 
## 0.79375

Nhận xét: Tỷ lệ mức độ nhân viên Có nỗ lực khoảng 79.4%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 72.1% đến 85.2%.

ultl2 <- sum(ifelse(WorkMotivation4$Y== "Không nỗ lực", 1, 0))
prop.test(ultl2, length(WorkMotivation2$Y))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl2 out of length(WorkMotivation2$Y), null probability 0.5
## X-squared = 54.056, df = 1, p-value = 1.948e-13
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.148089 0.278860
## sample estimates:
##       p 
## 0.20625

Nhận xét: Tỷ lệ mức độ nhân viên Không nỗ lực khoảng 20.6%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 14.8% đến 27.9%.

4.5.2. Chính sách khen thưởng rõ ràng, công bằng và công khai

ultl3 <- sum(ifelse(WorkMotivation4$X1== "A. Tán thành", 1, 0))
prop.test(ultl3, length(WorkMotivation2$X1), p=0.7)
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl3 out of length(WorkMotivation2$X1), null probability 0.7
## X-squared = 0.066964, df = 1, p-value = 0.7958
## alternative hypothesis: true p is not equal to 0.7
## 95 percent confidence interval:
##  0.6347679 0.7798298
## sample estimates:
##      p 
## 0.7125

Nhận xét: Tỷ lệ mức độ nhân viên tán thành với Chính sách khen thưởng rõ ràng, công bằng và công khai khoảng 71.3%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 63.5% đến 77.9%.

ultl4 <- sum(ifelse(WorkMotivation4$X1== "B. Trung lập hoặc không tán thành", 1, 0))
prop.test(ultl4, length(WorkMotivation2$X1))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl4 out of length(WorkMotivation2$X1), null probability 0.5
## X-squared = 28.056, df = 1, p-value = 1.178e-07
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.2201702 0.3652321
## sample estimates:
##      p 
## 0.2875

Nhận xét: Tỷ lệ mức độ nhân viên trung lập hoặc không tán thành với Chính sách khen thưởng rõ ràng, công bằng và công khai khoảng 28.8%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 22% đến 36.5%.

4.5.3. Tiền lương được trả tương xứng với năng lực

ultl5 <- sum(ifelse(WorkMotivation4$X2== "A. Tán thành", 1, 0))
prop.test(ultl5, length(WorkMotivation2$X2))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl5 out of length(WorkMotivation2$X2), null probability 0.5
## X-squared = 28.056, df = 1, p-value = 1.178e-07
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.6347679 0.7798298
## sample estimates:
##      p 
## 0.7125

Nhận xét: Tỷ lệ mức độ nhân viên tán thành với Tiền lương được trả tương xứng với năng lực khoảng 71.3%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 63.5% đến 77.9%.

ultl6 <- sum(ifelse(WorkMotivation4$X2== "B. Trung lập hoặc không tán thành", 1, 0))
prop.test(ultl6, length(WorkMotivation2$X2))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl6 out of length(WorkMotivation2$X2), null probability 0.5
## X-squared = 28.056, df = 1, p-value = 1.178e-07
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.2201702 0.3652321
## sample estimates:
##      p 
## 0.2875

Nhận xét: Tỷ lệ mức độ nhân viên trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực khoảng 28.8%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 22% đến 36.5%.

4.5.4. Công việc phù hợp với tính cách và thế mạnh

ultl7 <- sum(ifelse(WorkMotivation4$X3== "A. Tán thành", 1, 0))
prop.test(ultl7, length(WorkMotivation4$X3))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl7 out of length(WorkMotivation4$X3), null probability 0.5
## X-squared = 18.906, df = 1, p-value = 1.373e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5958371 0.7456081
## sample estimates:
##     p 
## 0.675

Nhận xét: Tỷ lệ mức độ nhân viên tán thành với Công việc phù hợp với tính cách và thế mạnh khoảng 67.5%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 59.6% đến 74.6%.

ultl8 <- sum(ifelse(WorkMotivation4$X3== "B. Trung lập hoặc không tán thành", 1, 0))
prop.test(ultl8, length(WorkMotivation4$X3))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl8 out of length(WorkMotivation4$X3), null probability 0.5
## X-squared = 18.906, df = 1, p-value = 1.373e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.2543919 0.4041629
## sample estimates:
##     p 
## 0.325

Nhận xét: Tỷ lệ mức độ nhân viên trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh khoảng 29.4%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 22.6% đến 37.2%.

4.5.5. Có niềm tin vào sự phát triển ổn định của công ty

ultl9 <- sum(ifelse(WorkMotivation4$X3== "A. Tán thành", 1, 0))
prop.test(ultl9, length(WorkMotivation4$X3))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl9 out of length(WorkMotivation4$X3), null probability 0.5
## X-squared = 18.906, df = 1, p-value = 1.373e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5958371 0.7456081
## sample estimates:
##     p 
## 0.675

Nhận xét: Tỷ lệ mức độ nhân viên tán thành với Có niềm tin vào sự phát triển ổn định của công ty khoảng 70.6%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 62.8% đến 77.4%.

ultl10 <- sum(ifelse(WorkMotivation4$X3== "B. Trung lập hoặc không tán thành", 1, 0))
prop.test(ultl10, length(WorkMotivation4$X3))
## 
##  1-sample proportions test with continuity correction
## 
## data:  ultl10 out of length(WorkMotivation4$X3), null probability 0.5
## X-squared = 18.906, df = 1, p-value = 1.373e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.2543919 0.4041629
## sample estimates:
##     p 
## 0.325

Nhận xét: Tỷ lệ mức độ nhân viên trung lập hoặc không tán thành với Có niềm tin vào sự phát triển ổn định của công ty khoảng 29.4%. Khoảng ước lượng tỷ lệ với độ tin cậy 95% là 22.6% đến 37.2%.

4.6. Odd Ratio

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:

\[ o d d_i=\frac{\pi_i}{1-\pi_i} \]

Tỷ lệ chênh của biểu hiện thứ \(i\) và biểu hiện thứ \(j\) được ki hiệu là \(\theta_{i j}\) và được định nghĩa:

\[ \theta=\frac{o d d_i}{o d d_j}=\frac{\frac{\pi_i}{1-\pi_i}}{\frac{\pi_j}{1-\pi_j}}=\frac{\pi_i\left(1-\pi_j\right)}{\pi_j\left(1-\pi_i\right)} \]

4.6.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

odd1 <- table(WorkMotivation2$Y, WorkMotivation2$X1)
odd1 %>% kable()
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 103 24
Không nỗ lực 11 22
odd1r <- OddsRatio(odd1)
OddsRatio(odd1, conf.level=.95)
## odds ratio     lwr.ci     upr.ci 
##   8.583333   3.671470  20.066514

Nhận xét: Odds ratio của biến Nỗ lực làm việcChính sách khen thưởng là 8,58 lớn hơn 1. Điều này có nghĩa là tỷ lệ chênh giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 8,58. Kết luận: Nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành.

Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của “odds ratio” nằm trong khoảng từ 3,67 đến 20,067.

4.6.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

odd2 <- table(WorkMotivation2$Y, WorkMotivation2$X2)
odd2 %>% kable()
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 105 22
Không nỗ lực 9 24
odd2r <- OddsRatio(odd2)
OddsRatio(odd2, conf.level=.95)
## odds ratio     lwr.ci     upr.ci 
##  12.727273   5.209012  31.096774

Nhận xét: Odds ratio của biến Nỗ lực làm việcTiền lương được trả tương xứng với năng lực là 12,7 lớn hơn 1. Điều này có nghĩa là tỷ lệ chênh giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 12,7. Kết luận: Nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành.

Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của “odds ratio” nằm trong khoảng từ 5,21 đến 31,1.

4.6.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

odd3 <- table(WorkMotivation2$Y, WorkMotivation2$X3)
odd3 %>% kable()
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 97 30
Không nỗ lực 11 22
odd3r <- OddsRatio(odd3)
OddsRatio(odd3, conf.level=.95)
## odds ratio     lwr.ci     upr.ci 
##   6.466667   2.815399  14.853232

Nhận xét: Odds ratio của biến Nỗ lực làm việcCông việc phù hợp với tính cách và thế mạnh là 6,5 lớn hơn 1. Điều này có nghĩa là tỷ lệ chênh giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 6,5. Kết luận: Nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành.

Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của “odds ratio” nằm trong khoảng từ 2,82 đến 14,85.

4.6.4. Nỗ lực làm việc - Có niềm tin vào sự phát triển ổn định của công ty

odd4 <- table(WorkMotivation2$Y, WorkMotivation2$X4)
odd4 %>% kable()
A. Tán thành B. Trung lập hoặc không tán thành
Có nỗ lực 100 27
Không nỗ lực 13 20
odd4r <- OddsRatio(odd4)
OddsRatio(odd4, conf.level=.95)
## odds ratio     lwr.ci     upr.ci 
##   5.698006   2.515934  12.904658

Nhận xét: Odds ratio của biến Nỗ lực làm việcCó niềm tin vào sự phát triển ổn định của công ty là 5,7 lớn hơn 1. Điều này có nghĩa là tỷ lệ chênh giữa biểu hiện Có nỗ lực của nhân viên Tán Thành so với Trung lập hoặc không tán thành là 5,7. Kết luận: Nhân viên Tán thành có tỷ lệ Nỗ lực cao hơn so với Trung lập hoặc không tán thành.

Khoảng tin cậy cho biết rằng, với độ tin cậy 95%, giá trị thực của “odds ratio” nằm trong khoảng từ 2,52 đến 12,9.

4.6.5. Tổng hợp kết quả Odd Ratio

data.frame( "Biến độc lập" = c("Chính sách khen thưởng rõ ràng, công bằng và công khai", "Tiền lương được trả tương xứng với năng lực", "Công việc phù hợp với tính cách và thế mạnh", "Có niềm tin vào sự phát triển ổn định của công ty"), "Odd_Ratio" = c(odd1r, odd2r, odd3r, odd4r)) %>% kable()
Biến.độc.lập Odd_Ratio
Chính sách khen thưởng rõ ràng, công bằng và công khai 8.583333
Tiền lương được trả tương xứng với năng lực 12.727273
Công việc phù hợp với tính cách và thế mạnh 6.466667
Có niềm tin vào sự phát triển ổn định của công ty 5.698006

      Kết quả so sánh giá trị Odd Ratio tương tự với kết quả Relative Risk đã trình bày tại mục 4.4.5. Kết quả này một lần nữa khẳng định rằng các yếu tố thuộc về “vật chất” như tiền lượng hoặc chính sách khen thưởng sẽ có tỷ lệ “thành công” cao hơn đối với biểu hiện Có nỗ lực so với yếu tố thuộc về “tinh thần” như Niềm tin vào sự phát triển của công ty hay Công việc phù hợp với tính cách và thế mạnh.

4.7. Mô hình hồi quy

WorkMotivation2$Y<- ifelse(WorkMotivation2$Y== "Có nỗ lực", 1,0)
names(WorkMotivation2)[names(WorkMotivation2) == "Chính sách khen thưởng rõ ràng, công bằng và công khai"] <- "X1"
names(WorkMotivation2)[names(WorkMotivation2) == "Tiền lương được trả tương xứng với năng lực"] <- "X2"
names(WorkMotivation2)[names(WorkMotivation2) == "Công việc phù hợp với tính cách và thế mạnh"] <- "X3"
names(WorkMotivation2)[names(WorkMotivation2) == "Niềm tin vào sự phát triển ổn định của công ty"] <- "X4"

4.7.1. Mô hình xác suất tuyến tính

\[ \pi(x)=\beta_0+\beta_1 \cdot x \]

Đây là GLM với thành phần ngã̃u nhiên nhị thức và hàm liên kết đồng nhá́t. Mô hình này được goi là mô hình xác suất tuyến tính hay LPM (Linear Probability Model) , vì xác suất thành công thay đổi tuyến tính theo \(x\). Tham số \(\beta_1\) biểu thị cho sự thay đổi xác suất cho mỗi đơn vị thay đổi của \(x\).

4.7.1.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

modelT.X1 <- glm(Y~ `X1`, data = WorkMotivation2) 
summary(modelT.X1)
## 
## Call:
## glm(formula = Y ~ X1, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.90351    0.03448  26.202  < 2e-16 ***
## X1B. Trung lập hoặc không tán thành -0.38177    0.06431  -5.936 1.79e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1355497)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 21.417  on 158  degrees of freedom
## AIC: 138.3
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành

\[ \pi(x)= 0,90351 -0,38177\cdot x \]

  • Hệ số \(\beta_0 =0,90351\) cho biết rằng, xác suất để nhân viên Có nỗ lực là 0,90351 trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-0,38177\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Chính sách khen thưởng của công ty là thấp hơn 0,38177 so với nhân viên Tán thành.

4.7.1.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

modelT.X2 <- glm(Y~ `X2`, data = WorkMotivation2)
summary(modelT.X2)
## 
## Call:
## glm(formula = Y ~ X2, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.92105    0.03313  27.803  < 2e-16 ***
## X2B. Trung lập hoặc không tán thành -0.44279    0.06178  -7.167 2.77e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1251122)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 19.768  on 158  degrees of freedom
## AIC: 125.48
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành

\[ \pi(x)= 0,912105-0,44279 \cdot x \]

  • Hệ số \(\beta_0 =0,912105\) cho biết rằng, xác suất để nhân viên Có nỗ lực là 0, trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-0,44279\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực là thấp hơn 0,44279 so với nhân viên Tán thành.

4.7.1.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

modelT.X3 <- glm(Y~ `X3`, data = WorkMotivation2)
summary(modelT.X3)
## 
## Call:
## glm(formula = Y ~ X3, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.89815    0.03637  24.695  < 2e-16 ***
## X3B. Trung lập hoặc không tán thành -0.32123    0.06380  -5.035 1.29e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1428604)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 22.572  on 158  degrees of freedom
## AIC: 146.71
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành \[ \pi(x)= 0,89815 -0,32123 \cdot x \]

  • Hệ số \(\beta_0 =0,89815\) cho biết rằng, xác suất để nhân viên Có nỗ lực là 0,89815 trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-0,32123\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Công việc phù hợp với tính cách thế mạnh là thấp hơn 0,32123 so với nhân viên Tán thành.

4.7.1.4. Nỗ lực làm việc - Niềm tin vào sự phát triển ổn định của công ty

modelT.X4 <- glm(Y~ `X4`, data = WorkMotivation2)
summary(modelT.X4)
## 
## Call:
## glm(formula = Y ~ X4, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.88496    0.03589  24.659  < 2e-16 ***
## X4B. Trung lập hoặc không tán thành -0.31049    0.06621  -4.689 5.89e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1455303)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 22.994  on 158  degrees of freedom
## AIC: 149.67
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành

\[ \pi(x)= 0,88496 -0,31049\cdot x \]

  • Hệ số \(\beta_0 =0,88496\) cho biết rằng, xác suất để nhân viên Có nỗ lực là 0,88496 trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-0,31049\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty là thấp hơn 0,31049 so với nhân viên Tán thành.

4.7.1.5. Mô hình LPM đa biến

modelT.X <- glm(Y~ `X1`+`X2`+`X3`+`X4`, data = WorkMotivation2)
summary(modelT.X)
## 
## Call:
## glm(formula = Y ~ X1 + X2 + X3 + X4, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.98286    0.03616  27.181  < 2e-16 ***
## X1B. Trung lập hoặc không tán thành -0.16135    0.07893  -2.044  0.04263 *  
## X2B. Trung lập hoặc không tán thành -0.23442    0.08451  -2.774  0.00622 ** 
## X3B. Trung lập hoặc không tán thành -0.14706    0.06738  -2.183  0.03057 *  
## X4B. Trung lập hoặc không tán thành -0.09373    0.06890  -1.361  0.17564    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.117089)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 18.149  on 155  degrees of freedom
## AIC: 117.81
## 
## Number of Fisher Scoring iterations: 2

\(x_i\): Biểu hiện Trung lập hoặc không tán thành của biến độc lập của biến \(X_i\) tương ứng, với i=1, 2, 3, 4.

\[ \pi(x)= 0,98286 - 0,16135\cdot x_1 – 0,23442 \cdot x_2 – 0,14706 \cdot x_3 – 0,09373 \cdot x_4 \]

  • Hệ số \(\beta_0 =0,98286\) cho biết rằng, xác suất để nhân viên Có nỗ lực là 0,98286 trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-0,16135\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Chính sách khen thưởng là thấp hơn 0,16135 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_2=-0,23442\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực là thấp hơn 0,23442 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_3=-0,14706\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh là thấp hơn 0,14706 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_4=-0,09373\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty là thấp hơn 0,09373 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

4.7.2. Mô hình hồi quy Logit

Khi hàm liên kết có dạng \(g(\mu)=\operatorname{logit}(\mu)=\ln \left(\frac{\mu}{1-\mu}\right)\), mô hình hồi quy \[ \ln \left(\frac{\mu}{1-\mu}\right)=\ln \left(\frac{\pi}{1-\pi}\right)=\operatorname{logit}(\pi)=\beta_0+\beta_1 x \] Được gọi là mô hình logit.

Với \(\pi\) là xác suất để biến phụ thuộc nhận giá trị “thành công”. Đối với hàm glm phạm trù thứ hai của biến nhị phân thể hiện cho “thành công”. Lưu ý: \(Y\) là biến nhị phân thì \(E(Y)=\pi\) với \(\pi=P(Y=\) “thành công”).

4.7.2.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

modelL.X1 <- glm(Y~ `X1`, data = WorkMotivation2, family = binomial(link = 'logit')) 
summary(modelL.X1)
## 
## Call:
## glm(formula = Y ~ X1, family = binomial(link = "logit"), data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           2.2368     0.3172   7.053 1.76e-12 ***
## X1B. Trung lập hoặc không tán thành  -2.1498     0.4333  -4.962 6.98e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 136.03  on 158  degrees of freedom
## AIC: 140.03
## 
## Number of Fisher Scoring iterations: 4

x: Trung lập hoặc không tán thành

\[ \ln \left(\frac{\pi}{1-\pi}\right)=\operatorname{logit}(\pi)= 2,2368 -2,1498 \cdot x \]

  • Hệ số \(\beta_0 = 2,2368\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Chính sách khen thưởng là \(\frac{^{2.2368}}{1+e^{2.2368}}\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-2,1498\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Chính sách khen thưởng rõ ràng, công bằng và công khai là thấp hơn so với nhân viên Tán thành.

4.7.2.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

modelL.X2 <- glm(Y~ `X2`, data = WorkMotivation2, family = binomial(link = 'logit'))
summary(modelL.X2)
## 
## Call:
## glm(formula = Y ~ X2, family = binomial(link = "logit"), data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           2.4567     0.3473   7.073 1.51e-12 ***
## X2B. Trung lập hoặc không tán thành  -2.5437     0.4558  -5.581 2.39e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 126.65  on 158  degrees of freedom
## AIC: 130.65
## 
## Number of Fisher Scoring iterations: 5

x: Trung lập hoặc không tán thành

\[ \ln \left(\frac{\pi}{1-\pi}\right)=\operatorname{logit}(\pi)= 2,4567 -2,5437\cdot x \]

  • Hệ số \(\beta_0 = 2,4567\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng là \(\frac{e^{2.4567}}{1+e^{2.4567}}\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-2,5437\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực là thấp hơn so với nhân viên Tán thành.

4.7.2.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

modelL.X3 <- glm(Y~ `X3`, data = WorkMotivation2, family = binomial(link = 'logit'))
summary(modelL.X3)
## 
## Call:
## glm(formula = Y ~ X3, family = binomial(link = "logit"), data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           2.1768     0.3181   6.843 7.78e-12 ***
## X3B. Trung lập hoặc không tán thành  -1.8667     0.4243  -4.400 1.08e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 141.94  on 158  degrees of freedom
## AIC: 145.94
## 
## Number of Fisher Scoring iterations: 4

x: Trung lập hoặc không tán thành

\[ \ln \left(\frac{\pi}{1-\pi}\right)=\operatorname{logit}(\pi)= 2,1768 -1,8667 \cdot x \]

  • Hệ số \(\beta_0 = 2,1768\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế là \(\frac{e^{2.1768}}{1+e^{2.1768}}\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,8667\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh là thấp hơn so với nhân viên Tán thành.

4.7.2.4. Nỗ lực làm việc - Niềm tin vào sự phát triển ổn định của công ty

modelL.X4 <- glm(Y~ `X4`, data = WorkMotivation2, family = binomial(link = 'logit'))
summary(modelL.X4)
## 
## Call:
## glm(formula = Y ~ X4, family = binomial(link = "logit"), data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           2.0402     0.2948   6.920 4.51e-12 ***
## X4B. Trung lập hoặc không tán thành  -1.7401     0.4171  -4.172 3.02e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 144.78  on 158  degrees of freedom
## AIC: 148.78
## 
## Number of Fisher Scoring iterations: 4

x: Trung lập hoặc không tán thành

\[ \ln \left(\frac{\pi}{1-\pi}\right)=\operatorname{logit}(\pi)= 2,0402 -1,7401 \cdot x \]

  • Hệ số \(\beta_0 = 2,0402\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty là \(\frac{e^{2,0402}}{1+e^{2,0402}}\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,7401\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty là thấp hơn so với nhân viên Tán thành.

4.7.2.5. Mồ hình Logit đa biến

modelL.X <- glm(Y~ `X1`+`X2`+`X3`+`X4`, data = WorkMotivation2, family = binomial(link = 'logit'))
summary(modelL.X)
## 
## Call:
## glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial(link = "logit"), 
##     data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           3.1020     0.4445   6.979 2.97e-12 ***
## X1B. Trung lập hoặc không tán thành  -1.0696     0.5642  -1.896   0.0580 .  
## X2B. Trung lập hoặc không tán thành  -1.3404     0.5819  -2.303   0.0213 *  
## X3B. Trung lập hoặc không tán thành  -1.0517     0.5180  -2.030   0.0423 *  
## X4B. Trung lập hoặc không tán thành  -0.6563     0.5089  -1.290   0.1972    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 115.32  on 155  degrees of freedom
## AIC: 125.32
## 
## Number of Fisher Scoring iterations: 5

\(x_i\): Biểu hiện Trung lập hoặc không tán thành của biến độc lập của biến \(X_i\) tương ứng, với i=1, 2, 3, 4.

\[ \ln \left(\frac{\pi}{1-\pi}\right)=\operatorname{logit}(\pi)= 3,1020 – 1,0696 \cdot x_1 -1,3404 \cdot x_2 – 1,0517 \cdot x_3 – 0,6563 \cdot x_4 \]

  • Hệ số \(\beta_0 = 3,1020\) cho biết xác suất để nhân viên Có nỗ lực \(\frac{e^{3,1020}}{1+e^{3,1020}}\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,0696\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Chính sách khen thưởng là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_2=-1,3404\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_3=-1,0517\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_4=-0,6563\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

4.7.3. Mô hình hồi quy Probit

Khi hàm liên kết có dạng: \(g(\mu)=g(\pi)=\operatorname{probit}(\pi)=\Phi^{-1}(\pi)\). Với \(\Phi(t)=\frac{1}{\sqrt{2 \pi}} \int_{-\infty}^t e^{-\frac{t^2}{2}} d t\),

hoặc có thể viết lại như sau:

\[ \pi(x)=\Phi\left(\beta_0+\beta_1 x\right) \]

4.7.3.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

modelP.X1 <- glm(Y~ `X1`, data = WorkMotivation2, family = binomial(link = 'probit')) 
summary(modelT.X1)
## 
## Call:
## glm(formula = Y ~ X1, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.90351    0.03448  26.202  < 2e-16 ***
## X1B. Trung lập hoặc không tán thành -0.38177    0.06431  -5.936 1.79e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1355497)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 21.417  on 158  degrees of freedom
## AIC: 138.3
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành. \[ \pi(x)=\Phi\left(1,3018 - 1,2473 \cdot x\right)\]

  • Hệ số \(\beta_0=1,3018\) cho biết rằng, xác suất để nhân viên Có nỗ lực là \(\Phi(1,3018)\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,2473\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Chính sách khen thưởng thì xác suất để nhân viên Có nỗ lực là thấp hơn so với nhân viên Tán thành.

4.7.3.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

modelP.X2 <- glm(Y~ `X2`, data = WorkMotivation2, family = binomial(link = 'probit'))
summary(modelT.X2)
## 
## Call:
## glm(formula = Y ~ X2, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.92105    0.03313  27.803  < 2e-16 ***
## X2B. Trung lập hoặc không tán thành -0.44279    0.06178  -7.167 2.77e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1251122)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 19.768  on 158  degrees of freedom
## AIC: 125.48
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành

\[ \pi(x)=\Phi\left(1,4122 - 1,4667 \cdot x\right) \]

  • Hệ số \(\beta_0=1,4122\) cho biết rằng, xác suất để nhân viên Có nỗ lực là \(\Phi(1,4122)\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,4667\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực thì xác suất để nhân viên Có nỗ lực là thấp hơn thấp hơn so với nhân viên Tán thành.

4.7.3.3. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

modelP.X3 <- glm(Y~ `X3`, data = WorkMotivation2, family = binomial(link = 'probit'))
summary(modelT.X3)
## 
## Call:
## glm(formula = Y ~ X3, data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                          0.89815    0.03637  24.695  < 2e-16 ***
## X3B. Trung lập hoặc không tán thành -0.32123    0.06380  -5.035 1.29e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.1428604)
## 
##     Null deviance: 26.194  on 159  degrees of freedom
## Residual deviance: 22.572  on 158  degrees of freedom
## AIC: 146.71
## 
## Number of Fisher Scoring iterations: 2

x: Trung lập hoặc không tán thành

\[ \pi(x)=\Phi\left(1,2711 - 1,0770 \cdot x \right) \]

  • Hệ số \(\beta_0=1,2711\) cho biết rằng, xác suất để nhân viên Có nỗ lực là \(\Phi(1,2711)\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,0770\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh thì xác suất để nhân viên Có nỗ lực là thấp hơn thấp hơn so với nhân viên Tán thành.

4.7.3.4. Nỗ lực làm việc - Niềm tin vào sự phát triển ổn định của công ty

modelP.X4 <- glm(Y~ `X4`, data = WorkMotivation2, family = binomial(link = 'probit'))
summary(modelP.X4)
## 
## Call:
## glm(formula = Y ~ X4, family = binomial(link = "probit"), data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           1.2001     0.1546   7.763 8.30e-15 ***
## X4B. Trung lập hoặc không tán thành  -1.0124     0.2403  -4.213 2.52e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 144.78  on 158  degrees of freedom
## AIC: 148.78
## 
## Number of Fisher Scoring iterations: 4

x: Trung lập hoặc không tán thành

\[ \pi(x)=\Phi\left(1,2001 - 1,0124 \cdot x \right) \]

  • Hệ số \(\beta_0=1,2001\) cho biết rằng, xác suất để nhân viên Có nỗ lực là \(\Phi(1,2001)\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-1,0124\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty thì xác suất để nhân viên Có nỗ lực là thấp hơn thấp hơn so với nhân viên Tán thành.

4.7.3.5. Hồi quy Prođit đa biến

modelP.X <- glm(Y~ `X1`+`X2`+`X3`+`X4`, data = WorkMotivation2, family = binomial(link = 'probit'))
summary(modelP.X)
## 
## Call:
## glm(formula = Y ~ X1 + X2 + X3 + X4, family = binomial(link = "probit"), 
##     data = WorkMotivation2)
## 
## Coefficients:
##                                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           1.7391     0.2165   8.034  9.4e-16 ***
## X1B. Trung lập hoặc không tán thành  -0.5835     0.3249  -1.796   0.0725 .  
## X2B. Trung lập hoặc không tán thành  -0.7696     0.3368  -2.285   0.0223 *  
## X3B. Trung lập hoặc không tán thành  -0.5703     0.2911  -1.959   0.0501 .  
## X4B. Trung lập hoặc không tán thành  -0.3887     0.2901  -1.340   0.1803    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 162.86  on 159  degrees of freedom
## Residual deviance: 115.90  on 155  degrees of freedom
## AIC: 125.9
## 
## Number of Fisher Scoring iterations: 5

\(x_i\): Biểu hiện Trung lập hoặc không tán thành của biến độc lập của biến \(X_i\) tương ứng, với i=1, 2, 3, 4.

\[ \pi(x)=\Phi\left(1,7391 – 0,5835 \cdot x_1 – 0,7696 \cdot x_2 – 0,5703 \cdot x_3 – 0,3887 \cdot x_4 \right) \]

  • Hệ số \(\beta_0= 1,7391\) cho biết rằng, xác suất để nhân viên Có nỗ lực là \(\Phi(1,7391)\) trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_1=-0,5835\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Chính sách khen thưởng thì xác suất để nhân viên Có nỗ lực là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_2=-0,7696\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực thì xác suất để nhân viên Có nỗ lực là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_3=-0,5703\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh thì xác suất để nhân viên Có nỗ lực là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

  • Hệ số \(\beta_4=-0,3887\) có nghĩa là đối với nhân viên Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty thì xác suất để nhân viên Có nỗ lực là thấp hơn so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi.

4.8. Đánh giá mô hình

Các tiêu chí được sử dụng để đánh giá mô hình là: chỉ số AIC, hệ số Brier Score, Deviance. Theo đó, cả ba tiêu chí càng nhỏ thì mô hình càng tốt.

  • Chỉ số AIC:

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

trong đó: k là số biến của mô hình, \(L\) là giá trị cực đại của hàm hợp lý.

  • Deviance: đây là một tiêu chí được sử dụng phổ biến để đánh giá độ phù hợp của mô hình hồi quy được ước lượng bởi phương pháp Hợp lý cực đại (ML).

  • Hệ số Brier Score

\[ B=\frac{1}{n}\sum_{i=1}^n(\hat{\pi}-o_i)^2 \]

trong đó: \(\hat{\pi}\)\(o_i\) lần lượt là giá trị xác suất quan sát được và giá trị xác suất tính ra từ mô hình.

4.8.1. Nỗ lực làm việc - Chính sách khen thưởng rõ ràng, công bằng và công khai

data.frame(Model = c("LPM", "Logit", "Probit"),AIC = c(AIC(modelT.X1),AIC(modelL.X1), AIC(modelP.X1))) %>% kable()
Model AIC
LPM 138.3011
Logit 140.0279
Probit 140.0279
data.frame(Model = c("LPM", "Logit", "Probit"),Deviance = c(21.417, 136.03, 21.417)) %>% kable()
Model Deviance
LPM 21.417
Logit 136.030
Probit 21.417
data.frame(Model = c("LPM", "Logit", "Probit"), BrierScore = c(BrierScore(modelT.X1),BrierScore(modelL.X1), BrierScore(modelP.X1))) %>% kable()
Model BrierScore
LPM 0.1338554
Logit 0.1338554
Probit 0.1338554

4.8.2. Nỗ lực làm việc - Tiền lương được trả tương xứng với năng lực

data.frame(Model = c("LPM", "Logit", "Probit"),AIC = c(AIC(modelT.X2),AIC(modelL.X2), AIC(modelP.X2))) %>% kable()
Model AIC
LPM 125.4807
Logit 130.6541
Probit 130.6541
data.frame(Model = c("LPM", "Logit", "Probit"),Deviance = c(19.768, 126.65, 19.768)) %>% kable()
Model Deviance
LPM 19.768
Logit 126.650
Probit 19.768
data.frame(Model = c("LPM", "Logit", "Probit"), BrierScore = c(BrierScore(modelT.X2),BrierScore(modelL.X2), BrierScore(modelP.X2))) %>% kable()
Model BrierScore
LPM 0.1235483
Logit 0.1235483
Probit 0.1235483

4.8.3. Nỗ lực làm việc - Có niềm tin vào sự phát triển ổn định công ty

data.frame(Model = c("LPM", "Logit", "Probit"),AIC = c(AIC(modelT.X3)*100,AIC(modelL.X3)*100, AIC(modelP.X3)*100)) %>% kable()
Model AIC
LPM 14670.57
Logit 14594.44
Probit 14594.44
data.frame(Model = c("LPM", "Logit", "Probit"),Deviance = c(22.572, 141.94, 22.572)) %>% kable()
Model Deviance
LPM 22.572
Logit 141.940
Probit 22.572
data.frame(Model = c("LPM", "Logit", "Probit"), BrierScore = c(BrierScore(modelT.X3),BrierScore(modelL.X3), BrierScore(modelP.X3))) %>% kable()
Model BrierScore
LPM 0.1410746
Logit 0.1410746
Probit 0.1410746

4.8.4. Nỗ lực làm việc - Công việc phù hợp với tính cách và thế mạnh

data.frame(Model = c("LPM", "Logit", "Probit"),AIC = c(AIC(modelT.X4),AIC(modelL.X4), AIC(modelP.X4))) %>% kable()
Model AIC
LPM 149.6684
Logit 148.7763
Probit 148.7763
data.frame(Model = c("LPM", "Logit", "Probit"),Deviance = c(22.994, 144.78, 144.78)) %>% kable()
Model Deviance
LPM 22.994
Logit 144.780
Probit 144.780
data.frame(Model = c("LPM", "Logit", "Probit"), BrierScore = c(BrierScore(modelT.X4),BrierScore(modelL.X4), BrierScore(modelP.X4))) %>% kable()
Model BrierScore
LPM 0.1437112
Logit 0.1437112
Probit 0.1437112

4.8.5. Mô hình đa biến

data.frame(Model = c("LPM", "Logit", "Probit"),AIC = c(AIC(modelT.X),AIC(modelL.X), AIC(modelP.X))) %>% kable()
Model AIC
LPM 117.8092
Logit 125.3172
Probit 125.9035
data.frame(Model = c("LPM", "Logit", "Probit"),Deviance = c(18.149, 115.32, 115.90)) %>% kable()
Model Deviance
LPM 18.149
Logit 115.320
Probit 115.900
data.frame(Model = c("LPM", "Logit", "Probit"), BrierScore = c(BrierScore(modelT.X),BrierScore(modelL.X), BrierScore(modelP.X))) %>% kable()
Model BrierScore
LPM 0.1134300
Logit 0.1088500
Probit 0.1095101

4.8.7. Xác định mô hình phù hợp

data.frame(X1 = c("LPM", "Logit", "Probit"), AIC = c("X","",""),  Deviance = c("X","","X"),  BrierScore = c("X","X","X")) %>% kable()
X1 AIC Deviance BrierScore
LPM X X X
Logit X
Probit X X
data.frame(X2 = c("LPM", "Logit", "Probit"), AIC = c("X","",""),  Deviance = c("X","","X"),  BrierScore = c("X","X","X")) %>% kable()
X2 AIC Deviance BrierScore
LPM X X X
Logit X
Probit X X
data.frame(X3 = c("LPM", "Logit", "Probit"), AIC = c("X","",""),  Deviance = c("X","","X"),  BrierScore = c("X","X","X")) %>% kable()
X3 AIC Deviance BrierScore
LPM X X X
Logit X
Probit X X
data.frame(X4 = c("LPM", "Logit", "Probit"), AIC = c("","X","X"),  Deviance = c("X","",""),  BrierScore = c("X","X","X")) %>% kable()
X4 AIC Deviance BrierScore
LPM X X
Logit X X
Probit X X
data.frame("Đa_biến" = c("LPM", "Logit", "Probit"), AIC = c("X","",""),  Deviance = c("X","",""),  BrierScore = c("","X","")) %>% kable()
Đa_biến AIC Deviance BrierScore
LPM X X
Logit X
Probit

Dựa vào số tiêu chí đánh giả mô hình thõa mãn nhất, ta kết luận mô hình phù hợp là:

data.frame("Biến_độc_lập" = c("Chính sách rõ ràng, công bằng và công khai", "Tiền lương được trả tương xứng với năng lực", "Công việc phù hợp với tính cách và thế mạnh", "Có niềm tin vào sự phát triển của công ty", "Hồi quy đa biến (tất cả biến trên)"), "Mô hình phù hợp" = c("LPM","LPM","LPM", "LPM/Lotgit/Probit", "LPM")) %>% kable()
Biến_độc_lập Mô.hình.phù.hợp
Chính sách rõ ràng, công bằng và công khai LPM
Tiền lương được trả tương xứng với năng lực LPM
Công việc phù hợp với tính cách và thế mạnh LPM
Có niềm tin vào sự phát triển của công ty LPM/Lotgit/Probit
Hồi quy đa biến (tất cả biến trên) LPM

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

      Từ kết quả xác định mô hình hồi quy đa biến phù hợp dựa trên chỉ số AIC, mô hình xác suất tuyến tính (LPM) là phù hợp nhất để mô tả các yếu tố tác động đến động lực làm việc của nhân viên. Kết quả mô hình được xác định là:

\(x_i\): Biểu hiện Trung lập hoặc không tán thành của biến độc lập của biến \(X_i\) tương ứng, với i=1, 2, 3, 4.

\[ \pi(x)= 0,98286 - 0,16135\cdot x_1 – 0,23442 \cdot x_2 – 0,14706 \cdot x_3 – 0,09373 \cdot x_4 \]

      Kết quả cho thấy các hệ số đều có ý nghĩa thống kê với p_value nhỏ hơn mức nghĩa 5% đối với hệ số chặn và biến X1, X2, X3 và không có ý nghĩa thống kê đối với biến X4.

  • Hệ số \(\beta_0 =0,98286\) cho biết rằng, xác suất để nhân viên Có nỗ lực là 0,98286 trong điều kiện các yếu tố khác không đổi. (Có ý nghĩa thống kê tại mức 1%).

  • Hệ số \(\beta_1=-0,16135\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Chính sách khen thưởng là thấp hơn 0,16135 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi. (Có ý nghĩa thống kê tại mức 5%).

  • Hệ số \(\beta_2=-0,23442\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Tiền lương được trả tương xứng với năng lực là thấp hơn 0,23442 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi. (Có ý nghĩa thống kê tại mức 1%).

  • Hệ số \(\beta_3=-0,14706\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Công việc phù hợp với tính cách và thế mạnh là thấp hơn 0,14706 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi. (Có ý nghĩa thống kê tại mức 5%).

  • Hệ số \(\beta_4=-0,09373\) cho biết xác suất để nhân viên Có nỗ lực trong trường hợp Trung lập hoặc không tán thành với Niềm tin vào sự phát triển ổn định của công ty là thấp hơn 0,09373 so với nhân viên Tán thành trong điều kiện các yếu tố khác không đổi. (Không có ý nghĩa thống kê).

      Như vậy, khi xuất biểu hiện biểu hiện Trung lập hoặc không tán thành ở cả 4 biến trên đều làm giảm xác suất của biểu hiện Có nỗ lực. Ngoài ra, Nỗ lực làm việc chịu tác động rõ ràng nhất đối với yếu tố Tiền lương được trả tương xứng với năng lực, sau đó là Chính sách khen thưởng rõ ràng, công bằng và công khai; sau đó là Công việc phù hợp với tính cách và thế mạnh và cuối cùng là biến Niềm tin vào sự phát triển ổn định của công ty.

     Dựa trên kết quả nghiên cứu, nhóm sinh viên xin đưa ra những khuyến nghị sau đây nhằm tối ưu hóa môi trường làm việc và nâng cao hiệu quả công việc trong tổ chức:

  • Đảm bảo tiền lương phản ánh đúng năng lực: Tiền lương là yếu tố quan trọng và ảnh hưởng mạnh mẽ đến động lực làm việc của nhân viên. Do đó, các nhà quản lý nhân sự cần phải đánh giá đúng và thường xuyên tổ chức các đợt đánh giá năng lực để cập nhật mức lương phù hợp.

  • Tăng cường sự công bằng và minh bạch trong chính sách khen thưởng: Để cải thiện nỗ lực của nhân viên, doanh nghiệp nên chú trọng vào việc xây dựng và duy trì một hệ thống khen thưởng rõ ràng, công bằng và công khai. Chính sách này không chỉ giúp động viên nhân viên mà còn góp phần nâng cao lòng tin của họ vào tổ chức.

  • Đảm bảo công việc phù hợp với tính cách và thế mạnh của nhân viên: Cung cấp các vị trí công việc phù hợp với tính cách và thế mạnh của nhân viên sẽ giúp họ cảm thấy hài lòng hơn và làm việc hiệu quả hơn. Điều này cũng giúp giảm thiểu tình trạng căng thẳng và bất mãn trong môi trường làm việc.

  • Mặc dù niềm tin vào sự phát triển ổn định của công ty là biến có ảnh hưởng thấp nhất nhưng doanh nghiệp vẫn cần tổ chức các hội thảo và công khai những tầm nhìn của ban lãnh đạo.

     Các khuyến nghị này nhằm giúp tổ chức tạo ra một môi trường làm việc tích cực và động lực, từ đó nâng cao hiệu suất và sự hài lòng của nhân viên.

BỔ SUNG NỘI DUNG

1. Ma trận nhầm lẫn

1.1. Mô hình hồi quy tuyến tính

Conf(table(predict(modelT.X1, type="response") >= 0.75, modelT.X1$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    22   24
##      TRUE     11  103
## 
##                 Total n : 160
##                Accuracy : 0.7812
##                  95% CI : (0.7110, 0.8383)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.6925
## 
##                   Kappa : 0.4169
##  Mcnemar's Test P-Value : 0.0425
## 
##             Sensitivity : 0.6667
##             Specificity : 0.8110
##          Pos Pred Value : 0.4783
##          Neg Pred Value : 0.9035
##              Prevalence : 0.2062
##          Detection Rate : 0.2875
##    Detection Prevalence : 0.1375
##       Balanced Accuracy : 0.7388
##          F-val Accuracy : 0.5570
##      Matthews Cor.-Coef : 0.4270
## 
##        'Positive' Class : FALSE
a= (103+22)/160
a
## [1] 0.78125
Conf(table(predict(modelT.X2, type="response") >= 0.75, modelT.X2$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    24   22
##      TRUE      9  105
## 
##                 Total n : 160
##                Accuracy : 0.8063
##                  95% CI : (0.7381, 0.8600)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.3916
## 
##                   Kappa : 0.4835
##  Mcnemar's Test P-Value : 0.0311
## 
##             Sensitivity : 0.7273
##             Specificity : 0.8268
##          Pos Pred Value : 0.5217
##          Neg Pred Value : 0.9211
##              Prevalence : 0.2062
##          Detection Rate : 0.2875
##    Detection Prevalence : 0.1500
##       Balanced Accuracy : 0.7770
##          F-val Accuracy : 0.6076
##      Matthews Cor.-Coef : 0.4953
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelT.X3, type="response") >= 0.75, modelT.X3$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    22   30
##      TRUE     11   97
## 
##                 Total n : 160
##                Accuracy : 0.7438
##                  95% CI : (0.6709, 0.8051)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.9486
## 
##                   Kappa : 0.3548
##  Mcnemar's Test P-Value : 0.0049
## 
##             Sensitivity : 0.6667
##             Specificity : 0.7638
##          Pos Pred Value : 0.4231
##          Neg Pred Value : 0.8981
##              Prevalence : 0.2062
##          Detection Rate : 0.3250
##    Detection Prevalence : 0.1375
##       Balanced Accuracy : 0.7152
##          F-val Accuracy : 0.5176
##      Matthews Cor.-Coef : 0.3718
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelT.X4, type="response") >= 0.75, modelT.X4$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    20   27
##      TRUE     13  100
## 
##                 Total n : 160
##                Accuracy : 0.7500
##                  95% CI : (0.6776, 0.8107)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.9260
## 
##                   Kappa : 0.3401
##  Mcnemar's Test P-Value : 0.0398
## 
##             Sensitivity : 0.6061
##             Specificity : 0.7874
##          Pos Pred Value : 0.4255
##          Neg Pred Value : 0.8850
##              Prevalence : 0.2062
##          Detection Rate : 0.2938
##    Detection Prevalence : 0.1250
##       Balanced Accuracy : 0.6967
##          F-val Accuracy : 0.5000
##      Matthews Cor.-Coef : 0.3495
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelT.X, type="response") >= 0.75, modelT.X$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    27   32
##      TRUE      6   95
## 
##                 Total n : 160
##                Accuracy : 0.7625
##                  95% CI : (0.6909, 0.8218)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.8582
## 
##                   Kappa : 0.4384
##  Mcnemar's Test P-Value : 5e-05
## 
##             Sensitivity : 0.8182
##             Specificity : 0.7480
##          Pos Pred Value : 0.4576
##          Neg Pred Value : 0.9406
##              Prevalence : 0.2062
##          Detection Rate : 0.3688
##    Detection Prevalence : 0.1688
##       Balanced Accuracy : 0.7831
##          F-val Accuracy : 0.5870
##      Matthews Cor.-Coef : 0.4748
## 
##        'Positive' Class : FALSE

1.2. Mô hình hồi quy logit

Conf(table(predict(modelL.X1, type="response") >= 0.75, modelL.X1$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    22   24
##      TRUE     11  103
## 
##                 Total n : 160
##                Accuracy : 0.7812
##                  95% CI : (0.7110, 0.8383)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.6925
## 
##                   Kappa : 0.4169
##  Mcnemar's Test P-Value : 0.0425
## 
##             Sensitivity : 0.6667
##             Specificity : 0.8110
##          Pos Pred Value : 0.4783
##          Neg Pred Value : 0.9035
##              Prevalence : 0.2062
##          Detection Rate : 0.2875
##    Detection Prevalence : 0.1375
##       Balanced Accuracy : 0.7388
##          F-val Accuracy : 0.5570
##      Matthews Cor.-Coef : 0.4270
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelL.X2, type="response") >= 0.75, modelL.X2$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    24   22
##      TRUE      9  105
## 
##                 Total n : 160
##                Accuracy : 0.8063
##                  95% CI : (0.7381, 0.8600)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.3916
## 
##                   Kappa : 0.4835
##  Mcnemar's Test P-Value : 0.0311
## 
##             Sensitivity : 0.7273
##             Specificity : 0.8268
##          Pos Pred Value : 0.5217
##          Neg Pred Value : 0.9211
##              Prevalence : 0.2062
##          Detection Rate : 0.2875
##    Detection Prevalence : 0.1500
##       Balanced Accuracy : 0.7770
##          F-val Accuracy : 0.6076
##      Matthews Cor.-Coef : 0.4953
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelL.X3, type="response") >= 0.75, modelL.X3$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    22   30
##      TRUE     11   97
## 
##                 Total n : 160
##                Accuracy : 0.7438
##                  95% CI : (0.6709, 0.8051)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.9486
## 
##                   Kappa : 0.3548
##  Mcnemar's Test P-Value : 0.0049
## 
##             Sensitivity : 0.6667
##             Specificity : 0.7638
##          Pos Pred Value : 0.4231
##          Neg Pred Value : 0.8981
##              Prevalence : 0.2062
##          Detection Rate : 0.3250
##    Detection Prevalence : 0.1375
##       Balanced Accuracy : 0.7152
##          F-val Accuracy : 0.5176
##      Matthews Cor.-Coef : 0.3718
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelL.X4, type="response") >= 0.75, modelL.X4$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    20   27
##      TRUE     13  100
## 
##                 Total n : 160
##                Accuracy : 0.7500
##                  95% CI : (0.6776, 0.8107)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.9260
## 
##                   Kappa : 0.3401
##  Mcnemar's Test P-Value : 0.0398
## 
##             Sensitivity : 0.6061
##             Specificity : 0.7874
##          Pos Pred Value : 0.4255
##          Neg Pred Value : 0.8850
##              Prevalence : 0.2062
##          Detection Rate : 0.2938
##    Detection Prevalence : 0.1250
##       Balanced Accuracy : 0.6967
##          F-val Accuracy : 0.5000
##      Matthews Cor.-Coef : 0.3495
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelL.X, type="response") >= 0.75, modelL.X$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    24   21
##      TRUE      9  106
## 
##                 Total n : 160
##                Accuracy : 0.8125
##                  95% CI : (0.7450, 0.8654)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.3179
## 
##                   Kappa : 0.4953
##  Mcnemar's Test P-Value : 0.0446
## 
##             Sensitivity : 0.7273
##             Specificity : 0.8346
##          Pos Pred Value : 0.5333
##          Neg Pred Value : 0.9217
##              Prevalence : 0.2062
##          Detection Rate : 0.2812
##    Detection Prevalence : 0.1500
##       Balanced Accuracy : 0.7810
##          F-val Accuracy : 0.6154
##      Matthews Cor.-Coef : 0.5057
## 
##        'Positive' Class : FALSE

1.3. Mô hình hồi quy Probit

Conf(table(predict(modelP.X1, type="response") >= 0.75, modelP.X1$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    22   24
##      TRUE     11  103
## 
##                 Total n : 160
##                Accuracy : 0.7812
##                  95% CI : (0.7110, 0.8383)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.6925
## 
##                   Kappa : 0.4169
##  Mcnemar's Test P-Value : 0.0425
## 
##             Sensitivity : 0.6667
##             Specificity : 0.8110
##          Pos Pred Value : 0.4783
##          Neg Pred Value : 0.9035
##              Prevalence : 0.2062
##          Detection Rate : 0.2875
##    Detection Prevalence : 0.1375
##       Balanced Accuracy : 0.7388
##          F-val Accuracy : 0.5570
##      Matthews Cor.-Coef : 0.4270
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelP.X2, type="response") >= 0.75, modelP.X2$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    24   22
##      TRUE      9  105
## 
##                 Total n : 160
##                Accuracy : 0.8063
##                  95% CI : (0.7381, 0.8600)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.3916
## 
##                   Kappa : 0.4835
##  Mcnemar's Test P-Value : 0.0311
## 
##             Sensitivity : 0.7273
##             Specificity : 0.8268
##          Pos Pred Value : 0.5217
##          Neg Pred Value : 0.9211
##              Prevalence : 0.2062
##          Detection Rate : 0.2875
##    Detection Prevalence : 0.1500
##       Balanced Accuracy : 0.7770
##          F-val Accuracy : 0.6076
##      Matthews Cor.-Coef : 0.4953
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelP.X3, type="response") >= 0.75, modelP.X3$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    22   30
##      TRUE     11   97
## 
##                 Total n : 160
##                Accuracy : 0.7438
##                  95% CI : (0.6709, 0.8051)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.9486
## 
##                   Kappa : 0.3548
##  Mcnemar's Test P-Value : 0.0049
## 
##             Sensitivity : 0.6667
##             Specificity : 0.7638
##          Pos Pred Value : 0.4231
##          Neg Pred Value : 0.8981
##              Prevalence : 0.2062
##          Detection Rate : 0.3250
##    Detection Prevalence : 0.1375
##       Balanced Accuracy : 0.7152
##          F-val Accuracy : 0.5176
##      Matthews Cor.-Coef : 0.3718
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelP.X4, type="response") >= 0.75, modelP.X4$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    20   27
##      TRUE     13  100
## 
##                 Total n : 160
##                Accuracy : 0.7500
##                  95% CI : (0.6776, 0.8107)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.9260
## 
##                   Kappa : 0.3401
##  Mcnemar's Test P-Value : 0.0398
## 
##             Sensitivity : 0.6061
##             Specificity : 0.7874
##          Pos Pred Value : 0.4255
##          Neg Pred Value : 0.8850
##              Prevalence : 0.2062
##          Detection Rate : 0.2938
##    Detection Prevalence : 0.1250
##       Balanced Accuracy : 0.6967
##          F-val Accuracy : 0.5000
##      Matthews Cor.-Coef : 0.3495
## 
##        'Positive' Class : FALSE
Conf(table(predict(modelP.X, type="response") >= 0.75, modelP.X$data$Y == '1'))
## 
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction FALSE TRUE
##      FALSE    24   24
##      TRUE      9  103
## 
##                 Total n : 160
##                Accuracy : 0.7937
##                  95% CI : (0.7245, 0.8492)
##     No Information Rate : 0.7937
##     P-Value [Acc > NIR] : 0.5464
## 
##                   Kappa : 0.4608
##  Mcnemar's Test P-Value : 0.0148
## 
##             Sensitivity : 0.7273
##             Specificity : 0.8110
##          Pos Pred Value : 0.5000
##          Neg Pred Value : 0.9196
##              Prevalence : 0.2062
##          Detection Rate : 0.3000
##    Detection Prevalence : 0.1500
##       Balanced Accuracy : 0.7691
##          F-val Accuracy : 0.5926
##      Matthews Cor.-Coef : 0.4753
## 
##        'Positive' Class : FALSE
LS0tDQp0aXRsZTogDQogIC0gIsSQw4FOSCBHScOBIE7hu5YgTOG7sEMgTMOATSBWSeG7hkMgQ+G7pkEgTkjDgk4gVknDik46IELhurBORyBDSOG7qE5HIFRI4buwQyBOR0hJ4buGTSBU4buqIEtI4bqiTyBTw4FUIDE2MCBOR8av4bucSSINCmF1dGhvcjogDQogIC0gIktow6FuaCBBbiAtIDIxMjEwMTI1NDQiDQogIC0gIlBoxrDGoW5nIFRp4buBbiAtIDIxMjEwMDY1NzMiDQogIC0gIktow6FuaCBWeSAtIDIxMjEwMTI2OTIiDQpkYXRlOiAiMjAyNC0wNy0xNCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgdG9jX2RlcHRoOiA1DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB0cnVlDQogICAgICBzbW9vdGhfc2Nyb2xsOiB0cnVlDQogICAgdGhlbWU6IHVuaXRlZA0KICB3b3JkX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiAnNScNCmFsd2F5c19hbGxvd19odG1sOiB0cnVlICANCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQpgYGB7ciwgZWNobz0gRkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9IEZBTFNFLCBjb21tZW50PSBGQUxTRX0NCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeShkYXRhLnRhYmxlKQ0KbGlicmFyeSgid3JpdGV4bCIpDQpsaWJyYXJ5KCJyZWFkeGwiKQ0KbGlicmFyeShBRVIpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoRFQpDQpsaWJyYXJ5KERlc2NUb29scykNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkoZXBpdG9vbHMpDQpsaWJyYXJ5KGthYmxlRXh0cmEpDQpsaWJyYXJ5KHJlYWR4bCkNCmxpYnJhcnkoRFQpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkoRGVzY1Rvb2xzKQ0KbGlicmFyeShlcGl0b29scykNCmxpYnJhcnkoa2FibGVFeHRyYSkNCmxpYnJhcnkoIlZHQU0iKQ0KbGlicmFyeSgibm5ldCIpDQpgYGANCg0KYGBge2NzcyxlY2hvID0gRkFMU0V9DQpib2R5IHsNCiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7DQogIGZvbnQtc2l6ZTogMTNweDsNCiAgdGV4dC1hbGlnbjoganVzdGlmeTsNCn0NCmBgYA0KDQojIENIxq/GoE5HIDE6IFThu5RORyBRVUFOIMSQ4buAIFTDgEkNCg0KIyMgMS4xLiDEkOG6t3QgduG6pW4gxJHhu4ENCg0KwqAgwqAgwqAgTmjDom4gdmnDqm4gbMOgIG5ndeG7k24gbOG7sWMgcXVhbiB0cuG7jW5nLCBj4buRdCBsw7VpIMSR4buRaSB24bubaSBz4buxIHThu5NuIHThuqFpLCB0aMOgbmggY8O0bmcgY+G7p2EgaOG6p3UgaOG6v3QgZG9hbmggbmdoaeG7h3AgaGnhu4duIG5heS4gxJDhu5FpIHbhu5tpIGRvYW5oIG5naGnhu4dwLCBiw6BpIHRvw6FuIHThu5FpIMawdSBuxINuZyBzdeG6pXQgdsOgIGhp4buHdSBxdeG6oyBjw7RuZyB2aeG7h2MgbHXDtG4gbMOgIGNo4bunIMSR4buBIMSRxrDhu6NjIHF1YW4gdMOibSDEkeG6t2MgYmnhu4d0LiBUcsOqbiBxdWFuIMSRaeG7g20gY+G7p2EgbmjDs20gc2luaCB2acOqbiB0aOG7sWMgaGnhu4duIMSR4buBIHTDoGksIGRvYW5oIG5naGnhu4dwIG114buRbiBuw6JuZyBjYW8gaGnhu4d1IHN14bqldCBjw7RuZyB2aeG7h2MgY+G6p24gxJHhurdjIGJp4buHdCBjaMO6IHRy4buNbmcgxJHhur9uIHnhur91IHThu5EgY29uIG5nxrDhu51pLCBj4bulIHRo4buDIGzDoCDEkeG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puIHbhu5tpIGzDvSBkbyBjaMOtbmggc2F1IMSRw6J5Og0KDQrCoCDCoCDCoCAoaSkgVmnhu4djIG7Dom5nIGNhbyDEkeG7mW5nIGzhu7FjIHbDoCBow6BpIGzDsm5nIHbhu4EgY8O0bmcgdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puIGdpw7pwIHTEg25nIMSRw6FuZyBr4buDIGhp4buHdSBzdeG6pXQgbMOgbSB2aeG7h2MsIG5nb8OgaSByYSB04bu3IGzhu4cgbmdo4buJIHZp4buHYyB2w6Agbmdo4buJIHBow6lwIHPhur0gZ2nhuqNtIMSRaSDEkcOhbmcga+G7gy4NCg0KwqAgwqAgwqAgKGlpKSDEkOG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGdpw7pwIGvDrWNoIHRow61jaCBzw6FuZyB04bqhbyBj4bunYSBuaMOibiB2acOqbiB0cm9uZyBjw7RuZyB2aeG7h2MuIEtoaSBo4buNIGPhuqNtIHRo4bqleSDEkWFtIG3DqiB2w6AgY8OzIGtow6F0IHbhu41uZyBwaMOhdCB0cmnhu4NuLCBo4buNIHPhur0gdOG7sSB0aW4gxJHGsGEgcmEgw70gdMaw4bufbmcgbeG7m2ksIGdp4bqjaSBwaMOhcCBzw6FuZyB04bqhbyB2w6AgY+G6o2kgdGnhur9uIHF1eSB0csOsbmggY8O0bmcgdmnhu4djLiDEkGnhu4F1IG7DoHkgY8OzIHRo4buDIG1hbmcgbOG6oWkgbOG7o2kgdGjhur8gY+G6oW5oIHRyYW5oIHbDoCB0aMO6YyDEkeG6qXkgc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGRvYW5oIG5naGnhu4dwLg0KDQrCoCDCoCDCoCAoaWlpKSBLaGkgbmjDom4gdmnDqm4gxJHGsOG7o2MgY8O0bmcgbmjhuq1uIHbDoCBuaOG6rW4gxJHGsOG7o2MgxJHDo2kgbmfhu5kgdOG7kXQsIGjhu40gc+G6vSBj4bqjbSB0aOG6pXkgZ+G6r24ga+G6v3QgduG7m2kgZG9hbmggbmdoaeG7h3AgdsOgIGPDsyB4dSBoxrDhu5tuZyDhu58gbOG6oWkgbMOidSBkw6BpLg0KDQrCoCDCoCDCoCAoaXYpIMSQ4buZbmcgbOG7sWMgbMOgbSB2aeG7h2MgdOG6oW8gxJFp4buBdSBraeG7h24gY2hvIG3hu5l0IG3DtGkgdHLGsOG7nW5nIGzDoG0gdmnhu4djIHTDrWNoIGPhu7FjLCBnw7NwIHBo4bqnbiB04bqhbyBuw6puIMSRw7JuIGLhuql5IGdpYSB0xINuZyBoaeG7h3Ugc3XhuqV0IGzDoG0gdmnhu4djLg0KDQrCoCDCoCDCoCBYdeG6pXQgcGjDoXQgdOG7qyBt4bulYyB0acOqdSBwaMOibiB0w61jaCBjw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIG7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbmjDom4gdmnDqm4sIG5ow7NtIHNpbmggdmnDqm4gdGnhur9uIGjDoG5oIHRo4buxYyBoaeG7h24gxJHhu4EgdMOgaSAixJDDoW5oIGdpw6EgbuG7lyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBuaMOibiB2acOqbjogQuG6sW5nIGNo4bupbmcgdGjhu7FjIG5naGnhu4dtIHThu6sga2jhuqNvIHPDoXQgMTYwIG5nxrDhu51pIiB2w6AgxJHhu4EgdMOgaSBjw7Mgbmjhu69uZyDEkcOzbmcgZ8OzcCBjaOG7pyB54bq/dSBzYXU6DQoNCi0gICBYw6FjIMSR4buLbmggY8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biBu4buXIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puLg0KDQotICAgU28gc8OhbmggbeG7qWMgxJHhu5kg4bqjbmggaMaw4bufbmcgY+G7p2EgY8OhYyB54bq/dSB04buRIHTDoWMgxJHhu5luZyDEkcOjIHjDoWMgxJHhu4tuaC4NCg0KLSAgIMSQxrBhIHJhIGPDoWMga2h1eeG6v24gbmdo4buLIHF1YW4gdHLhu41uZyBjaG8gbmjDoCBxdeG6o24gbMO9IG5ow6JuIHPhu7EuDQoNCiMjIDEuMi4gTeG7pWMgdGnDqnUgbmdoacOqbiBj4bupdQ0KDQojIyMgMS4yLjEuIE3hu6VjIHRpw6p1IGNodW5nDQoNCsKgIMKgIMKgIFBow6JuIHTDrWNoIGPDoWMgeeG6v3UgdOG7kSB0w6FjIMSR4buZbmcgxJHhur9uIG7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbmjDom4gdmnDqm4gZOG7sWEgdHLDqm4gZOG7ryBsaeG7h3Uga2jhuqNvIHPDoXQgdOG7qyAxNjAgbmfGsOG7nWkgdHJvbmcgdGjDoW5nIDMgbsSDbSAyMDI0IHThuqFpIMSR4buLYSBiw6BuIFF14bqtbiA3LCBUcC4gSOG7kyBDaMOtIE1pbmgsIFZp4buHdCBOYW0uDQoNCiMjIyAxLjIuMi4gTeG7pWMgdGnDqnUgY+G7pSB0aOG7gw0KDQrCoCDCoCDCoC0gxJDhu4tuaCBsxrDhu6NuZyBjw6FjIHnhur91IHThu5EgdMOhYyDEkeG7mW5nIMSR4bq/biDEkeG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGLhurFuZyBtw7QgaMOsbmggaOG7k2kgcXV5IGThu68gbGnhu4d1IMSR4buLbmggdMOtbmguDQoNCsKgIMKgIMKgLSBE4buxYSB0csOqbiBr4bq/dCBxdeG6oyBuZ2hpw6puIGPhu6l1LCDEkcawYSByYSBs4budaSBraHV5w6puIHbDoCBn4bujaSDDvSBjaG8gbmjDoCBxdeG6o24gbMO9IG5ow6JuIHPhu7EgdHJvbmcgdmnhu4djIHTEg25nIGPGsOG7nW5nIMSR4buZbmcgbOG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbmjDom4gdmnDqm4gdHJvbmcgZG9hbmggbmdoaeG7h3AuDQoNCiMjIDEuMy4gUGjGsMahbmcgcGjDoXAgbmdoacOqbiBj4bupdQ0KDQrCoCDCoCDCoCDEkOG7gSB0w6BpIHPhu60gZOG7pW5nIGPDoWMgcGjGsMahbmcgcGjDoXAgcGjDom4gdMOtY2ggZOG7ryBsaeG7h3UgxJHhu4tuaCB0w61uaCBiYW8gZ+G7k206DQoNCsKgIMKgIMKgIC0gVGjhu5FuZyBrw6ogbcO0IHThuqMuDQoNCsKgIMKgIMKgIC0gUmVsYXRpdmUgUmlzay4NCg0KwqAgwqAgwqAgLSDGr+G7m2MgbMaw4bujbmcgdOG7tyBs4buHLg0KDQrCoCDCoCDCoCAtIE9kZCBSYXRpby4NCg0KwqAgwqAgwqAgLSBI4buTaSBxdXkgeMOhYyBzdeG6pXQgdHV54bq/biB0w61uaCwgTG9naXQgdsOgIFByb2JpdC4NCg0KIyBDSMavxqBORyAyOiBDxqAgQ+G7niBMw50gVEhVWcOJVCBWw4AgTMav4buiQyBLSOG6ok8gVMOASSBMSeG7hlUNCg0KIyMgMi4xLiBDxqEgc+G7nyBsw70gdGh1eeG6v3QNCg0KIyMjIDIuMS4xLiBMw70gdGh1eeG6v3Qga+G7syB24buNbmcgKFZyb29tLCAxOTY0KQ0KDQrCoCDCoCDCoCBWaWN0b3IgVnJvb20gKDE5NjQpIMSRw6MgxJHhu4EgeHXhuqV0IEzDvSB0aHV54bq/dCBL4buzIHbhu41uZyAoRXhwYWN0YW5jeSBUaGVvcnkpIHRyb25nIGN14buRbiBzw6FjaCAiV29yayBhbmQgTW90aXZhdGlvbiIuIFRyb25nIEzDvSB0aHV54bq/dCBL4buzIHbhu41uZywgcXV54bq/dCDEkeG7i25oIHbDoCBow6BuaCB2aSBj4bunYSBjw6FjIGPDoSBuaMOibiDEkcaw4bujYyB0aMO6YyDEkeG6qXkgYuG7n2kgYmEgeeG6v3UgdOG7kTogKGkpIEV4cGVjdGFuY3kgLSBL4buzIHbhu41uZyB24buBIGvhur90IHF14bqjLCAoaWkpIFZhbGVuY2UgLSBHacOhIHRy4buLIG5o4bqtbiDEkcaw4bujYyB04burIGvhur90IHF14bqjIG1vbmcgbXXhu5FuIHbDoCAoaWlpKSBJbnN0cnVtZW50YWxpdHkgLSDEkMOhbmggZ2nDoSB0w61uaCBoaeG7h3UgcXXhuqMuIFRoZW8gxJHDsywgc+G7sSBr4bq/dCBo4bujcCBj4bunYSBiYSB54bq/dSB04buRIG7DoHkgc+G6vSB0aOG7gyBoaeG7h24gxJHhu5luZyBs4buxYyB04buVbmcgdGjhu4MgY2hvIG3hu6VjIHRpw6p1IHRo4buxYyBoaeG7h24gdsOgIG3hu6VjIHRpw6p1IGPDsyDEkeG7mW5nIGzhu7FjIGNhbyBuaOG6pXQgc+G6vSDEkcaw4bujYyB0aMO6YyDEkeG6qXkgxJHhu4MgdGjhu7FjIGhp4buHbi4gQ+G7pSB0aOG7gywgYmEgeeG6v3UgdOG7kSBuw6B5IMSRxrDhu6NjIHRyw6xuaCBiw6B5IGNoaSB0aeG6v3QgbmjGsCBzYXU6DQoNCsKgIMKgIMKgIC0gKipL4buzIHbhu41uZyB24buBIGvhur90IHF14bqjIChFeHBlY3RhbmN5KToqKiDEkMOieSBsw6Agc+G7sSBr4buzIHbhu41uZyBj4bunYSBjw6EgbmjDom4gduG7gSBraOG6oyBuxINuZyB0aOG7sWMgaGnhu4duIHRow6BuaCBjw7RuZyBt4buZdCBuaGnhu4dtIHbhu6UgaGF5IGThu7Egw6FuIHbhu5tpIGvhur90IHF14bqjIMSR4bqhdCDEkcaw4bujYyBtb25nIG114buRbi4gTuG6v3UgY8OhIG5ow6JuIHRpbiBy4bqxbmcgbuG7lyBs4buxYyBj4bunYSBtw6xuaCBz4bq9IGThuqtuIMSR4bq/biBr4bq/dCBxdeG6oyB0aMOgbmggY8O0bmcsIGvhu7MgduG7jW5nIHbhu4Ega+G6v3QgcXXhuqMgc+G6vSBjYW8gaMahbi4NCg0KwqAgwqAgwqAgLSAqKkdpw6EgdHLhu4sgbmjhuq1uIMSRxrDhu6NjIChWYWxlbmNlKToqKiDEkMOieSBsw6AgZ2nDoSB0cuG7iyBj4bqjbSB4w7pjIGhv4bq3YyBtb25nIG114buRbiwgdOG6p20gcXVhbiB0cuG7jW5nIGhv4bq3YyBz4buxIGjDoGkgbMOybmcgxJHGsOG7o2MgbW9uZyDEkeG7o2kgxJHhu5FpIHbhu5tpIGvhur90IHF14bqjIHThu6sgbeG7pWMgdGnDqnUgbmjhuqV0IMSR4buLbmguDQoNCsKgIMKgIMKgIC0gKirEkMOhbmggZ2nDoSB0w61uaCBoaeG7h3UgcXXhuqMgKEluc3RydW1lbnRhbGl0eSk6KiogxJDDonkgbMOgIGto4bqjIG7Eg25nIG5o4bqtbiB0aOG7qWMgY+G7p2EgY8OhYyBjw6EgbmjDom4gduG7gSBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIGvhur90IHF14bqjIHbDoCBwaOG6p24gdGjGsOG7n25nIG5o4bqtbiDEkcaw4bujYywgdOG7qWMgbMOgIG7hur91IG3hu5l0IGPDoSBuaMOibiBob8OgbiB0aMOgbmggbmhp4buHbSB24bulIOG7nyBt4bupYyDEkeG7mSBj4bulIHRo4buDIHPhur0gbmjhuq1uIMSRxrDhu6NjIMSRw6NpIG5n4buZIHTGsMahbmcg4bupbmcuDQoNCsKgIMKgIMKgIFTDs20gbOG6oWksIEzDvSB0aHV54bq/dCBL4buzIHbhu41uZyBj4bunYSBWcm9vbSAoMTk2NCkgY2hvIHRo4bqleSBy4bqxbmcsIG7hur91IG3hu5l0IGPDoSBuaMOibiB0aW4gcuG6sW5nIHPhu7EgbuG7lyBs4buxYyBz4bq9IMSRZW0gxJHhur9uIGvhur90IHF14bqjIG5o4bqldCDEkeG7i25oLCB2w6Aga+G6v3QgcXXhuqMgxJHDsyBtYW5nIMSR4bq/biBnacOhIHRy4buLIGPhuqNtIHjDumMga8OobSB24bubaSDEkcOjaSBuZ+G7mSB0xrDGoW5nIOG7qW5nIHPhur0gdGjDumMgxJHhuql5IGPDoSBuaMOibiBxdXnhur90IMSR4buLbmgsIGPhu5EgZ+G6r25nIHRo4buxYyBoaeG7h24gbmjhu69uZyBt4bulYyB0acOqdSDEkeG7gSByYS4NCg0KwqAgwqAgwqAgVGhlbyBxdWFuIMSRaeG7g20gY+G7p2EgbmjDs20gc2luaCB2acOqbiwgTMO9IHRodXnhur90IEvhu7MgduG7jW5nIGPDsyB0aOG7gyDDoXAgZOG7pW5nIGNobyDEkeG7gSB0w6BpICLEkMOhbmggZ2nDoSBu4buXIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puIiBraGkgxJHhu4EgY+G6rXAgxJHhur9uIG3hu5FpIHF1YW4gaOG7hyB0cuG7sWMgdGnhur9wIGdp4buvYSBu4buXIGzhu7FjIC0ga+G6v3QgcXXhuqM7IGvhur90IHF14bqjIC0gZ2nDoSB0cuG7iyBj4bqjbSB4w7pjOyBr4bq/dCBxdeG6oyAtIMSRw6NpIG5n4buZLyBwaOG6p24gdGjGsOG7n25nLg0KDQojIyMgMi4xLjIuIEzDvSB0aHV54bq/dCBuaHUgY+G6p3UgKE1hc2xvdywgMTk0MykNCg0KwqAgwqAgwqAgTWFzbG93ICgxOTQzKSDEkcOjIMSR4buBIHh14bqldCBI4buHIHRo4buRbmcgTmh1IGPhuqd1IChIaWVyYXJjaHkgb2YgbmVlZHMpIHRyb25nIGLDoGkgYsOhbyAiQSBUaGVvcnkgb2YgSHVtYW4gTW90aXZhdGlvbiIgdHJvbmcgxJHDoW5oIGdpw6EgdMOibSBsw70gaOG7jWMuIFRyb25nIGLDoGkgdmnhur90LCBNYXNsb3cgxJHDoyBsaeG7h3Qga8OqIGPDoWMgbeG7h25oIMSR4buBIGPGoSBi4bqjbiB2w6AgeMOieSBk4buxbmcgbMO9IHRodXnhur90IHbhu4EgxJHhu5luZyBjxqEgY+G7p2EgY29uIG5nxrDhu51pIGThu7FhIHRyw6puIG3hu4duaCDEkeG7gSB2w6AgcXVhbiBzw6F0IHRo4buxYyBuZ2hp4buHbS4gVHJvbmcgSOG7hyB0aOG7kW5nIE5odSBj4bqndSBNYXNsb3csIGPDsyA1IG5odSBj4bqndSBjxqEgYuG6o24gxJHGsOG7o2Mgc+G6r3AgeOG6v3AgdGhlbyB0aOG7qSBi4bqtYyDGsHUgdGnDqm4gKHRoxrDhu51uZyBsw6AgZOG6oW5nIGjDrG5oIHRhbSBnacOhYykuIEtoaSBuaHUgY+G6p3Ug4bufIGLhuq1jIHRo4bqlcCBoxqFuIMSRxrDhu6NjIMSRw6FwIOG7qW5nLCBuaHUgY+G6p3Ug4bufIHRo4bupIGLhuq1jIGNhbyBoxqFuIHPhur0geHXhuqV0IGhp4buHbi4gQ8OhYyBi4bqtYyBuaHUgY+G6p3UgY8ahIGLhuqNuIMSRxrDhu6NjIHPhuq9wIHjhur9wIHRoZW8gdGjhu6kgYuG6rWMgIsawdSB2aeG7h3QiIHRyb25nIGjhu4cgdGjhu5FuZyBwaMOibiBj4bqlcCwgY8OhYyBuaHUgY+G6p3UgxJHDsyBiYW8gZ+G7k206IFNpbmggbMO9LCBBbiB0b8OgbiwgWMOjIGjhu5lpLCBU4buxIHRy4buNbmcgdsOgIFThu7Ega2jhurNuZyDEkeG7i25oLiBDw6FjIG5odSBj4bqndSBuw6B5IMSRxrDhu6NjIG1pbmggaOG7jWEgY+G7pSB0aOG7gyB04bqhaSBIw6xuaCAxIG5oxrAgc2F1Og0KDQohW10oaW1hZ2VzLzQ1MzcyNzU3OF81MjYwNDg2MDk3NzUxMDRfNDYwMzgyNzgxNDU2NjMyNDUzMF9uLnBuZykNCg0KSMOsbmggMi4gVGjDoXAgbmh1IGPhuqd1IGPhu6dhIE1hc2xvdw0KDQpOZ3Xhu5NuOiBuaMOzbSBzaW5oIHZpw6puIHThu7EgduG6vSB0csOqbiBQb3dlclBvaW50IDIwMTYNCg0KwqAgwqAgwqAgVGhlbyBMw70gdGh1eeG6v3Qgbmh1IGPhuqd1IGPhu6dhIE1hc2xvdywgY8OhYyBuaHUgY+G6p3UgY8ahIGLhuqNuIGPhu6dhIGNvbiBuZ8aw4budaSDEkcaw4bujYyBz4bqvcCB44bq/cCB0aGVvIHRo4bupIHThu7EgcGjDom4gdOG6p25nIHThu6sgdGjhuqVwIMSR4bq/biBjYW8uIE1hc2xvdyAoMTk0MykgY2hvIHLhurFuZyAiQ29uIG5nxrDhu51pIGzDoCBt4buZdCDEkeG7mW5nIHbhuq10IGx1w7RuIGtoYW8ga2jDoXQiLiDDgXAgZOG7pW5nIMSR4buRaSB24bubaSDEkeG7gSB0w6BpIG5naGnDqm4gY+G7qXUgIsSQw6FuaCBnacOhIG7hu5cgbOG7sWMgY+G7p2EgbmjDom4gdmnDqm4iLCBMw70gdGh1eeG6v3QgTmh1IGPhuqd1IGPDsyB0aOG7gyBn4bujaSDDvSBy4bqxbmcgdmnhu4djIHF14bqjbiBsw70sIHRow7pjIMSR4bqpeSBuaMOibiB2acOqbiBuw6puIGNow7ogdHLhu41uZyDEkeG6v24gdmnhu4djIMSRw6FwIOG7qW5nIGPDoWMgbmh1IGPhuqd1IHbhuq10IGNo4bqldCB0csaw4bubYywgc2F1IMSRw7MgZOG6p24gZOG6p24gbsOibmcgY2FvIMSR4bq/biBjw6FjIG5odSBj4bqndSBjYW8gaMahbi4gVHV5IG5oacOqbiwgY+G6p24gbMawdSDDvSBy4bqxbmcgdmnhu4djIGPhuqNuIHRy4bufLCDEkcOhcCDhu6luZyBzYWkgdGjhu6kgYuG6rWMgY+G7p2Egbmjhu69uZyBuaHUgY+G6p3UgY8ahIGLhuqNuIG7DoHkgc+G6vSBk4bqrbiDEkeG6v24gdmnhu4djIG3huqV0IMSR4buZbmcgbOG7sWMgdsOgIGPDsyB0aOG7gyBsw6AgY2jDoW4gZ2jDqXQsIGLhuqV0IG3Do24uDQoNCiMjIyAyLjEuMy4gTMO9IHRodXnhur90IGjDoG5oIHZpIGThu7EgxJHhu4tuaCAoQWp6ZW4gJiBGaXNoYmVpbiwgMTk5MSkNCg0KwqAgwqAgwqAgTMO9IHRodXnhur90IEjDoG5oIHZpIEThu7EgxJHhu4tuaCAoVGhlb3J5IG9mIFBsYW5uZWQgQmVoYXZpb3IpIGzDoCBt4buZdCBsw70gdGh1eeG6v3QgdHJvbmcgbMSpbmggduG7sWMgdMOibSBsw70geMOjIGjhu5lpIHbDoCBow6BuaCB2aSBjb24gbmfGsOG7nWkgxJHGsOG7o2MgxJHhu4EgeHXhuqV0IGLhu59pIEFqemVuICgxOTkxKSBk4buxYSB0csOqbiBsw70gdGh1eeG6v3QgaMOgbmggdmkgaOG7o3AgbMO9IChUaGVvcnkgb2YgUmVhc29uZWQgQWN0aW9uKSBj4bunYSBBanplbiAmIEZpc2hiZWluICgxOTgwKS4gVGhlbyBsw70gdGh1eeG6v3QgSMOgbmggdmkgROG7sSDEkeG7i25oLCB0aMOgbmggdMOtY2ggaMOgbmggdmkgcGjhu6UgdGh14buZYyB2w6BvIGPhuqMgxJHhu5luZyBs4buxYyAow70gxJHhu4tuaCkgdsOgIGto4bqjIG7Eg25nIChraeG7g20gc2/DoXQgaMOgbmggdmkpLiBU4burIMSRw7MsIGPDsyBiYSB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biB2aeG7h2MgdGjhu7FjIGhp4buHbiBow6BuaCB2aSBsw6A6DQoNCsKgIMKgIMKgIC0gKipUaMOhaSDEkeG7mSDEkeG7kWkgduG7m2kgaMOgbmggdmk6KiogxJDDonkgbMOgIGPDoWNoIG3DoCBt4buZdCBuZ8aw4budaSDEkcOhbmggZ2nDoSB0w61jaCBj4buxYyBob+G6t2MgdGnDqnUgY+G7sWMgduG7gSBt4buZdCBow6BuaCB2aSBj4bulIHRo4buDLiBOw7MgbGnDqm4gcXVhbiDEkeG6v24geGVtIHjDqXQga+G6v3QgcXXhuqMgdsOgIGhp4buHdSBxdeG6oyBj4bunYSB2aeG7h2MgdGjhu7FjIGhp4buHbiBow6BuaCB2aSDEkcOzLg0KDQrCoCDCoCDCoCAtICoqQ2h14bqpbiBt4buxYyBjaOG7pyBxdWFuOioqIMSQw6J5IGzDoCBuaeG7gW0gdGluIGPhu6dhIG3hu5l0IG5nxrDhu51pIHbhu4Egc+G7sSDEkeG7k25nIHRodeG6rW4gaG/hurdjIGtow7RuZyDEkeG7k25nIHRodeG6rW4gdOG7qyBwaMOtYSBuZ8aw4budaSBraMOhYyB24buBIG3hu5l0IGjDoG5oIHZpLiBOw7MgbGnDqm4gcXVhbiDEkeG6v24gbmnhu4FtIHRpbiBj4bunYSBt4buZdCBuZ8aw4budaSB24buBIHZp4buHYyBsaeG7h3UgYuG6oW4gYsOoIHbDoCBuaOG7r25nIG5nxrDhu51pIHF1YW4gdHLhu41uZyBjw7MgdMOhbiB0aMOgbmggaGF5IGtow7RuZyB0w6FuIHRow6BuaCBow6BuaCB2aSDEkcOzLg0KDQrCoCDCoCDCoCAtICoqTmjhuq1uIHRo4bupYyB24buBIGtp4buDbSBzb8OhdCBow6BuaCB2aToqKiDEkMOieSBsw6Agbmjhuq1uIHRo4bupYyBj4bunYSBt4buZdCBuZ8aw4budaSB24buBIG3hu6ljIMSR4buZIGThu4UgZMOgbmcgaG/hurdjIGtow7Mga2jEg24ga2hpIHRo4buxYyBoaeG7h24gbeG7mXQgaMOgbmggdmkuIE5o4bqtbiB0aOG7qWMgduG7gSBraeG7g20gc2/DoXQgaMOgbmggdmkgY8OzIHRo4buDIHRoYXkgxJHhu5VpIHRoZW8gdMOsbmggaHXhu5FuZyB2w6AgaMOgbmggxJHhu5luZywgZOG6q24gxJHhur9uIHPhu7Ega2jDoWMgYmnhu4d0IHRyb25nIG5o4bqtbiB0aOG7qWMgduG7gSBraOG6oyBuxINuZyBraeG7g20gc2/DoXQgaMOgbmggdmkgdMO5eSB0aHXhu5ljIHbDoG8gdMOsbmggaHXhu5FuZy4NCg0KwqAgwqAgwqAgTmjGsCB24bqteSwgbmjDs20gc2luaCB2aeG7h2MgY2hvIHLhurFuZyBjw7MgdGjhu4Mgw6FwIGThu6VuZyBMw70gdGh1eeG6v3QgSMOgbmggdmkgROG7sSDEkeG7i25oIGNobyDEkeG7gSB0w6BpICLEkOG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puIiBjw7MgdGjhu4MgZ+G7o2kgw70gcuG6sW5nIHZp4buHYyBxdeG6o24gbMO9IGPhuqduIHThuqFvIHRow6FpIMSR4buZIHTDrWNoIGPhu7FjLCDEkeG7k25nIHRodeG6rW4gdsOgIGtp4buDbSBzb8OhdCBo4bujcCBsw70vIHBow7kgaOG7o3AgdHJvbmcgY8O0bmcgdmnhu4djIMSR4buDIHTEg25nIMSR4buZbmcgbOG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbmjDom4gdmnDqm4uDQoNCiMjIDIuMi4gVOG7lW5nIHF1YW4gY8OhYyBuZ2hpw6puIGPhu6l1IHRyxrDhu5tjIMSRw6J5DQoNCiMjIyAyLjIuMS4gQ8OhYyBiw6BpIGLDoW8gVGnhur9uZyBWaeG7h3QNCg0KwqAgwqAgwqAgW05ndXnhu4VuIEto4bqvYyBIb8OgbiAoMjAxMCldKGh0dHBzOi8vaHVldW5pLmVkdS52bi9wb3J0YWwvZGF0YS9kb2MvdGFwY2hpLzYwXzgucGRmKSDEkcOjIG5naGnDqm4gY+G7qXUgY8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biDEkeG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puIHThuqFpIE5nw6JuIGjDoG5nIFRoxrDGoW5nIG3huqFpIGPhu5UgcGjhuqduIMOBIENow6J1IC0gQ2hpIG5ow6FuaCBIdeG6vy4gVGhlbyDEkcOzLCBiw6BpIHZp4bq/dCBuw6B5IHjDoWMgxJHhu4tuaCA1IHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIMSR4buZbmcgbOG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbmjDom4gdmnDqm4gZ+G7k206IChpKSBNw7RpIHRyxrDhu51uZyBsw6BtIHZp4buHYywgKGlpKSBMxrDGoW5nIGLhu5VuZyB2w6AgcGjDumMgbOG7o2ksIChpaWkpIEPDoWNoIHRo4bupYyBi4buRIHRyw60gY8O0bmcgdmnhu4djLCAoaXYpIFPhu7EgaOG7qW5nIHRow7ogdHJvbmcgY8O0bmcgdmnhu4djIHbDoCAodikgVHJp4buDbiB24buNbmcgcGjDoXQgdHJp4buDbi4gS+G6v3QgcXXhuqMgbmdoacOqbiBj4bupdSBjaG8gdGjhuqV5LCBj4bqjIDUgeeG6v3UgdOG7kSB0csOqbiDEkeG7gXUgY8OzIHTDoWMgxJHhu5luZyDEkcOhbmcga+G7gyDEkeG6v24gxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBuaMOibiB2acOqbiBuZ8OibiBow6BuZy4gQ+G7pSB0aOG7gywga2hpIGPhuqMgNSB54bq/dSB04buRIMSR4buBdSDEkcaw4bujYyBj4bqjaSB0aGnhu4duICh0aGVvIGjGsOG7m25nIHTDrWNoIGPhu7FjKSBz4bq9IHRow7pjIMSR4bqpeSBz4buxIGdpYSB0xINuZyDEkeG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIG5ow6JuIHZpw6puIE5nw6JuIGjDoG5nIFRNQ1Agw4EgQ2jDonUgLSBDaGkgbmjDoW5oIEh14bq/LiBUcm9uZyDEkcOzIHnhur91IHThu5EgbcO0aSB0csaw4budbmcgbMOgbSB2aeG7h2MgdsOgIHPhu7EgdGjEg25nIHRp4bq/biB0cm9uZyB0xrDGoW5nIGxhaSBjw7MgdMOhYyDEkeG7mW5nIGzhu5tuIG5o4bqldCDEkeG6v24gxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYy4NCg0KwqAgwqAgwqAgW0LDuWkgxJDhu6ljIFRo4buNICgyMDEzKV0oaHR0cHM6Ly9rdHB0Lm5ldS5lZHUudm4vVXBsb2Fkcy9CYWklMjBiYW8vMjAxMy9TbyUyMDE5MiUyMChJSSkvMzcyOTE1LnBkZikgxJHDoyB4w6J5IGThu7FuZyBi4buZIGPDonUgaOG7j2kga2jhuqNvIHPDoXQgZOG7sWEgdHLDqm4gTMO9IHRodXnhur90IEvhu7MgduG7jW5nIGPhu6dhIDE3MiBjw6FuIGLhu5kgY8O0bmcgY2jhu6ljLCB2acOqbiBjaOG7qWMgdGh14buZYyBjw6FjIMSRxqFuIHbhu4sgaMOgbmggY2jDrW5oIGPDtG5nLiBL4bq/dCBxdeG6oyBjaG8gdGjhuqV5LCDEkcOjaSBuZ+G7mSDEkeG7kWkgduG7m2kgY8O0bmcgY2jhu6ljLCB2acOqbiBjaOG7qWMgY2jGsGEgdMOhYyDEkeG7mW5nIHLDtSBy4buHdCDEkeG6v24gxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBjw6FuIGLhu5ksIHZpw6puIGNo4bupYy4gROG7sWEgdHLDqm4gVGh1eeG6v3Qga+G7syB24buNbmcgY+G7p2EgVnJvb20sIGLDoGkgbmdoacOqbiBj4bupdSDEkcOjIHTDrG0gcmEgxJHGsOG7o2Mgbmjhu69uZyBuZ3V5w6puIG5ow6JuIGPGoSBi4bqjbiBsw6BtIGNobyBjw6FuIGLhu5kgY8O0bmcgY2jhu6ljLCB2acOqbiBjaOG7qWMgY2jGsGEgdGjhu7FjIHPhu7EgbuG7lyBs4buxYyBjYW8uDQoNCsKgIMKgIMKgIFtIb8OgbmcgVGjhu4sgSOG7k25nIEzhu5ljICYgTmd1eeG7hW4gUXXhu5FjIE5naGkgKDIwMTQpXShodHRwczovL2N0dWpzdm4uY3R1LmVkdS52bi9pbmRleC5waHAvY3R1anN2bi9hcnRpY2xlL3ZpZXcvMTk5LzM2MjApIHBow6JuIHTDrWNoIGPDoWMgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyDEkeG6v24gxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBjw6FuIGLhu5ksIHZpw6puIGNo4bupYyBk4buxYSB0csOqbiBraHVuZyBMw70gdGh1eeG6v3QgTmh1IGPhuqd1IGPhu6dhIE1hc2xvdyB2w6AgTMO9IHRodXnhur90IE5odSBj4bqndSBj4bunYSBOYXZpcyAoMTk4MykuIFTDoWMgZ2nhuqMgYsOgaSB2aeG6v3QgY8OzIGzhuq1wIGx14bqtbiB04burIGvhur90IHF14bqjIG5naGnDqm4gY+G7qXUgbmjGsCBzYXU6ICJUcm9uZyBi4buRaSBj4bqjbmggY2hpIHRoxrDhu51uZyB4dXnDqm4gY2hvIGzGsMahbmcgY+G7p2EgY8OhbiBi4buZIGPDtG5nIGNo4bupYyDEkWFuZyBk4bqnbiB0cuG7nyB0aMOgbmggZ8OhbmggbuG6t25nIGNobyBuZ8OibiBzw6FjaCBuaMOgIG7GsOG7m2MsIHRow6wgdmnhu4djIGTDuW5nIHRp4buBbiBsxrDGoW5nIMSR4buDIHRow7pjIMSR4bqpeSBuZ8aw4budaSBsYW8gxJHhu5luZyBs4bqhaSBjw6BuZyB0cuG7nyBuw6puIGtow7Mga2jhuqMgdGhpLiBUaGF5IHbDoG8gxJHDsyBjw6FjIG5ow6AgcXXhuqNuIGzDvSBraHUgduG7sWMgY8O0bmcgY8OzIHRo4buDIHPhu60gZOG7pW5nIG5o4buvbmcgY8O0bmcgY+G7pSBraMOhYyBuaMawIHThuqFvIGPGoSBo4buZaSB0aMSDbmcgdGnhur9uLCBo4buNYyB04bqtcCBi4buTaSBkxrDhu6FuZywgeMOieSBk4buxbmcgbcO0aSB0csaw4budbmcgbMOgbSB2aeG7h2MgxJFvw6BuIGvhur90LCB0xrDGoW5nIHRy4bujIGzhuqtuIG5oYXUuLi4gbmjhurFtIG7Dom5nIGNhbyBt4bupYyBz4bq1biBsw7JuZyBsw6BtIHZp4buHYyAod2lsbGluZ25lc3MgdG8gd29yaykgY+G7p2EgbmjDom4gdmnDqm4uIg0KDQojIyMgMi4yLjIuIEPDoWMgYsOgaSBiw6FvIFRp4bq/bmcgQW5oDQoNCsKgIMKgIMKgIFtDaGFpIHbDoCBj4buZbmcgc+G7sSAoMjAxNyldKGh0dHBzOi8vcGRmLnNjaWVuY2VkaXJlY3Rhc3NldHMuY29tLzI3NjIzMi8xLXMyLjAtUzE1NjkxODYxMTdYMDAwM1gvMS1zMi4wLVMxNTY5MTg2MTE2MzAwNjAyL21haW4ucGRmP1gtQW16LVNlY3VyaXR5LVRva2VuPUlRb0piM0pwWjJsdVgyVmpFSG9hQ1hWekxXVmhjM1F0TVNKSE1FVUNJUUQ3V3lEWU1NOGROQSUyQiUyQmNtVTdDcE9ub3RWaGE1WmZ1Ykt2T0JiWnklMkJDTEJRSWdjdm90Vk54ZkdDc01VWndSVXA5VVVHdHZCclJmYkowMm9hcWZNJTJGUkdVVVFxc3dVSUl4QUZHZ3d3TlRrd01ETTFORFk0TmpVaURLZG5FbTY5ekdQekl6aHB0aXFRQmNGTXJxbndpTzdtOU1VaXdZbzBTajJIRTE4R0NkTVN5WGFBZXRySGU0WmNPbGxtdmhGM3VoSGZWeTNVVGVmUm5EdVlyVGlxRlJMbCUyRkNzQU1qWjNhVDlkblBacDBKNSUyQlRQdXNGTWE2aVVUQiUyRlNjb3NzT3dSRmg5aU04aGxaODZQOTZsNXNCcVNkdG1uUHlVOGttWHhPN1dTMEl6M2ZNeXgzY3RFaVZMdjJTTEJTVXQ1RmdWc25MdllONmJUZkxLcGd4U3VjaE56Q1NraWkzNzhubWdveThkYmE1a05VWHpac2xpS2dyM0plR3VMUGZ1NXVRMGN6MUhtZURlV3JtSU1kZHZmTiUyQlcwMTBNcVlaJTJCUHcxQVlYeHFDVU9LZG05WHlXM3klMkZENVk5dzBxemViRjhmME5oS01hQjJZZVI3VzQ1UjclMkZDJTJGMFlEeTRYNWwyUERiYkxQbjVRY3VBaTN0cHNpNWRTSVJ3aE0xZTBvQUhTR0V0dU92YnJOMDdrWU5sS0c0ekt1d2VZdm96cTN1RThST0E2M3g5VUxqenJCWHlDb0k5ZlElMkJMdE4ycVhFZTB3b3g0NkcwMGhJM05aMVpPeml2MDNUMnJiNGNMM1lIU3BobWF0VkZSbmtpZElKc0NVTnglMkZsJTJCV0VPQ2x1aUQwc1BsMmRaTjlKdmRPTUt2WjdKcTFTMVZQRnRwUlJXRTJyUFVVZEZnTDB4TTNZRE1xJTJCTkFpejN4blcwUGMzNnlLMDlHWEJ3ak0zV1dTVEpLb0hua3dGeHZHNHdyUDJzdE94ZUtrcSUyRnZ5WFpWRGVhTzdYTUVyNlJVak13TXZkNXpSciUyQnY3Ujl2VUtkVWhqVDBleFVFTGhnNlg1VUtaclZKWGV2bHhtTjJ1MVZlQzI4Q0ZaWk9WJTJGeXJaVjhldjF3ZTl2Yzl3anF4bFIwUzN2Vmo1MEVGZkdoUlF3QWZrSzdlWHNxU1JibzE0cWl5cU5hbmpZa1RWRGNoWGloSmhPZVBxSXFGSW5ZS01qczIxQk1mQ3FWM1dKcEM1bzlIJTJGbzlqWThFa1FUdWxWT0k0UnJOcUVJdXBHMCUyQlpNMWk3OFhVZDdWS0Z5MGtMUmhQTk9DQUVPaG1RdEUwVUtYJTJGQVJ5djBFRWJRekF3NlQ5bGElMkZ0JTJGeGFPN2g3b3BHNXREZ0Uxc01PSDN5TE1HT3JFQkk5b2J3MkVPcEpnQmo5ZUZHa3QwJTJGTGtUNU5qYzFlamhoZmM4MWJMaHFhSDNoZTQxbHh4QmFKJTJGV2o1eFVVSlVxNlI5T0lhZjRKY0g4cnZKOGVPdEpVM0hRTEZxSm9Mb01tcXpYNVc0dlVVNEI1UHBERDhpc0J6S05vMnJ6VmgyMzExR1VEM1N2WXZFdE5rMm5HMlhVdExrWjBtbThsU2VjeVUwbEtQSGF1SUtDUlEyUld2bWQzSElOcGJCcFJram5Xc0FGOEh4Z0dHU016NjRENmJ2V0JEOXZLemolMkY4MEI5NzlBcXVkUVF4Q3MlMkImWC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotRGF0ZT0yMDI0MDYxOVQwMzA0NDlaJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1DcmVkZW50aWFsPUFTSUFRM1BIQ1ZUWVM0VlI2Sk5DJTJGMjAyNDA2MTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1TaWduYXR1cmU9ZmQyNTM1MWFiMGFmZmM0ZTdkZWNiMzIyZTZkNjlmYzg2YmFiMTY1YmU4YTE5NTU3YmVjZTQ1YjYzMTZhOTk0NCZoYXNoPTY2OTlkOWUyMzI1NTA0YzRhODRjNTE3ODc2Mjc1MzIxZjY3NDk5YTE1NjE5ZTgwMjlkOGRlZWM1N2IwZGI2YzkmaG9zdD02ODA0MmM5NDM1OTEwMTNhYzJiMjQzMGE4OWIyNzBmNmFmMmM3NmQ4ZGZkMDg2YTA3MTc2YWZlN2M3NmMyYzYxJnBpaT1TMTU2OTE4NjExNjMwMDYwMiZ0aWQ9c3BkZi04NzZhZWViNS02YmFmLTQ2NGEtYjlkZC1jMTFkMWZlYzA3MDQmc2lkPWEyYTAxYTg4OGU4NWY4NDkyNzA5YjZmNTdkMTc4YTRlMmRmMWd4cnFhJnR5cGU9Y2xpZW50JnRzb2g9ZDNkM0xuTmphV1Z1WTJWa2FYSmxZM1F1WTI5dCZ1YT0xMjA5NWU1ODU0NTc1YjBkNWQmcnI9ODk2MDRiM2NiZjRhYTkwNiZjYz12biZrY2E9ZXlKclpYa2lPaUpUVVU5WGJVOTNkRTVIZUhJd1RqSkhNVkZOYjFkMlJTODRiVGhhZUdWclVsSnBjSGx1TUZJMFZrYzJOazR6VTIxaUt6TjFkMVYxV0dseWRISTRObFpoVlhOSWN5c3JVVGxVUTBFMGRVbzVNa3htWmtzeFZuUmFOVGRUU1VacVdtaENRVTVGUTJvM1VpdE1NR0UwWW5KV2NrSnBjbGM0V1dZNVQybGFVV1pIVmk5dGJFcE5SUzlYUkRFeWFEZHllRkJUUjFWaGMxb3dNV2xqWTNOQmRscEhkV0pyWWpoWVlVeHNTVTgwWldSSVdXZDBkejBpTENKcGRpSTZJbU13WmpobU5qUTRObVJrTVdNd09UWTVPRFl4WldVd1pqbGxZMlkxTlRBNUluMD1fMTcxODc2NjMwNTkzMykgxJHDoyB0aeG6v24gaMOgbmggxJHDoW5oIGdpw6EgxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBzaW5oIHZpw6puIHThu5F0IG5naGnhu4dwIG5nw6BuaCB0cuG7iyBsaeG7h3UgKFRoZXJhcGh5KSB04bqhaSBNYWxheXNpYSB0cm9uZyBuxINtIDIwMTcuIE3hu6VjIHRpw6p1IGPhu6dhIG5naGnDqm4gY+G7qXUgbsOgeSBsw6A6IChhKSB4w6FjIMSR4buLbmggxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyAoYikgeMOhYyDEkeG7i25oIHPhu7Ega2jDoWMgYmnhu4d0IHbhu4EgxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyB0csOqbiBsxKluaCB24buxYyBjw7RuZyB2aeG7h2MsIHbhu4sgdHLDrSBjw7RuZyB2aeG7h2MsIHRo4budaSBnaWFuIGzDoG0gdmnhu4djLCBraW5oIG5naGnhu4dtIGzDoG0gdmnhu4djIHbDoCBj4bqjIGdp4bubaSB0w61uaC4gS+G6v3QgcXXhuqMgY2hvIHRo4bqleSDEkeG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIHNpbmggdmnDqm4gdOG7kXQgbmdoaeG7h3Ag4bufIG3hu6ljIGNhbyB24bubaSBuZ3V5w6puIG5ow6JuIGNo4bunIHnhur91IHThu6sgc+G7sSBo4bupbmcgdGjDuiDEkeG7kWkgduG7m2kgY8O0bmcgdmnhu4djIHbDoCB0aeG7gW0gbsSDbmcgY+G7p2EgY8O0bmcgdmnhu4djIGjGsOG7m25nIHThu5tpIG3hu6VjIHRpw6p1IGPDoSBuaMOibi4gTmdvw6BpIHJhLCB0w6FjIGdp4bqjIGPFqW5nIGzhuq1wIGx14bqtbiBy4bqxbmcgYuG6sW5nIGPDoWNoIGdpw7pwIMSR4buhIGhv4bq3YyBxdWFuIHTDom0gc2luaCB2acOqbiB04buRdCBuZ2hp4buHcCwgdGjhu60gdGjDoWNoIHRp4buBbSBuxINuZyBjw6EgbmjDom4gKHThuqFvIGPGoSBo4buZaSBwaMOhdCB0cmnhu4NuKSBz4bq9IHRow7pjIMSR4bqpeSDEkeG7mW5nIGzhu7FjIGPhu6dhIG5o4buvbmcgc2luaCB2acOqbiB04buRdCBuZ2hp4buHcC4NCg0KwqAgwqAgwqAgW0ouIENvbGxpZSAoMjAyMyldKGh0dHBzOi8vcGRmLnNjaWVuY2VkaXJlY3Rhc3NldHMuY29tLzI3MTgzOC8xLXMyLjAtUzA3NDIwNTFYMjNYMDAxMzQvMS1zMi4wLVMwNzQyMDUxWDIzMDAzMzYwL21haW4ucGRmP1gtQW16LVNlY3VyaXR5LVRva2VuPUlRb0piM0pwWjJsdVgyVmpFSG9hQ1hWekxXVmhjM1F0TVNKR01FUUNJQ0tXQU1LSGtvd1dzV3VNM0tkS2olMkZVUXdJVnNvdkw2RlljJTJCSDdxQiUyRmxtY0FpQW4lMkJFOGdGMGg4bHRpTWc4YkVEUFBpQ3Y1UUZmbG8lMkJURWdzMnF2STBjN2tpcXpCUWdqRUFVYUREQTFPVEF3TXpVME5qZzJOU0lNbnRHd2VmNm1mNzRTbTVFcktwQUYyOURiMjNFZk8wJTJGaXN4aVZnMkt5WlFzOEtSRXNiUVduRnpaVG83RlhNaGRuWWwzOXZ3MFZpZ0xNRXNWbmtYa1Q4dWQxemFybko4JTJCJTJGVFpPYmdHTUoxYUpocFg2UzJSb3VGZ3VHYVNsQ1o0REJTdVlMMnlmeEZ1dU8lMkZFZDduMGFWcWxBeXdZNGhjdW83Z2ZHSSUyQlExSmVQbCUyRmNiR2RwSzdiaHpTclNjOXM1UllGcXh3Z1g5TlZUc0dqV21vT0xiNEJmYUVLUkppbVVtJTJCN0pQd1B0blhqJTJGRjV0S0VCbnRZWEgySDNOaFBxRWJlTm9CMEh0ZFlWbVhndFFHbHJiV1ZrWEJuR0RYJTJGVGpPNTdsTG9pU0RLUGpNT1JqaTVIQnolMkZBZ3ZsbHFFOE9yQXY4WXZqdmZtQlFaWkFFalZ1R3dGQzZpeTN1VGdqeFhWT2RXZmFTaEV4anJTbWFnWGFtdk9qQWF4VVBsZUlKMlVtTDVpSjc4ZyUyQnpQdVZWQ2d0ek9vZ3BLNDJHM2JPZExlbUh2M1U5dkptMGVOWVM2VWdJTWZsUVc5ZmhCVzRSaSUyRkFxVVFtJTJCclhFWG9GZzJEbU1HdVJJcmpTbjI4T0F4YnZwVHFQTW5HS0RFU0RlJTJCN09IJTJCRHU4a2NLT2Z2b0tBJTJGQjRlS212WVpCRUR0T1FYQm1NbFlNRlhKWWFwS2hUY0QwTDVvWDBVd1dpUDRVNWpHTFVnZUVaNlNhaDByblJjWmxIRERyZmllR2dvVzNWQmVCRU9NbW0lMkJCT29kSUYlMkZZeHd1dHpRdHpWaW5lYVZSRkQlMkI2JTJCV0hkTlElMkY2OSUyRiUyQmVMTUR3bmRqNiUyRlhkbjR1WEF4Y2JUWFJQRkVnV2lGUDZhWTJra2JRUFJYZFk2aGRWVmhIanFmQjRoUFdMWGUxUFQzSWRZdXZYMnFGbGRhblI0TWw1Mk5FUnJmRmtZT2ZZUEYxWThHY1VEQ1VWMDZkZXA1SEs2RjQyRnpocTZQemslMkJoYW5rNyUyQlExUUlUUzc0M1p1emx1cTlweXYyJTJCZDRLclE5MVRLa1ltQUlpTUdzd0lSS1BjQThnSFBYb2s2RmxZcUw2QW5xeUpsUUM1VVh1UkwyTGwzVlhDeGZqb1llUGFnZ2xiOGNpZzVxRFBQNWtWcVF4YmlMbnBzcU43T1RQJTJCNktOOG5ndzRPYklzd1k2c2dFNGtpYU1QaWpZeU1OZ0lzYkI5anlxNG1icmExR09DZDBVUkxQcjV5R1VmWCUyRmg1SlVKRnR6ejNhTXZiRyUyRnFWdXZ1WVJiQWlxNnBlQU9JZzVkTjlvcWY1bEpVMEdFb3JKTVZvR25LbFMyUVVHY045WVVwYUtqOEl5OXclMkJ0ZTN2dEh4bnZ0WXpjaWZwNE11REpiWjlySml2Vlh6Q3Z4SmhLWjU0bkhHJTJCa3QxR2FlYUxZT2ZUOWhEeWRkJTJGcTZmR3dsVjdyYkFFZ1l6JTJCbkZuWWFpMTFGRGlBdzFyRmx6YWtsNHhkd25vbHVjMGdUWjlVJlgtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LURhdGU9MjAyNDA2MTlUMDMwNTU5WiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotQ3JlZGVudGlhbD1BU0lBUTNQSENWVFlZQ01XSlhKVyUyRjIwMjQwNjE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotU2lnbmF0dXJlPWUzZjc4YWRkMWQ1NjEzMDE0ZDk1MTQ0N2MyZTg0YTFlZDVkNGQ1OTk2ZmUzOWVhYmU0ZGZmOThmYzM4ZGYwM2YmaGFzaD1kNzhkMGE5OGExY2IwZjA2MzMyMWE0Njc2NjNiOTIzNTJmN2YyZDI1ZGQ3YjBhM2ZjZjFmNTk0ZDIwMzIyYTdlJmhvc3Q9NjgwNDJjOTQzNTkxMDEzYWMyYjI0MzBhODliMjcwZjZhZjJjNzZkOGRmZDA4NmEwNzE3NmFmZTdjNzZjMmM2MSZwaWk9UzA3NDIwNTFYMjMwMDMzNjAmdGlkPXNwZGYtZmM4Y2QwNjYtOGE0YS00MGViLWFjOTgtMWY3OTNlN2M4MTEyJnNpZD1hMmEwMWE4ODhlODVmODQ5MjcwOWI2ZjU3ZDE3OGE0ZTJkZjFneHJxYSZ0eXBlPWNsaWVudCZ0c29oPWQzZDNMbk5qYVdWdVkyVmthWEpsWTNRdVkyOXQmdWE9MTIwOTVlNTg1NDU3NWIwYzA4JnJyPTg5NjA0Y2YwMWU1NWE5MGMmY2M9dm4pIGtp4buDbSB0cmEgxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBuaMOzbSBnacOhbyB2acOqbiBuZ8aw4budaSDDmmMgdHJvbmcgbsSDbSAyMDIzLiBUaGVvIMSRw7MsIG5naGnDqm4gY+G7qXUgbsOgeSBk4buxYSB0csOqbiBu4buBbiB04bqjbmcgY+G7p2EgTMO9IHRodXnhur90IFThu7EgcXV54bq/dCAoU2VsZi1EZXRlcm1pbmF0aW9uIFRoZW9yeSkgduG7m2kgaGFpIGdp4bqjIMSR4buLbmggY2jDrW5oOiAoaSkgTmh1IGPhuqd1IHBow6F0IHRyaeG7g24gdGjDumMgxJHhuql5IGjDoG5oIHZpLCAoaWkpIMSQ4buZbmcgbOG7sWMgdOG7sSBjaOG7pyBsw6AgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcuIFRyb25nIMSRw7MsIHPhu7EgdOG7sSBxdXnhur90IGPDsyAzIHRow6BuaCBwaOG6p246IHF1eeG7gW4gdOG7sSBjaOG7pyAoY+G6o20gdGjhuqV5IGtp4buDbSBzb8OhdCDEkcaw4bujYyBow6BuaCB2aSwgbeG7pWMgdGnDqnUpLCBuxINuZyBs4buxYyAoa2luaCBuZ2hp4buHbSB2w6Aga+G7uSBuxINuZyksIHPhu7EgZ+G6r24ga+G6v3QgKHRow6JuIHRodeG7mWMgdsOgIGfhuq9uIGLDsyB24bubaSBuZ8aw4budaSBraMOhYy8gxJHhu5NuZyBuZ2hp4buHcCkuIEvhur90IHF14bqjIG5naGnDqm4gY+G7qXUgY+G7p2EgSi4gQ29sbGllIGNo4buJIHJhIHLhurFuZyBraGkgbmjDoCBxdeG6o24gbMO9IOG7p25nIGjhu5kgcXV54buBbiB04buxIHF1eeG6v3Qgc+G6vSBjw7MgdMOhYyDEkeG7mW5nIMSRw6FuZyBr4buDIMSR4bq/biDEkeG7mW5nIGzhu7FjIGLDqm4gdHJvbmcgKHThu7EgY8OhIG5ow6JuIG114buRbiBj4buRIGfhuq9uZyksIHRyb25nIGtoaSBuaMOgIHF14bqjbiBsw70gY+G6o24gdHLhu58gcXV54buBbiB04buxIHF1eeG6v3QgbOG6oWkgY8OzIHTDoWMgxJHhu5luZyDEkcOhbmcga+G7gyDEkeG6v24gxJHhu5luZyBs4buxYyBiw6puIG5nb8OgaSAocGjhuqNpIGzDoG0pLg0KDQrCoCDCoCDCoCBbTGF5ZWsgJiBLb29kYW1hcmEgKDIwMjQpXShodHRwczovL3BkZi5zY2llbmNlZGlyZWN0YXNzZXRzLmNvbS8yNzIwNDUvMS1zMi4wLVMwMDAxNjkxODI0WDAwMDM3LzEtczIuMC1TMDAwMTY5MTgyNDAwMDk0NS9tYWluLnBkZj9YLUFtei1TZWN1cml0eS1Ub2tlbj1JUW9KYjNKcFoybHVYMlZqRUhvYUNYVnpMV1ZoYzNRdE1TSkhNRVVDSVFDeWpZOWEzWHhQJTJGYVNzMTVPV2xSbTclMkYlMkZvM1VOVHllSmV3OTIxYkJGR1NWQUlnR0hQZTBEWXRLblIwcXNac2JKYzAyVVRmNzhxJTJCTDZjMFMlMkZYSmJYM3ptaG9xc3dVSUl4QUZHZ3d3TlRrd01ETTFORFk0TmpVaURIdDI4RjVzUEVoeHc0Y2RZQ3FRQmZDaE43TDhjOFhBUERFRGQ4YzMzeTgwclhpWVc1VVFZWHNoTW9QemVmVjV2ck9obEI1dklXVVVoRDB1TFFMbVdEemVGYzY2bEp2bXY5UVVFWGZCQkozcVZnJTJCZE5RZ0tYbkJ4Q3NiUDdWQ2wlMkJmOXZlT3o4ekV2NEI3bURYQmtaYWo0U2R0d3RNMlBoZGZtd0pWODdXOHV4d29JRDZuZ2dKd2ZCR0owQVp3ZjFBNWhQcG03UGYwbkVMVUlaVkF5MSUyRnZJV2JBbiUyRm5NaVZHSHpJeG4zeEMydWVLa3c5QTNlcFR3TUFieWFFT2JHWGE3UWN2dmVzRUF1RHB1M2slMkJBMWdqMHJ0cWJRbmd6QzZ2bGEwNkQ3JTJCelcxRGw0YnFJR2pNcU9KMnlsbHdPZUl5Y0I5SXJBZWNwMjdObkFqR3VzN0RsSUhDNmVoQ0RxTmhHZXhjMTVURWp6ZWolMkZyTCUyQlN3TWM3ajhvQTV0RHBIJTJCUkd0S3hOZXZqc1V5TXppNktHJTJCS1F6b055OW5GaWR0ejdHdUdqMzRVNkZNd2luck52UFN3TU0xYllXZUppV1d2QU1NZlZyaXpTcTB2VyUyRjExSm5DVHlWNVRNc3ZkNjRZd1Izb3pWRU9kZCUyQiUyRlFuSiUyQkRiJTJCbSUyQlNGS25aRjRDbExOaEpjdHpYdWpFclN3cXNHZ3h6SXAxOEc5ejN4QnRNSzZEdTglMkY1TkpSNVFGSUlPeFVGTEdQbTRHcVljYkpIRUNLNDBLYjIxTnM5eWN2cEtJMWhmNXEzVE80ekxEekw0WTBibzJoWlF1Q0ZURXhxejROeGtyWlhwcUh2Q2J6cmxZQTFPMWdtNlNhRHFIdzA5VTVKN3FmZ2VMalFLaTV5RmtTdlFLSktQcFJqaU14UVlJaUU5WEVZcyUyQkQxaWRWVHVIdjQ5M3FxU0d0UmRNejl1TlpiZHlyVkVQTDViOFVKTjdNdktLcFlzMHJ0bmpPcmRUM2prczNZb00zWkk4SDZOZ0JoQzdHakg0THZDSExNR2NDOHhSVWsyU3Vrd2hTZWU5cGJuaTI1WG44bUxvRGhyYW9FZEhlRnpDNUo3QlFXdTZKYUpaa3E1Y0t4VUFFNE9BRGJrcWxvOGdBd2haJTJGTFZLZkJ0UmVzQXlYYVhveW9ESmFjWFhCZll5NGJUWGt2SGNYN0dNS0x1eUxNR09yRUJMUWZZNkZmM3ZPdmhNYkRESyUyRkQxVm5uZTBrZkhidVFNQmRpN1hFT2JjSTMlMkJTUWllQjdGR0NhUmhaWTdBWm9DZVRmb2JYbk8lMkI3TUolMkI3S1glMkYlMkJWJTJGdCUyRmR1TlVwVVJVSEc4cjIzNlRhQk5qSlRVQmkxYzJUcnVWOEZkeGIwTmxqWCUyQnZzaGlHNzhhMVdsRmxaNVB3SmFzRiUyQnhUanN3T0hlMG94SkdIZUVGJTJCNUxHRExyVGdObW40ZlBPT003c3BHWVNBdVVzbXJVZk1SWjJQMThubFluc1lKTHI1MlJiWXVOWSUyRnBwbzdoMGJWNG9sMCZYLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1EYXRlPTIwMjQwNjE5VDAzMDYyOVomWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LUNyZWRlbnRpYWw9QVNJQVEzUEhDVlRZWlU3NkJKVVAlMkYyMDI0MDYxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LVNpZ25hdHVyZT0zNzVjYTU0NThmNDE4YmNkYzk4ZTE1ODA0ZGNhM2Q4ZmY5NDM5NGNjZTdmMzc3YzdmMTM5NDlmZjEwYWJiYmUzJmhhc2g9ZDBjMjQxNzNhNzk2MGQ4YmI4ZmM1YzY0YjNlMWFmNTBhMjNhOTNkNWU5YTRlODQ5ZTdkMGVkN2RiZDM4NDBjOCZob3N0PTY4MDQyYzk0MzU5MTAxM2FjMmIyNDMwYTg5YjI3MGY2YWYyYzc2ZDhkZmQwODZhMDcxNzZhZmU3Yzc2YzJjNjEmcGlpPVMwMDAxNjkxODI0MDAwOTQ1JnRpZD1zcGRmLWUyZWE4ODFlLWQ0ZTAtNDkxNS1iM2EwLWFjNjE4M2VmNmM2YiZzaWQ9YTJhMDFhODg4ZTg1Zjg0OTI3MDliNmY1N2QxNzhhNGUyZGYxZ3hycWEmdHlwZT1jbGllbnQmdHNvaD1kM2QzTG5OamFXVnVZMlZrYVhKbFkzUXVZMjl0JnVhPTEyMDk1ZTU4NTQ1NzViMGIwZiZycj04OTYwNGRhYzZiOTFhOTA5JmNjPXZuKSDEkcOjIMSRaeG7gXUgdHJhIHTDoWMgxJHhu5luZyBj4bunYSDEkeG7mW5nIGzhu7FjIGLDqm4gdHJvbmcgdsOgIGLDqm4gbmdvw6BpIMSR4bq/biBoaeG7h3Ugc3XhuqV0IGzDoG0gdmnhu4djIGPhu6dhIGdp4bqjbmcgdmnDqm4gdOG6oWkg4bqkbiDEkOG7mS4gS+G6v3QgcXXhuqMgY2hvIHRo4bqleSBt4buRaSBxdWFuIGjhu4cgdMOtY2ggY+G7sWMgbeG6oW5oIG3hur0gZ2nhu69hIMSR4buZbmcgbOG7sWMgYsOqbiB0cm9uZyB2w6AgYsOqbiBuZ2/DoGkgdsOgIGhp4buHdSBzdeG6pXQgY+G7p2EgZ2nDoW8gdmnDqm4uIFRoZW8gxJHDsywgdmnhu4djIG7Dom5nIGNhbyBi4buTaSBkxrDhu6FuZywgbmdoacOqbiBj4bupdSBraG9hIGjhu41jIGNobyBnaeG6o25nIHZpw6puIGNow61uaCBsw6AgxJHhu5luZyBs4buxYyBiw6puIHRyb25nLCBjw7MgdmFpIHRyw7IgcXVhbiB0cuG7jW5nIHRyb25nIHZp4buHYyB0aMO6YyDEkeG6qXkgxJHhu5luZyBs4buxYyBj4bunYSBnacOhbyB2acOqbiB2w6Agc2F1IMSRw7MgbsOibmcgY2FvIGvhur90IHF14bqjIGjhu41jIHThuq1wIGPhu6dhIHNpbmggdmnDqm4uIE5nb8OgaSByYSwgdMOhYyBnaeG6oyBjaG8gcuG6sW5nIGPDoWMgeeG6v3UgdOG7kSBiw6puIG5nb8OgaSBuaMawIHRp4buBbiBsxrDGoW5nLCBwaMO6YyBs4bujaSB2w6AgxJFp4buBdSBraeG7h24gbMOgbSB2aeG7h2MgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBz4buxIGjDoGkgbMOybmcgY2h1bmcgdHJvbmcgY8O0bmcgdmnhu4djIGPhu6dhIGdp4bqjbmcgdmnDqm4gdGjDrCDEkeG7mW5nIGzhu7FjIGLDqm4gdHJvbmcgY2jhu6cgeeG6v3UgeHXhuqV0IHBow6F0IHThu6sgY8OhYyB54bq/dSB04buRIGLDqm4gdHJvbmcgKMSRxrDhu6NjIHBow6F0IHRyaeG7g24sIG5naGnDqm4gY+G7qXUga2hvYSBo4buNYywgxJHGsOG7o2MgcXXDvSBt4bq/biwuLi4pIGzDoCB0w6FjIMSR4buZbmcgY2jDrW5oIMSR4bq/biDEkeG7mW5nIGzhu7FjIGzDoG0gdmnhu4djIGPhu6dhIGdp4bqjbmcgdmnDqm4uDQoNCiMgQ0jGr8agTkcgMzogROG7riBMSeG7hlUgTkdIScOKTiBD4buoVQ0KDQrCoCDCoCDCoCBE4buvIGxp4buHdSDEkcaw4bujYyBz4butIGThu6VuZyB0cm9uZyDEkeG7gSB0w6BpIMSRxrDhu6NjIHRodSB0aOG6rXAgYuG6sW5nIGPDoWNoIGto4bqjbyBzw6F0IDE2MCBuaMOibiB2acOqbiBuaMOibiBwaMOybmcgdOG6oWkgUXXhuq1uIDcsIFRQLiBI4buTIENow60gTWluaC4gQuG7mSBk4buvIGxp4buHdSB24bubaSBjw6FjIGJp4bq/biDEkcaw4bujYyBjaOG7jW4gcGjDom4gdMOtY2ggYmFvIGfhu5NtIDYgYmnhur9uIHbhu5tpIDEgYmnhur9uIHBo4bulIHRodeG7mWMgdsOgIDUgYmnhur9uIMSR4buZYyBs4bqtcC4gQ+G7pSB0aOG7gyBsw6A6DQoNCsKgIMKgIMKgIEJp4bq/biBwaOG7pSB0aHXhu5ljOiAiKirEkOG7mW5nIGzhu7FjIGzDoG0gdmnhu4djKioiIGPhu6dhIG5ow6JuIHZpw6puLCDEkcaw4bujYyBuaMOzbSBzaW5oIHZpw6puIGJp4bq/biDEkeG7lWkgZOG7ryBsaeG7h3UgdsOgIGJp4buDdSB0aOG7iyBkxrDhu5tpIGThuqFuZyBnacOhIHRy4buLIGfhu5NtOiBDw7MgbuG7lyBs4buxYyAoxJDhu5NuZyDDvSwgUuG6pXQgxJHhu5NuZyDDvSkgdsOgIEtow7RuZyBu4buXIGzhu7FjIChUcnVuZyBs4bqtcCwgS2jDtG5nIMSR4buTbmcgw70sIFLhuqV0IGtow7RuZyDEkeG7k25nIMO9KQ0KDQrCoCDCoCDCoCBCaeG6v24gxJHhu5ljIGzhuq1wOg0KDQotICAgKipYMSoqIC0gQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpLg0KDQotICAgKipYMioqIC0gVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMuDQoNCi0gICAqKlgzKiogLSBDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oLg0KDQotICAgKipYNCoqIC0gQ8OzIG5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5Lg0KDQotICAgKipYNSoqIC0gVGjDom0gbmnDqm4gbMOgbSB2aeG7h2MuDQoNCsKgIMKgIMKgIEPDoWMgYmnhur9uIMSR4buZYyBs4bqtcCBn4buTbSBYMSwgWDIsIFgzLCBYNCBjxaluZyDEkcaw4bujYyBiaeG6v24gxJHhu5VpIGThu68gbGnhu4d1IHbDoCBiaeG7g3UgdGjhu4sgZMaw4bubaSBk4bqhbmcgKlTDoW4gdGjDoG5oKiAoxJDhu5NuZyDDvSwgUuG6pXQgxJHhu5NuZyDDvSkgdsOgICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKiAoVHJ1bmcgbOG6rXAsIEtow7RuZyDEkeG7k25nIMO9LCBS4bqldCBraMO0bmcgw70pLiBSacOqbmcgYmnhur9uIMSR4buZYyBs4bqtcCBYNSDEkcaw4bujYyBiaeG6v24gxJHhu5VpIHRow6BuaCAyIGJp4buDdSBoaeG7h246ICpExrDhu5tpIDMgbsSDbSogKETGsOG7m2kgMSBuxINtLCBU4burIDEgxJHhur9uIDMgbsSDbSkgdsOgICpUcsOqbiAzIG7Eg20qIChU4burIDMgxJHhur9uIDUgbsSDbSwgVOG7qyA1IG7Eg20gdHLhu58gbMOqbikuDQoNCiMjIDMuMS4gROG7ryBsaeG7h3UgZ+G7kWMNCg0KYGBge3IsIGVjaG89IEZBTFNFfQ0KV29ya01vdGl2YXRpb24gPC0gcmVhZF9leGNlbCgiQzovVXNlcnMvODQ4OTYvRGVza3RvcC9USOG6plkgVMav4bucTkcvRGF0YV9Xb3JrLnhsc3giLCBzaGVldCA9ICJXb3JkIikNCmRhdGF0YWJsZShXb3JrTW90aXZhdGlvbikNCmBgYA0KDQojIyAzLjIuIEThu68gbGnhu4d1IGhhaSBiaeG7g3UgaGnhu4duDQoNCmBgYHtyfQ0KV29ya01vdGl2YXRpb24yIDwtIFdvcmtNb3RpdmF0aW9uDQoNCldvcmtNb3RpdmF0aW9uMiRgTuG7lyBs4buxYyBsw6BtIHZp4buHY2AgPC0gaWZlbHNlKFdvcmtNb3RpdmF0aW9uMiRgTuG7lyBs4buxYyBsw6BtIHZp4buHY2AgPT0gIkEuIFLhuqV0IMSR4buTbmcgw70iLCAiQ8OzIG7hu5cgbOG7sWMiLCBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBO4buXIGzhu7FjIGzDoG0gdmnhu4djYCA9PSAiQi4gxJDhu5NuZyDDvSIsICJDw7MgbuG7lyBs4buxYyIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYE7hu5cgbOG7sWMgbMOgbSB2aeG7h2NgID09ICJDLiBUcnVuZyBs4bqtcCIsICJLaMO0bmcgbuG7lyBs4buxYyIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYE7hu5cgbOG7sWMgbMOgbSB2aeG7h2NgID09ICJELiBLaMO0bmcgxJHhu5NuZyDDvSIsICJLaMO0bmcgbuG7lyBs4buxYyIsICJLaMO0bmcgbuG7lyBs4buxYyIpKSkpDQoNCldvcmtNb3RpdmF0aW9uMiRgQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpYCA8LSBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWlgID09ICJBLiBS4bqldCDEkeG7k25nIMO9IiwgIkEuIFTDoW4gdGjDoG5oIiwgaWZlbHNlKFdvcmtNb3RpdmF0aW9uMiRgQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpYCA9PSAiQi4gxJDhu5NuZyDDvSIsICJBLiBUw6FuIHRow6BuaCIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYENow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaWAgPT0gIkMuIFRydW5nIGzhuq1wIiwgIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiLCBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWlgID09ICJELiBLaMO0bmcgxJHhu5NuZyDDvSIsICJCLiBUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oIiwgIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiKSkpKQ0KDQpXb3JrTW90aXZhdGlvbjIkYFRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzhu7FjYCA8LSBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxY2AgPT0gIkEuIFLhuqV0IMSR4buTbmcgw70iLCAiQS4gVMOhbiB0aMOgbmgiLCBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxY2AgPT0gIkIuIMSQ4buTbmcgw70iLCAiQS4gVMOhbiB0aMOgbmgiLCBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxY2AgPT0gIkMuIFRydW5nIGzhuq1wIiwgIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiLCBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxY2AgPT0gIkQuIEtow7RuZyDEkeG7k25nIMO9IiwgIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiLCAiQi4gVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCIpKSkpDQoNCldvcmtNb3RpdmF0aW9uMiRgQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaGAgPC0gaWZlbHNlKFdvcmtNb3RpdmF0aW9uMiRgQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaGAgPT0gIkEuIFLhuqV0IMSR4buTbmcgw70iLCAiQS4gVMOhbiB0aMOgbmgiLCBpZmVsc2UoV29ya01vdGl2YXRpb24yJGBDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oYCA9PSAiQi4gxJDhu5NuZyDDvSIsICJBLiBUw6FuIHRow6BuaCIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYEPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmhgID09ICJDLiBUcnVuZyBs4bqtcCIsICJCLiBUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oIiwgaWZlbHNlKFdvcmtNb3RpdmF0aW9uMiRgQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaGAgPT0gIkQuIEtow7RuZyDEkeG7k25nIMO9IiwgIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiLCAiQi4gVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCIpKSkpDQoNCldvcmtNb3RpdmF0aW9uMiRgTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHlgIDwtIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5YCA9PSAiQS4gUuG6pXQgxJHhu5NuZyDDvSIsICJBLiBUw6FuIHRow6BuaCIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5YCA9PSAiQi4gxJDhu5NuZyDDvSIsICJBLiBUw6FuIHRow6BuaCIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5YCA9PSAiQy4gVHJ1bmcgbOG6rXAiLCAiQi4gVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5YCA9PSAiRC4gS2jDtG5nIMSR4buTbmcgw70iLCAiQi4gVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCIsICJCLiBUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oIikpKSkNCg0KV29ya01vdGl2YXRpb24yJGBUaMOibSBuacOqbiBsw6BtIHZp4buHY2AgPC0gaWZlbHNlKFdvcmtNb3RpdmF0aW9uMiRgVGjDom0gbmnDqm4gbMOgbSB2aeG7h2NgID09ICJExrDhu5tpIDEgbsSDbSIsICJExrDhu5tpIDMgbsSDbSIsIGlmZWxzZShXb3JrTW90aXZhdGlvbjIkYFRow6JtIG5pw6puIGzDoG0gdmnhu4djYCA9PSAiVOG7qyAxIMSR4bq/biAzIG7Eg20iLCAiRMaw4bubaSAzIG7Eg20iLCAiVHLDqm4gMyBuxINtIikpDQoNCmRhdGF0YWJsZShXb3JrTW90aXZhdGlvbjIpDQpgYGANCg0KIyBDSMavxqBORyA0OiBQSMOCTiBUw41DSCBE4buuIExJ4buGVQ0KDQpgYGB7cn0NCm5hbWVzKFdvcmtNb3RpdmF0aW9uMilbbmFtZXMoV29ya01vdGl2YXRpb24yKSA9PSAiTuG7lyBs4buxYyBsw6BtIHZp4buHYyJdIDwtICJZIg0KbmFtZXMoV29ya01vdGl2YXRpb24yKVtuYW1lcyhXb3JrTW90aXZhdGlvbjIpID09ICJDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkiXSA8LSAiWDEiDQpuYW1lcyhXb3JrTW90aXZhdGlvbjIpW25hbWVzKFdvcmtNb3RpdmF0aW9uMikgPT0gIlRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzhu7FjIl0gPC0gIlgyIg0KbmFtZXMoV29ya01vdGl2YXRpb24yKVtuYW1lcyhXb3JrTW90aXZhdGlvbjIpID09ICJDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oIl0gPC0gIlgzIg0KbmFtZXMoV29ya01vdGl2YXRpb24yKVtuYW1lcyhXb3JrTW90aXZhdGlvbjIpID09ICJOaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCBj4bunYSBjw7RuZyB0eSJdIDwtICJYNCINCm5hbWVzKFdvcmtNb3RpdmF0aW9uMilbbmFtZXMoV29ya01vdGl2YXRpb24yKSA9PSAiVGjDom0gbmnDqm4gbMOgbSB2aeG7h2MiXSA8LSAiWDUiDQpgYGANCg0KIyMgNC4xLiBC4bqjbmcgdOG6p24gc+G7kSAtIEJp4bq/biBwaOG7pSB0aHXhu5ljDQoNCmBgYHtyfQ0KKHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZKSAlPiUgYXMuZGF0YS5mcmFtZSgpICU+JSByZW5hbWUoIk3hu6ljIMSR4buZIG7hu5cgbOG7sWMgbMOgbSB2aeG7h2MiID0gVmFyMSwgIlPhu5EgbmjDom4gdmnDqm4iID0gRnJlcSkpICU+JSBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQooKHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZKS9sZW5ndGgoV29ya01vdGl2YXRpb24kYE7hu5cgbOG7sWMgbMOgbSB2aeG7h2NgKSkgJT4lIGFzLmRhdGEuZnJhbWUoKSAlPiUgcmVuYW1lKCJN4bupYyDEkeG7mSBu4buXIGzhu7FjIGzDoG0gdmnhu4djIiA9IFZhcjEsICJU4bu3IGzhu4cgcGjhuqduIHRyxINtIiA9IEZyZXEpKSAlPiUga2FibGUoKQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IFThu7cgbOG7hyBj4bunYSBiaeG7g3UgaGnhu4duICpDw7MgbuG7lyBs4buxYyogY2hp4bq/bSA3OSUsIGNhbyBn4bqlcCAzIGzhuqduIHNvIHbhu5tpIGJp4buDdSBoaeG7h24gKktow7RuZyBu4buXIGzhu7FjKiAuDQoNCmBgYHtyfQ0KZ2dwbG90KFdvcmtNb3RpdmF0aW9uMiwgYWVzKFkpKSArIGdlb21fYmFyKHBvc2l0aW9uPSAiZG9kZ2UiKSArIGxhYnMoeD0gTlVMTCwgeT0gIlPhu5EgbmjDom4gdmnDqm4iKQ0KYGBgDQoNCiMjIDQuMi4gS2nhu4NtIMSR4buLbmggdMOtbmggxJHhu5ljIGzhuq1wDQoNCsKgIMKgIMKgIEdp4bqjIHRodXnhur90Og0KDQotICAgJEhfMDogWCxZJCDEkcO0zKNjIGzDosyjcC4NCg0KLSAgICRIXzE6IFgsWSQga2jDtG5nIMSR4buZYyBs4bqtcC4NCg0KwqAgwqAgwqAgR2lhzIEgdHJpzKMga2nDqsyJbSDEkWnMo25oOg0KDQpQaMawxqFuZyBwaMOhcCBDaGkgYmnMgG5oIHBoxrDGoW5nOiAkJCBcY2hpXjI9XHN1bV97aSwgan0gXGZyYWN7XGxlZnQobl97aSBqfS1caGF0e1xtdX1fe2kgan1ccmlnaHQpXjJ9e1xoYXR7XG11fV97aSBqfX0gJCQNCg0KVuG7m2kgJG5fe2kgan0kIGzDoCBnaWHMgSB0cuG7iyBj4bunYSDDtCAkaSwgaiwgXGhhdHtcbXV9X3tpIGp9PVxmcmFje25fe2krfSBuX3sran19e259JA0KDQojIyMgNC4yLjEuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkNCg0KYGBge3J9DQpkbDEgPC0gY2hpc3EudGVzdCh0YWJsZShXb3JrTW90aXZhdGlvbjIkWSwgV29ya01vdGl2YXRpb24yJFgxKSkNCmRsMQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IHBfdmFsdWUgPSAyLjE1ZS0wNyBuaOG7jyBoxqFuIHLhuqV0IG5oaeG7gXUgc28gduG7m2kgMC4wNSBuw6puIGLDoWMgYuG7jyAkSF8wJCwgY2jhuqVwIG5o4bqtbiAkSF8xJC4gVuG6rXkgduG7m2kgbeG7qWMgw70gbmdoxKlhIDUlLCBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2aeG7h2MqIHbDoCBiaeG6v24gKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSogY8OzIGxpw6puIHF1YW4gduG7m2kgbmhhdS4NCg0KIyMjIDQuMi4yLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMNCg0KYGBge3J9DQpkbDIgPC0gY2hpc3EudGVzdCh0YWJsZShXb3JrTW90aXZhdGlvbjIkWSwgV29ya01vdGl2YXRpb24yJFgyKSkNCmRsMg0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IHBfdmFsdWUgPSAxLjQ1NWUtMDkgbmjhu48gaMahbiBy4bqldCBuaGnhu4F1IHNvIHbhu5tpIDAuMDUgbsOqbiBiw6FjIGLhu48gJEhfMCQsIGNo4bqlcCBuaOG6rW4gJEhfMSQuIFbhuq15IHbhu5tpIG3hu6ljIMO9IG5naMSpYSA1JSwgYmnhur9uICpO4buXIGzhu7FjIGzDoG0gdmnhu4djKiB2w6AgYmnhur9uICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyogY8OzIGxpw6puIHF1YW4gduG7m2kgbmhhdS4NCg0KIyMjIDQuMi4zLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaA0KDQpgYGB7cn0NCmRsMyA8LSBjaGlzcS50ZXN0KHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDMpKQ0KZGwzDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gcF92YWx1ZSA9IDYuOTU5ZS0wNiBuaOG7jyBoxqFuIHLhuqV0IG5oaeG7gXUgc28gduG7m2kgMC4wNSBuw6puIGLDoWMgYuG7jyAkSF8wJCwgY2jhuqVwIG5o4bqtbiAkSF8xJC4gVuG6rXkgduG7m2kgbeG7qWMgw70gbmdoxKlhIDUlLCBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2aeG7h2MqIHbDoCBiaeG6v24gKkPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmgqIGPDsyBsacOqbiBxdWFuIHbhu5tpIG5oYXUuDQoNCiMjIyA0LjIuNC4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5DQoNCmBgYHtyfQ0KZGw0IDwtIGNoaXNxLnRlc3QodGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYNCkpDQpkbDQNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBwX3ZhbHVlID0gMi41OTJlLTA1IG5o4buPIGjGoW4gcuG6pXQgbmhp4buBdSBzbyB24bubaSAwLjA1IG7Dqm4gYsOhYyBi4buPICRIXzAkLCBjaOG6pXAgbmjhuq1uICRIXzEkLiBW4bqteSB24bubaSBt4bupYyDDvSBuZ2jEqWEgNSUsIGJp4bq/biAqTuG7lyBs4buxYyBsw6BtIHZp4buHYyogdsOgIGJp4bq/biAqTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkqIGPDsyBsacOqbiBxdWFuIHbhu5tpIG5oYXUuDQoNCiMjIyA0LjIuNS4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIFRow6JtIG5pw6puIGzDoG0gdmnhu4djDQoNCmBgYHtyfQ0KZGw1IDwtIGNoaXNxLnRlc3QodGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYNSkpDQpkbDUNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBwX3ZhbHVlID0gMC4zNDkyIFw+IDAuMDUgY2jGsGEgxJHhu6cgxJFp4buBdSBraeG7h24gxJHhu4MgYsOhYyBi4buPICRIXzAkLiBW4bqteSB24bubaSBt4bupYyDDvSBuZ2jEqWEgNSUsIGJp4bq/biAqTuG7lyBs4buxYyBsw6BtIHZp4buHYyogdsOgIGJp4bq/biAqVGjDom0gbmnDqm4gbMOgbSB2aeG7h2MqIGtow7RuZyBjw7MgbGnDqm4gcXVhbiB24bubaSBuaGF1Lg0KDQojIyMgNC4yLjYuIFThu5VuZyBo4bujcCBr4bq/dCBxdeG6oyBraeG7g20gxJHhu4tuaCB0w61uaCDEkeG7mWMgbOG6rXANCg0KYGBge3J9DQpkYXRhLmZyYW1lKCAiQmnhur9uX8SR4buZY19s4bqtcCIgPSBjKCJDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkiLCAiVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMiLCAiQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCIsICJDw7Mgbmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkiLCAiVGjDom0gbmnDqm4gbMOgbSB2aeG7h2MiKSwgInBfdmFsdWUiID0gYyhkbDEkcC52YWx1ZSwgZGwyJHAudmFsdWUsIGRsMyRwLnZhbHVlLCBkbDQkcC52YWx1ZSwgZGw1JHAudmFsdWUpLCAiS+G6v3RfTHXhuq1uIiA9IGMoIktow7RuZyDEkeG7mWMgbOG6rXAiLCJLaMO0bmcgxJHhu5ljIGzhuq1wIiwiS2jDtG5nIMSR4buZYyBs4bqtcCIsIktow7RuZyDEkeG7mWMgbOG6rXAiLCLEkOG7mWMgbOG6rXAiKSkgJT4lIGthYmxlKCkNCmBgYA0KDQojIyA0LjMuIELhuqNuZyBuZ+G6q3Ugbmhpw6puDQoNCiMjIyA0LjMuMS4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIENow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaQ0KDQpgYGB7cn0NCmthYmxlKHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDEpKQ0KZ2dwbG90KFdvcmtNb3RpdmF0aW9uMiwgYWVzKFksIGZpbGw9IFgxKSkgKyBnZW9tX2Jhcihwb3NpdGlvbj0gImRvZGdlIikgKyBsYWJzKHg9IE5VTEwsIHk9ICJT4buRIG5ow6JuIHZpw6puIikgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAidG9wIikNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBC4bqjbmcgdGjhu5FuZyBrw6ogduG7gSBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIGJp4bq/biAqTuG7lyBs4buxYyBsw6BtIHZp4buHYyogdsOgIGJp4bq/biAqQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpKiBjaG8gdGjhuqV5IHRyb25nIHPhu5EgMTI3IG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogbMOgbSB2aeG7h2MgY8OzIDEwMyBuZ8aw4budaSAqVMOhbiB0aMOgbmgqIGPDsm4gbOG6oWkgbMOgICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4gxJDhu5FpIHbhu5tpIDMzIG5ow6JuIHZpw6puIEtow7RuZyBu4buXIGzhu7FjLCBjw7MgMTEgbmfGsOG7nWkgKlTDoW4gdGjDoG5oKiB2w6AgMjIgbmfGsOG7nWkgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqLg0KDQojIyMgNC4zLjIuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYw0KDQpgYGB7cn0NCmthYmxlKHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDIpKQ0KZ2dwbG90KFdvcmtNb3RpdmF0aW9uMiwgYWVzKFksIGZpbGw9IFgyKSkgKyBnZW9tX2Jhcihwb3NpdGlvbj0gImRvZGdlIikgKyBsYWJzKHg9IE5VTEwsIHk9ICJT4buRIG5ow6JuIHZpw6puIikgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAidG9wIikNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBC4bqjbmcgdGjhu5FuZyBrw6ogduG7gSBt4buRaSBxdWFuIGjhu4cgZ2nhu69hIGJp4bq/biAqTuG7lyBs4buxYyBsw6BtIHZp4buHYyogdsOgIGJp4bq/biAqVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMqIGNobyB0aOG6pXkgdHJvbmcgc+G7kSAxMjcgbmjDom4gdmnDqm4gKkPDsyBu4buXIGzhu7FjKiBsw6BtIHZp4buHYyBjw7MgMTA1IG5nxrDhu51pICpUw6FuIHRow6BuaCogY8OybiBs4bqhaSBsw6AgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqLiDEkOG7kWkgduG7m2kgMzMgbmjDom4gdmnDqm4gKktow7RuZyBu4buXIGzhu7FjKiwgY8OzIDkgbmfGsOG7nWkgKlTDoW4gdGjDoG5oKiB2w6AgMjQgbmfGsOG7nWkgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqLg0KDQojIyMgNC4zLjMuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oDQoNCmBgYHtyfQ0Ka2FibGUodGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYMykpDQpnZ3Bsb3QoV29ya01vdGl2YXRpb24yLCBhZXMoWSwgZmlsbD0gWDMpKSArIGdlb21fYmFyKHBvc2l0aW9uPSAiZG9kZ2UiKSArIGxhYnMoeD0gTlVMTCwgeT0gIlPhu5EgbmjDom4gdmnDqm4iKSArIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJ0b3AiKQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IELhuqNuZyB0aOG7kW5nIGvDqiB24buBIG3hu5FpIHF1YW4gaOG7hyBnaeG7r2EgYmnhur9uICpO4buXIGzhu7FjIGzDoG0gdmnhu4djKiB2w6AgYmnhur9uICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oKiBjaG8gdGjhuqV5IHRyb25nIHPhu5EgMTI3IG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogbMOgbSB2aeG7h2MgY8OzIDk3IG5nxrDhu51pICpUw6FuIHRow6BuaCogY8OybiBs4bqhaSAzMCBuZ8aw4budaSBsw6AgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqLiDEkOG7kWkgduG7m2kgMzMgbmjDom4gdmnDqm4gKktow7RuZyBu4buXIGzhu7FjKiwgY8OzIDExIG5nxrDhu51pICpUw6FuIHRow6BuaCogdsOgIDIyIG5nxrDhu51pICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4NCg0KIyMjIDQuMy40LiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkNCg0KYGBge3J9DQprYWJsZSh0YWJsZShXb3JrTW90aXZhdGlvbjIkWSwgV29ya01vdGl2YXRpb24yJFgzKSkNCmdncGxvdChXb3JrTW90aXZhdGlvbjIsIGFlcyhZLCBmaWxsPSBYMykpICsgZ2VvbV9iYXIocG9zaXRpb249ICJkb2RnZSIpICsgbGFicyh4PSBOVUxMLCB5PSAiU+G7kSBuaMOibiB2acOqbiIpICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gInRvcCIpDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gQuG6o25nIHRo4buRbmcga8OqIHbhu4EgbeG7kWkgcXVhbiBo4buHIGdp4buvYSBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2aeG7h2MqIHbDoCBiaeG6v24gKk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5KiBjaG8gdGjhuqV5IHRyb25nIHPhu5EgMTI3IG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogbMOgbSB2aeG7h2MgY8OzIDEwMCBuZ8aw4budaSAqVMOhbiB0aMOgbmgqIGPDsm4gbOG6oWkgMjcgbmfGsOG7nWkgbMOgICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4gxJDhu5FpIHbhu5tpIDMzIG5ow6JuIHZpw6puICpLaMO0bmcgbuG7lyBs4buxYyosIGPDsyAxMyBuZ8aw4budaSAqVMOhbiB0aMOgbmgqIHbDoCAyMCBuZ8aw4budaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCouDQoNCiMjIDQuNC4gUmVsYXRpdmUgUmlzaw0KDQrCoCDCoCDCoCBLw70gaGnhu4d1ICRccGlfaSQgbMOgIHThu7cgbOG7hyAqInRow6BuaCBjw7RuZyIqIGPhu6dhIGJp4bq/biBwaOG7pSB0aHXhu5ljIChyZXNwb25zZSB2YXJpYWJsZSkgdMawxqFuZyDhu6luZyB24bubaSB04burbmcgYmnhu4N1IGhp4buHbiBj4bunYSBiaeG6v24gxJHhu5ljIGzhuq1wLg0KDQrCoCDCoCDCoCBU4burIGLhuqNuZyB04bqnbiB4deG6pXQsIGNow7puZyB0YSB0w61uaCAkXGZyYWN7XHBpXzF9e1xwaV8yfSQsIHBow6JuIHPhu5EgbsOgeSBn4buNaSBsw6AgUmVsYXRpdmUgcmlzayBnaeG7r2EgMiBiaeG7g3UgaGnhu4duIGtow6FjIG5oYXUgY+G7p2EgYmnhur9uIHBo4bulIHRodeG7mWMuDQoNCiQkUlI9XGZyYWN7XHBpXzF9e1xwaV8yfT1cZnJhY3tuX3sxIDF9LyhuX3sxIDF9ICtuX3sxIDJ9KX17bl97MiAxfSAvIChuX3syIDF9ICtuX3syIDJ9KX0kJA0KDQojIyMgNC40LjEuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkNCg0KYGBge3J9DQpycjEgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYMSkgJT4lIGthYmxlKCkNCnJyMXIgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYMSkgJT4lIFJlbFJpc2soLCBjb25mLmxldmVsID0gLjk1KQ0KcnIxDQpycjFyDQpycjF4IDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDEpICU+JSBSZWxSaXNrKCkNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBSUiBj4bunYSBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2acOqzKNjKiB2w6AgKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSogbMOgIDIuNDMzIGzhu5tuIGjGoW4gMS4gxJBp4buBdSBuw6B5IGPDsyBuZ2jEqWEgbMOgIHThu7cgbOG7hyDigJx0aMOgbmggY8O0bmfigJ0gZ2nhu69hIGJp4buDdSBoacOqzKNuICpDb8yBIG7hu5cgbOG7sWMqIGPhu6dhIG5ow6JuIHZpw6puICpUw6FuIFRow6BuaCogc28gduG7m2kgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqIGzDoCAyLjQzMy4gVuG6rXkgbmjDom4gdmnDqm4gKlTDoW4gdGjDoG5oKiBjw7MgdOG7tyBs4buHICpO4buXIGzhu7FjIGNhbyogaMahbiBzbyB24bubaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCouDQoNCktob2HMiW5nIHRpbiBjw6LMo3kgY2hvIGJpw6rMgXQgcsSDzIBuZywgdsahzIFpIMSRw7TMoyB0aW4gY8OizKN5IDk1JSwgZ2lhzIEgdHJpzKMgdGjGsMyjYyBjdcyJYSBSUiBuxIPMgG0gdHJvbmcga2hvYcyJbmcgdMawzIAgMS41OTIgxJHDqsyBbiA0LjEzMS4NCg0KIyMjIDQuNC4yLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMNCg0KYGBge3J9DQpycjIgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYMikgJT4lIGthYmxlKCkNCnJyMnIgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYMikgJT4lIFJlbFJpc2soLCBjb25mLmxldmVsID0gLjk1KQ0KcnIyDQpycjJyDQpycjJ4IDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDIpICU+JSBSZWxSaXNrKCkNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBSUiBj4bunYSBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2acOqzKNjKiB2w6AgKlRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzhu7FjKiBsw6AgMy4wMzEgbOG7m24gaMahbiAxLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgdOG7tyBs4buHIOKAnHRow6BuaCBjw7RuZ+KAnSBnaeG7r2EgYmnhu4N1IGhpw6rMo24gKkNvzIEgbuG7lyBs4buxYyogY+G7p2EgbmjDom4gdmnDqm4gKlTDoW4gVGjDoG5oKiBzbyB24bubaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCogbMOgIDMuMDMxLiBW4bqteSBuaMOibiB2acOqbiAqVMOhbiB0aMOgbmgqIGPDsyB04bu3IGzhu4cgKk7hu5cgbOG7sWMqIGNhbyBoxqFuIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4gS2hvYcyJbmcgdGluIGPDosyjeSBjaG8gYmnDqsyBdCByxIPMgG5nLCB2xqHMgWkgxJHDtMyjIHRpbiBjw6LMo3kgOTUlLCBnaWHMgSB0cmnMoyB0aMawzKNjIGN1zIlhIFJSIG7Eg8yAbSB0cm9uZyBraG9hzIluZyB0xrDMgCAxLjg1NCDEkcOqzIFuIDUuNTEzLg0KDQojIyMgNC40LjMuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oDQoNCmBgYHtyfQ0KcnIzIDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDMpICU+JSBrYWJsZSgpDQpycjNyIDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDMpICU+JSBSZWxSaXNrKCwgY29uZi5sZXZlbCA9IC45NSkNCnJyMw0KcnIzcg0KcnIzeCA8LSB0YWJsZShXb3JrTW90aXZhdGlvbjIkWSwgV29ya01vdGl2YXRpb24yJFgzKSAlPiUgUmVsUmlzaygpDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gUlIgY+G7p2EgYmnhur9uICpO4buXIGzhu7FjIGzDoG0gdmnDqsyjYyogdsOgICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oKiBsw6AgMi4yOTEgbOG7m24gaMahbiAxLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgdOG7tyBs4buHIOKAnHRow6BuaCBjw7RuZ+KAnSBnaeG7r2EgYmnhu4N1IGhpw6rMo24gKkNvzIEgbuG7lyBs4buxYyogY+G7p2EgbmjDom4gdmnDqm4gKlTDoW4gVGjDoG5oKiBzbyB24bubaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCogbMOgIDIuMjkxLiBW4bqteSBuaMOibiB2acOqbiAqVMOhbiB0aMOgbmgqIGPDsyB04bu3IGzhu4cgKk7hu5cgbOG7sWMqIGNhbyBoxqFuIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4gS2hvYcyJbmcgdGluIGPDosyjeSBjaG8gYmnDqsyBdCByxIPMgG5nLCB2xqHMgWkgxJHDtMyjIHRpbiBjw6LMo3kgOTUlLCBnaWHMgSB0cmnMoyB0aMawzKNjIGN1zIlhIFJSIG7Eg8yAbSB0cm9uZyBraG9hzIluZyB0xrDMgCAxLjQ5NCDEkcOqzIFuIDMuODk3Lg0KDQojIyMgNC40LjQuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDw7Mgbmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkNCg0KYGBge3J9DQpycjQgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYNCkgJT4lIGthYmxlKCkNCnJyNHIgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYNCkgJT4lIFJlbFJpc2soLCBjb25mLmxldmVsID0gLjk1KQ0KcnI0DQpycjRyDQpycjR4IDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDQpICU+JSBSZWxSaXNrKCkNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBSUiBj4bunYSBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2acOqzKNjKiB2w6AgKkPDsyBuaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCBj4bunYSBjw7RuZyB0eSogbMOgIDEuOTk5IGzhu5tuIGjGoW4gMS4gxJBp4buBdSBuw6B5IGPDsyBuZ2jEqWEgbMOgIHThu7cgbOG7hyDigJx0aMOgbmggY8O0bmfigJ0gZ2nhu69hIGJp4buDdSBoacOqzKNuICpDb8yBIG7hu5cgbOG7sWMqIGPhu6dhIG5ow6JuIHZpw6puICpUw6FuIFRow6BuaCogc28gduG7m2kgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqIGzDoCAxLjk5OS4gVuG6rXkgbmjDom4gdmnDqm4gKlTDoW4gdGjDoG5oKiBjw7MgdOG7tyBs4buHICpO4buXIGzhu7FjIGNhbyogaMahbiBzbyB24bubaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCouIEtob2HMiW5nIHRpbiBjw6LMo3kgY2hvIGJpw6rMgXQgcsSDzIBuZywgdsahzIFpIMSRw7TMoyB0aW4gY8OizKN5IDk1JSwgZ2lhzIEgdHJpzKMgdGjGsMyjYyBjdcyJYSBSUiBuxIPMgG0gdHJvbmcga2hvYcyJbmcgdMawzIAgMS4zNzcgxJHDqsyBbiAzLjIxNC4NCg0KIyMjIDQuNC41LiBU4buVbmcgaOG7o3Aga+G6v3QgcXXhuqMgUmVsYXRpdmUgUmlzaw0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoICJCaeG6v25fxJHhu5ljX2zhuq1wIiA9IGMoIkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSIsICJUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyIsICJDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oIiwgIkPDsyBuaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCBj4bunYSBjw7RuZyB0eSIpLCAiUmVsYXRpdmVfUmlzayIgPSBjKHJyMXgsIHJyMngsIHJyM3gsIHJyNHgpKSAlPiUga2FibGUoKQ0KYGBgDQoNCsKgIMKgIMKgIE5ow6xuIGNodW5nLCBnacOhIHRy4buLIFJlbGF0aXZlIFJpc2sgxJHhu5FpIHbhu5tpIGJp4bq/biBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkgbMOgIGNhbyBuaOG6pXQgdHJvbmcgNCBiaeG6v24gxJHGsOG7o2MgcGjDom4gdMOtY2guIFRyb25nIGtoaSDEkcOzLCBiaeG6v24gQ8OzIG5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5IGPDsyBnacOhIHRy4buLIFJlbGF0aXZlIFJpc2sgdGjhuqVwIG5o4bqldC4gS+G6v3QgcXXhuqMgbsOgeSBjaG8gdGjhuqV5LCBjw6FjIHnhur91IHThu5EgdGh14buZYyB24buBICJ24bqtdCBjaOG6pXQiIG5oxrAgdGnhu4FuIGzGsOG7o25nIGhv4bq3YyBjaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgc+G6vSBjw7MgdOG7tyBs4buHICJ0aMOgbmggY8O0bmciIGNhbyBoxqFuIMSR4buRaSB24bubaSBiaeG7g3UgaGnhu4duIEPDsyBu4buXIGzhu7FjIHNvIHbhu5tpIHnhur91IHThu5EgdGh14buZYyB24buBICJ0aW5oIHRo4bqnbiIgbmjGsCBOaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGPDtG5nIHR5IGhheSBDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oLg0KDQojIyA0LjUuIMav4bubYyBsxrDhu6NuZyB04bu3IGzhu4cNCg0KQ8O0bmcgdGjhu6ljIMaw4bubYyBsxrDhu6NuZyB04bu3IGzhu4cgKGNobyAxIHThu5VuZyB0aOG7gyk6DQoNCiQkDQpcaGF0e3B9LVp7XGFscGhhLzJ9XHNxcnR7XGZyYWN7XGhhdHtwfSgxLVxoYXR7cH0pfXtufX1cbGVxIFBcbGVxIFxoYXR7cH0tWntcYWxwaGEvMn1cc3FydHtcZnJhY3tcaGF0e3B9KDEtXGhhdHtwfSl9e259fQ0KJCQNCg0KYGBge3J9DQpXb3JrTW90aXZhdGlvbjQgPC0gV29ya01vdGl2YXRpb24yDQpgYGANCg0KIyMjIDQuNS4xLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djDQoNCmBgYHtyfQ0KdWx0bDEgPC0gc3VtKGlmZWxzZShXb3JrTW90aXZhdGlvbjQkWT09ICJDw7MgbuG7lyBs4buxYyIsIDEsIDApKQ0KcHJvcC50ZXN0KHVsdGwxLCBsZW5ndGgoV29ya01vdGl2YXRpb24yJFkpLCBwPSAwLjc5Mzc1KQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IFThu7cgbOG7hyBt4bupYyDEkeG7mSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIGtob+G6o25nIDc5LjQlLiBLaG/huqNuZyDGsOG7m2MgbMaw4bujbmcgdOG7tyBs4buHIHbhu5tpIMSR4buZIHRpbiBj4bqteSA5NSUgbMOgIDcyLjElIMSR4bq/biA4NS4yJS4NCg0KYGBge3J9DQp1bHRsMiA8LSBzdW0oaWZlbHNlKFdvcmtNb3RpdmF0aW9uNCRZPT0gIktow7RuZyBu4buXIGzhu7FjIiwgMSwgMCkpDQpwcm9wLnRlc3QodWx0bDIsIGxlbmd0aChXb3JrTW90aXZhdGlvbjIkWSkpDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gVOG7tyBs4buHIG3hu6ljIMSR4buZIG5ow6JuIHZpw6puICpLaMO0bmcgbuG7lyBs4buxYyoga2hv4bqjbmcgMjAuNiUuIEtob+G6o25nIMaw4bubYyBsxrDhu6NuZyB04bu3IGzhu4cgduG7m2kgxJHhu5kgdGluIGPhuq15IDk1JSBsw6AgMTQuOCUgxJHhur9uIDI3LjklLg0KDQojIyMgNC41LjIuIENow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaQ0KDQpgYGB7cn0NCnVsdGwzIDwtIHN1bShpZmVsc2UoV29ya01vdGl2YXRpb240JFgxPT0gIkEuIFTDoW4gdGjDoG5oIiwgMSwgMCkpDQpwcm9wLnRlc3QodWx0bDMsIGxlbmd0aChXb3JrTW90aXZhdGlvbjIkWDEpLCBwPTAuNykNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBU4bu3IGzhu4cgbeG7qWMgxJHhu5kgbmjDom4gdmnDqm4gdMOhbiB0aMOgbmggduG7m2kgKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSoga2hv4bqjbmcgNzEuMyUuIEtob+G6o25nIMaw4bubYyBsxrDhu6NuZyB04bu3IGzhu4cgduG7m2kgxJHhu5kgdGluIGPhuq15IDk1JSBsw6AgNjMuNSUgxJHhur9uIDc3LjklLg0KDQpgYGB7cn0NCnVsdGw0IDwtIHN1bShpZmVsc2UoV29ya01vdGl2YXRpb240JFgxPT0gIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiLCAxLCAwKSkNCnByb3AudGVzdCh1bHRsNCwgbGVuZ3RoKFdvcmtNb3RpdmF0aW9uMiRYMSkpDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gVOG7tyBs4buHIG3hu6ljIMSR4buZIG5ow6JuIHZpw6puIHRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmggduG7m2kgKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSoga2hv4bqjbmcgMjguOCUuIEtob+G6o25nIMaw4bubYyBsxrDhu6NuZyB04bu3IGzhu4cgduG7m2kgxJHhu5kgdGluIGPhuq15IDk1JSBsw6AgMjIlIMSR4bq/biAzNi41JS4NCg0KIyMjIDQuNS4zLiBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYw0KDQpgYGB7cn0NCnVsdGw1IDwtIHN1bShpZmVsc2UoV29ya01vdGl2YXRpb240JFgyPT0gIkEuIFTDoW4gdGjDoG5oIiwgMSwgMCkpDQpwcm9wLnRlc3QodWx0bDUsIGxlbmd0aChXb3JrTW90aXZhdGlvbjIkWDIpKQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IFThu7cgbOG7hyBt4bupYyDEkeG7mSBuaMOibiB2acOqbiB0w6FuIHRow6BuaCB24bubaSAqVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMqIGtob+G6o25nIDcxLjMlLiBLaG/huqNuZyDGsOG7m2MgbMaw4bujbmcgdOG7tyBs4buHIHbhu5tpIMSR4buZIHRpbiBj4bqteSA5NSUgbMOgIDYzLjUlIMSR4bq/biA3Ny45JS4NCg0KYGBge3J9DQp1bHRsNiA8LSBzdW0oaWZlbHNlKFdvcmtNb3RpdmF0aW9uNCRYMj09ICJCLiBUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oIiwgMSwgMCkpDQpwcm9wLnRlc3QodWx0bDYsIGxlbmd0aChXb3JrTW90aXZhdGlvbjIkWDIpKQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IFThu7cgbOG7hyBt4bupYyDEkeG7mSBuaMOibiB2acOqbiB0cnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oIHbhu5tpICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyoga2hv4bqjbmcgMjguOCUuIEtob+G6o25nIMaw4bubYyBsxrDhu6NuZyB04bu3IGzhu4cgduG7m2kgxJHhu5kgdGluIGPhuq15IDk1JSBsw6AgMjIlIMSR4bq/biAzNi41JS4NCg0KIyMjIDQuNS40LiBDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oDQoNCmBgYHtyfQ0KdWx0bDcgPC0gc3VtKGlmZWxzZShXb3JrTW90aXZhdGlvbjQkWDM9PSAiQS4gVMOhbiB0aMOgbmgiLCAxLCAwKSkNCnByb3AudGVzdCh1bHRsNywgbGVuZ3RoKFdvcmtNb3RpdmF0aW9uNCRYMykpDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gVOG7tyBs4buHIG3hu6ljIMSR4buZIG5ow6JuIHZpw6puIHTDoW4gdGjDoG5oIHbhu5tpICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oKiBraG/huqNuZyA2Ny41JS4gS2hv4bqjbmcgxrDhu5tjIGzGsOG7o25nIHThu7cgbOG7hyB24bubaSDEkeG7mSB0aW4gY+G6rXkgOTUlIGzDoCA1OS42JSDEkeG6v24gNzQuNiUuDQoNCmBgYHtyfQ0KdWx0bDggPC0gc3VtKGlmZWxzZShXb3JrTW90aXZhdGlvbjQkWDM9PSAiQi4gVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCIsIDEsIDApKQ0KcHJvcC50ZXN0KHVsdGw4LCBsZW5ndGgoV29ya01vdGl2YXRpb240JFgzKSkNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBU4bu3IGzhu4cgbeG7qWMgxJHhu5kgbmjDom4gdmnDqm4gdHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCB24bubaSAqQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCoga2hv4bqjbmcgMjkuNCUuIEtob+G6o25nIMaw4bubYyBsxrDhu6NuZyB04bu3IGzhu4cgduG7m2kgxJHhu5kgdGluIGPhuq15IDk1JSBsw6AgMjIuNiUgxJHhur9uIDM3LjIlLg0KDQojIyMgNC41LjUuIEPDsyBuaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCBj4bunYSBjw7RuZyB0eQ0KDQpgYGB7cn0NCnVsdGw5IDwtIHN1bShpZmVsc2UoV29ya01vdGl2YXRpb240JFgzPT0gIkEuIFTDoW4gdGjDoG5oIiwgMSwgMCkpDQpwcm9wLnRlc3QodWx0bDksIGxlbmd0aChXb3JrTW90aXZhdGlvbjQkWDMpKQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IFThu7cgbOG7hyBt4bupYyDEkeG7mSBuaMOibiB2acOqbiB0w6FuIHRow6BuaCB24bubaSAqQ8OzIG5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5KiBraG/huqNuZyA3MC42JS4gS2hv4bqjbmcgxrDhu5tjIGzGsOG7o25nIHThu7cgbOG7hyB24bubaSDEkeG7mSB0aW4gY+G6rXkgOTUlIGzDoCA2Mi44JSDEkeG6v24gNzcuNCUuDQoNCmBgYHtyfQ0KdWx0bDEwIDwtIHN1bShpZmVsc2UoV29ya01vdGl2YXRpb240JFgzPT0gIkIuIFRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgiLCAxLCAwKSkNCnByb3AudGVzdCh1bHRsMTAsIGxlbmd0aChXb3JrTW90aXZhdGlvbjQkWDMpKQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IFThu7cgbOG7hyBt4bupYyDEkeG7mSBuaMOibiB2acOqbiB0cnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oIHbhu5tpICpDw7Mgbmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkqIGtob+G6o25nIDI5LjQlLiBLaG/huqNuZyDGsOG7m2MgbMaw4bujbmcgdOG7tyBs4buHIHbhu5tpIMSR4buZIHRpbiBj4bqteSA5NSUgbMOgIDIyLjYlIMSR4bq/biAzNy4yJS4NCg0KIyMgNC42LiBPZGQgUmF0aW8NCg0KTuG6v3UgZ+G7jWkgeMinYyBzdeG6pXQgInRow6BuaCBjw7RuZyIgY+G7p2EgYmnhu4N1IGhp4buHbiB0aOG7qSAkaSQgY8O5YSBiaeG6v24gxJHhu5ljIGzhuq1wIGzDoCAkXHBpX2kkIHRoacyAIGNow7puZyB0YSBrw60gaGnhu4d1IFThu7cgbOG7hyBjxrDhu6NjIChvZGQpIGPhu6dhIGJp4buDdSBoaeG7h24gbsOgeSBsw6AgJG9kZF9pJCB2w6AgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgbmjGsCBzYXU6DQoNCiQkDQpvIGQgZF9pPVxmcmFje1xwaV9pfXsxLVxwaV9pfQ0KJCQNCg0KVOG7tyBsw6rMoyBjaMOqbmggY+G7p2EgYmnhu4N1IGhpw6rMo24gdGjhu6kgJGkkIHbDoCBiaeG7g3UgaGnhu4duIHRo4bupICRqJCDEkcaw4bujYyBraSBoacOqzKN1IGzDoCAkXHRoZXRhX3tpIGp9JCB2w6AgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWE6DQoNCiQkDQpcdGhldGE9XGZyYWN7byBkIGRfaX17byBkIGRfan09XGZyYWN7XGZyYWN7XHBpX2l9ezEtXHBpX2l9fXtcZnJhY3tccGlfan17MS1ccGlfan19PVxmcmFje1xwaV9pXGxlZnQoMS1ccGlfalxyaWdodCl9e1xwaV9qXGxlZnQoMS1ccGlfaVxyaWdodCl9DQokJA0KDQojIyMgNC42LjEuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkNCg0KYGBge3J9DQpvZGQxIDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDEpDQpvZGQxICU+JSBrYWJsZSgpDQpvZGQxciA8LSBPZGRzUmF0aW8ob2RkMSkNCk9kZHNSYXRpbyhvZGQxLCBjb25mLmxldmVsPS45NSkNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBPZGRzIHJhdGlvIGPhu6dhIGJp4bq/biAqTuG7lyBs4buxYyBsw6BtIHZpw6rMo2MqIHbDoCAqQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nKiBsw6AgOCw1OCBs4bubbiBoxqFuIDEuIMSQaeG7gXUgbsOgeSBjw7MgbmdoxKlhIGzDoCB04bu3IGzhu4cgY2jDqm5oIGdp4buvYSBiaeG7g3UgaGnDqsyjbiAqQ2/MgSBu4buXIGzhu7FjKiBj4bunYSBuaMOibiB2acOqbiAqVMOhbiBUaMOgbmgqIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKiBsw6AgOCw1OC4gS+G6v3QgbHXhuq1uOiBOaMOibiB2acOqbiAqVMOhbiB0aMOgbmgqIGPDsyB04bu3IGzhu4cgTuG7lyBs4buxYyBjYW8gaMahbiBzbyB24bubaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCouDQoNCktob2HMiW5nIHRpbiBjw6LMo3kgY2hvIGJpw6rMgXQgcsSDzIBuZywgdsahzIFpIMSRw7TMoyB0aW4gY8OizKN5IDk1JSwgZ2lhzIEgdHJpzKMgdGjGsMyjYyBjdcyJYSDigJxvZGRzIHJhdGlv4oCdIG7Eg8yAbSB0cm9uZyBraG9hzIluZyB0xrDMgCAzLDY3IMSRw6rMgW4gMjAsMDY3Lg0KDQojIyMgNC42LjIuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYw0KDQpgYGB7cn0NCm9kZDIgPC0gdGFibGUoV29ya01vdGl2YXRpb24yJFksIFdvcmtNb3RpdmF0aW9uMiRYMikNCm9kZDIgJT4lIGthYmxlKCkNCm9kZDJyIDwtIE9kZHNSYXRpbyhvZGQyKQ0KT2Rkc1JhdGlvKG9kZDIsIGNvbmYubGV2ZWw9Ljk1KQ0KYGBgDQoNCltOaOG6rW4geMOpdDpdey51bmRlcmxpbmV9IE9kZHMgcmF0aW8gY+G7p2EgYmnhur9uICpO4buXIGzhu7FjIGzDoG0gdmnDqsyjYyogdsOgICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyogbMOgIDEyLDcgbOG7m24gaMahbiAxLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgdOG7tyBs4buHIGNow6puaCBnaeG7r2EgYmnhu4N1IGhpw6rMo24gKkNvzIEgbuG7lyBs4buxYyogY+G7p2EgbmjDom4gdmnDqm4gKlTDoW4gVGjDoG5oKiBzbyB24bubaSAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCogbMOgIDEyLDcuIEvhur90IGx14bqtbjogTmjDom4gdmnDqm4gKlTDoW4gdGjDoG5oKiBjw7MgdOG7tyBs4buHIE7hu5cgbOG7sWMgY2FvIGjGoW4gc28gduG7m2kgKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqLg0KDQpLaG9hzIluZyB0aW4gY8OizKN5IGNobyBiacOqzIF0IHLEg8yAbmcsIHbGocyBaSDEkcO0zKMgdGluIGPDosyjeSA5NSUsIGdpYcyBIHRyacyjIHRoxrDMo2MgY3XMiWEg4oCcb2RkcyByYXRpb+KAnSBuxIPMgG0gdHJvbmcga2hvYcyJbmcgdMawzIAgNSwyMSDEkcOqzIFuIDMxLDEuDQoNCiMjIyA0LjYuMy4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIEPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmgNCg0KYGBge3J9DQpvZGQzIDwtIHRhYmxlKFdvcmtNb3RpdmF0aW9uMiRZLCBXb3JrTW90aXZhdGlvbjIkWDMpDQpvZGQzICU+JSBrYWJsZSgpDQpvZGQzciA8LSBPZGRzUmF0aW8ob2RkMykNCk9kZHNSYXRpbyhvZGQzLCBjb25mLmxldmVsPS45NSkNCmBgYA0KDQpbTmjhuq1uIHjDqXQ6XXsudW5kZXJsaW5lfSBPZGRzIHJhdGlvIGPhu6dhIGJp4bq/biAqTuG7lyBs4buxYyBsw6BtIHZpw6rMo2MqIHbDoCAqQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCogbMOgIDYsNSBs4bubbiBoxqFuIDEuIMSQaeG7gXUgbsOgeSBjw7MgbmdoxKlhIGzDoCB04bu3IGzhu4cgY2jDqm5oIGdp4buvYSBiaeG7g3UgaGnDqsyjbiAqQ2/MgSBu4buXIGzhu7FjKiBj4bunYSBuaMOibiB2acOqbiAqVMOhbiBUaMOgbmgqIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKiBsw6AgNiw1LiBL4bq/dCBsdeG6rW46IE5ow6JuIHZpw6puICpUw6FuIHRow6BuaCogY8OzIHThu7cgbOG7hyBO4buXIGzhu7FjIGNhbyBoxqFuIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4NCg0KS2hvYcyJbmcgdGluIGPDosyjeSBjaG8gYmnDqsyBdCByxIPMgG5nLCB2xqHMgWkgxJHDtMyjIHRpbiBjw6LMo3kgOTUlLCBnaWHMgSB0cmnMoyB0aMawzKNjIGN1zIlhIOKAnG9kZHMgcmF0aW/igJ0gbsSDzIBtIHRyb25nIGtob2HMiW5nIHTGsMyAIDIsODIgxJHDqsyBbiAxNCw4NS4NCg0KIyMjIDQuNi40LiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8OzIG5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5DQoNCmBgYHtyfQ0Kb2RkNCA8LSB0YWJsZShXb3JrTW90aXZhdGlvbjIkWSwgV29ya01vdGl2YXRpb24yJFg0KQ0Kb2RkNCAlPiUga2FibGUoKQ0Kb2RkNHIgPC0gT2Rkc1JhdGlvKG9kZDQpDQpPZGRzUmF0aW8ob2RkNCwgY29uZi5sZXZlbD0uOTUpDQpgYGANCg0KW05o4bqtbiB4w6l0Ol17LnVuZGVybGluZX0gT2RkcyByYXRpbyBj4bunYSBiaeG6v24gKk7hu5cgbOG7sWMgbMOgbSB2acOqzKNjKiB2w6AgKkPDsyBuaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCBj4bunYSBjw7RuZyB0eSogbMOgIDUsNyBs4bubbiBoxqFuIDEuIMSQaeG7gXUgbsOgeSBjw7MgbmdoxKlhIGzDoCB04bu3IGzhu4cgY2jDqm5oIGdp4buvYSBiaeG7g3UgaGnDqsyjbiAqQ2/MgSBu4buXIGzhu7FjKiBj4bunYSBuaMOibiB2acOqbiAqVMOhbiBUaMOgbmgqIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKiBsw6AgNSw3LiBL4bq/dCBsdeG6rW46IE5ow6JuIHZpw6puICpUw6FuIHRow6BuaCogY8OzIHThu7cgbOG7hyBO4buXIGzhu7FjIGNhbyBoxqFuIHNvIHbhu5tpICpUcnVuZyBs4bqtcCBob+G6t2Mga2jDtG5nIHTDoW4gdGjDoG5oKi4NCg0KS2hvYcyJbmcgdGluIGPDosyjeSBjaG8gYmnDqsyBdCByxIPMgG5nLCB2xqHMgWkgxJHDtMyjIHRpbiBjw6LMo3kgOTUlLCBnaWHMgSB0cmnMoyB0aMawzKNjIGN1zIlhIOKAnG9kZHMgcmF0aW/igJ0gbsSDzIBtIHRyb25nIGtob2HMiW5nIHTGsMyAIDIsNTIgxJHDqsyBbiAxMiw5Lg0KDQojIyMgNC42LjUuIFThu5VuZyBo4bujcCBr4bq/dCBxdeG6oyBPZGQgUmF0aW8NCg0KYGBge3J9DQpkYXRhLmZyYW1lKCAiQmnhur9uIMSR4buZYyBs4bqtcCIgPSBjKCJDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkiLCAiVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMiLCAiQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCIsICJDw7Mgbmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkiKSwgIk9kZF9SYXRpbyIgPSBjKG9kZDFyLCBvZGQyciwgb2RkM3IsIG9kZDRyKSkgJT4lIGthYmxlKCkNCmBgYA0KDQrCoCDCoCDCoCBL4bq/dCBxdeG6oyBzbyBzw6FuaCBnacOhIHRy4buLIE9kZCBSYXRpbyB0xrDGoW5nIHThu7EgduG7m2kga+G6v3QgcXXhuqMgUmVsYXRpdmUgUmlzayDEkcOjIHRyw6xuaCBiw6B5IHThuqFpIG3hu6VjIDQuNC41LiBL4bq/dCBxdeG6oyBuw6B5IG3hu5l0IGzhuqduIG7hu69hIGto4bqzbmcgxJHhu4tuaCBy4bqxbmcgY8OhYyB54bq/dSB04buRIHRodeG7mWMgduG7gSAiduG6rXQgY2jhuqV0IiBuaMawIHRp4buBbiBsxrDhu6NuZyBob+G6t2MgY2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHPhur0gY8OzIHThu7cgbOG7hyAidGjDoG5oIGPDtG5nIiBjYW8gaMahbiDEkeG7kWkgduG7m2kgYmnhu4N1IGhp4buHbiBDw7MgbuG7lyBs4buxYyBzbyB24bubaSB54bq/dSB04buRIHRodeG7mWMgduG7gSAidGluaCB0aOG6p24iIG5oxrAgTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiBj4bunYSBjw7RuZyB0eSBoYXkgQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaC4NCg0KIyMgNC43LiBNw7QgaMOsbmggaOG7k2kgcXV5DQoNCmBgYHtyfQ0KV29ya01vdGl2YXRpb24yJFk8LSBpZmVsc2UoV29ya01vdGl2YXRpb24yJFk9PSAiQ8OzIG7hu5cgbOG7sWMiLCAxLDApDQpuYW1lcyhXb3JrTW90aXZhdGlvbjIpW25hbWVzKFdvcmtNb3RpdmF0aW9uMikgPT0gIkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSJdIDwtICJYMSINCm5hbWVzKFdvcmtNb3RpdmF0aW9uMilbbmFtZXMoV29ya01vdGl2YXRpb24yKSA9PSAiVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMiXSA8LSAiWDIiDQpuYW1lcyhXb3JrTW90aXZhdGlvbjIpW25hbWVzKFdvcmtNb3RpdmF0aW9uMikgPT0gIkPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmgiXSA8LSAiWDMiDQpuYW1lcyhXb3JrTW90aXZhdGlvbjIpW25hbWVzKFdvcmtNb3RpdmF0aW9uMikgPT0gIk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5Il0gPC0gIlg0Ig0KYGBgDQoNCiMjIyA0LjcuMS4gTcO0IGjDrG5oIHjDoWMgc3XhuqV0IHR1eeG6v24gdMOtbmgNCg0KJCQNClxwaSh4KT1cYmV0YV8wK1xiZXRhXzEgXGNkb3QgeA0KJCQNCg0KxJDDonkgbMOgIEdMTSB24bubaSB0aMOgbmggcGjDosyAbiBuZ8OjzIN1IG5oacOqbiBuaOG7iyB0aOG7qWMgdsOgIGjDoG0gbGnDqm4ga+G6v3QgxJHhu5NuZyBuaMOhzIF0LiBNw7QgaMOsbmggbsOgeSDEkcaw4bujYyBnb2kgbMOgIG3DtCBow6xuaCB4YcyBYyBzdeG6pXQgdHV54bq/biB0w61uaCBoYXkgTFBNIChMaW5lYXIgUHJvYmFiaWxpdHkgTW9kZWwpICwgdmnMgCB4w6FjIHN14bqldCB0aGHMgG5oIGPDtG5nIHRoYXkgxJHhu5VpIHR1eeG6v24gdMOtbmggdGhlbyAkeCQuIFRoYW0gc+G7kSAkXGJldGFfMSQgYmnDqsyJdSB0aOG7iyBjaG8gc+G7sSB0aGF5IMSR4buVaSB4w6FjIHN1w6LMgXQgY2hvIG3DtMyDaSDEkcahbiB24buLIHRoYXkgxJHDtMyJaSBjdcyJYSAkeCQuDQoNCiMjIyMgNC43LjEuMS4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIENow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaQ0KDQpgYGB7cn0NCm1vZGVsVC5YMSA8LSBnbG0oWX4gYFgxYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMikgDQpzdW1tYXJ5KG1vZGVsVC5YMSkNCmBgYA0KDQp4OiBUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaA0KDQokJA0KXHBpKHgpPSAwLDkwMzUxIC0wLDM4MTc3XGNkb3QgeA0KJCQNCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8wID0wLDkwMzUxJCBjaG8gYmnDqsyBdCByxIPMgG5nLCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgMCw5MDM1MSB0cm9uZyDEkWnhu4F1IGtp4buHbiBjw6FjIHnhur91IHThu5Ega2jDoWMga2jDtG5nIMSR4buVaS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8xPS0wLDM4MTc3JCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpDaGnMgW5oIHNhzIFjaCBraGVuIHRoxrDGocyJbmcqIGN1zIlhIGPDtG5nIHR5IGzDoCB0aMOizIFwIGjGoW4gMCwzODE3NyBzbyB2xqHMgWkgbmjDom4gdmnDqm4gKlRhzIFuIHRoYcyAbmgqLg0KDQojIyMjIDQuNy4xLjIuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYw0KDQpgYGB7cn0NCm1vZGVsVC5YMiA8LSBnbG0oWX4gYFgyYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMikNCnN1bW1hcnkobW9kZWxULlgyKQ0KYGBgDQoNCng6IFRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oDQoNCiQkDQpccGkoeCk9IDAsOTEyMTA1LTAsNDQyNzkgXGNkb3QgeA0KJCQNCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8wID0wLDkxMjEwNSQgY2hvIGJpw6rMgXQgcsSDzIBuZywgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiBsYcyAIDAsIHRyb25nIMSRacOqzIB1IGtpw6rMo24gY2HMgWMgecOqzIF1IHTDtMyBIGtoYcyBYyBraMO0bmcgxJHDtMyJaS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8xPS0wLDQ0Mjc5JCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpUacOqzIBuIGzGsMahbmcgxJHGsMahzKNjIHRyYcyJIHTGsMahbmcgeMawzIFuZyB2xqHMgWkgbsSDbmcgbMawzKNjKiBsw6AgdGjDosyBcCBoxqFuIDAsNDQyNzkgc28gdsahzIFpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKi4NCg0KIyMjIyA0LjcuMS4zLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaA0KDQpgYGB7cn0NCm1vZGVsVC5YMyA8LSBnbG0oWX4gYFgzYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMikNCnN1bW1hcnkobW9kZWxULlgzKQ0KYGBgDQoNCng6IFRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oICQkDQpccGkoeCk9IDAsODk4MTUgLTAsMzIxMjMgXGNkb3QgeA0KJCQNCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8wID0wLDg5ODE1JCBjaG8gYmnDqsyBdCByxIPMgG5nLCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgMCw4OTgxNSB0cm9uZyDEkWnDqsyAdSBracOqzKNuIGNhzIFjIHnDqsyBdSB0w7TMgSBraGHMgWMga2jDtG5nIMSRw7TMiWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMT0tMCwzMjEyMyQgY2hvIGJpw6rMgXQgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkPDsyBu4buXIGzhu7FjKiB0cm9uZyB0csawxqHMgG5nIGjGocyjcCAqVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbGocyBaSAqQ8O0bmcgdmnDqsyjYyBwaHXMgCBoxqHMo3AgdsahzIFpIHRpzIFuaCBjYcyBY2ggdGjDqsyBIG1hzKNuaCBsw6AqIHRow6LMgXAgaMahbiAwLDMyMTIzIHNvIHbGocyBaSBuaMOibiB2acOqbiAqVGHMgW4gdGhhzIBuaCouDQoNCiMjIyMgNC43LjEuNC4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5DQoNCmBgYHtyfQ0KbW9kZWxULlg0IDwtIGdsbShZfiBgWDRgLCBkYXRhID0gV29ya01vdGl2YXRpb24yKQ0Kc3VtbWFyeShtb2RlbFQuWDQpDQpgYGANCg0KeDogVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgNCg0KJCQNClxwaSh4KT0gMCw4ODQ5NiAtMCwzMTA0OVxjZG90IHgNCiQkDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMCA9MCw4ODQ5NiQgY2hvIGJpw6rMgXQgcsSDzIBuZywgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiBsYcyAIDAsODg0OTYgdHJvbmcgxJFpw6rMgHUga2nDqsyjbiBjYcyBYyB5w6rMgXUgdMO0zIEga2hhzIFjIGtow7RuZyDEkcO0zIlpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTAsMzEwNDkkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKk5pw6rMgG0gdGluIHZhzIBvIHPGsMyjIHBoYcyBdCB0cmnDqsyJbiDDtMyJbiDEkWnMo25oIGN1zIlhIGPDtG5nIHR5IGzDoCogdGjDosyBcCBoxqFuIDAsMzEwNDkgc28gdsahzIFpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKi4NCg0KIyMjIyA0LjcuMS41LiBNw7QgaMOsbmggTFBNIMSRYSBiaeG6v24NCg0KYGBge3J9DQptb2RlbFQuWCA8LSBnbG0oWX4gYFgxYCtgWDJgK2BYM2ArYFg0YCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMikNCnN1bW1hcnkobW9kZWxULlgpDQpgYGANCg0KJHhfaSQ6IEJp4buDdSBoaeG7h24gKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqIGPhu6dhIGJp4bq/biDEkeG7mWMgbOG6rXAgY+G7p2EgYmnhur9uICRYX2kkIHTGsMahbmcg4bupbmcsIHbhu5tpIGk9MSwgMiwgMywgNC4NCg0KJCQNClxwaSh4KT0gMCw5ODI4NiAtIDAsMTYxMzVcY2RvdCB4XzEg4oCTIDAsMjM0NDIgXGNkb3QgeF8yIOKAkyAwLDE0NzA2IFxjZG90IHhfMyDigJMgMCwwOTM3MyBcY2RvdCB4XzQNCiQkDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMCA9MCw5ODI4NiQgY2hvIGJpw6rMgXQgcsSDzIBuZywgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiBsYcyAIDAsOTgyODYgdHJvbmcgxJFpw6rMgHUga2nDqsyjbiBjYcyBYyB5w6rMgXUgdMO0zIEga2hhzIFjIGtow7RuZyDEkcO0zIlpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTAsMTYxMzUkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyBsw6AqIHRow6LMgXAgaMahbiAwLDE2MTM1IHNvIHbGocyBaSBuaMOibiB2acOqbiAqVGHMgW4gdGhhzIBuaCogdHJvbmcgxJFp4buBdSBraeG7h24gY8OhYyB54bq/dSB04buRIGtow6FjIGtow7RuZyDEkeG7lWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMj0tMCwyMzQ0MiQgY2hvIGJpw6rMgXQgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkPDsyBu4buXIGzhu7FjKiB0cm9uZyB0csawxqHMgG5nIGjGocyjcCAqVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbGocyBaSAqVGnhu4FuIGzGsMahbmcgxJHGsOG7o2MgdHLhuqMgdMawxqFuZyB44bupbmcgduG7m2kgbsSDbmcgbOG7sWMgbMOgKiB0aMOizIFwIGjGoW4gMCwyMzQ0MiBzbyB2xqHMgWkgbmjDom4gdmnDqm4gKlRhzIFuIHRoYcyAbmgqIHRyb25nIMSRaeG7gXUga2nhu4duIGPDoWMgeeG6v3UgdOG7kSBraMOhYyBraMO0bmcgxJHhu5VpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzM9LTAsMTQ3MDYkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKkPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmggbMOgKiB0aMOizIFwIGjGoW4gMCwxNDcwNiBzbyB2xqHMgWkgbmjDom4gdmnDqm4gKlRhzIFuIHRoYcyAbmgqIHRyb25nIMSRaeG7gXUga2nhu4duIGPDoWMgeeG6v3UgdOG7kSBraMOhYyBraMO0bmcgxJHhu5VpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzQ9LTAsMDkzNzMkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5IGzDoCogdGjDosyBcCBoxqFuIDAsMDkzNzMgc28gdsahzIFpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKiB0cm9uZyDEkWnhu4F1IGtp4buHbiBjw6FjIHnhur91IHThu5Ega2jDoWMga2jDtG5nIMSR4buVaS4NCg0KIyMjIDQuNy4yLiBNw7QgaMOsbmggaOG7k2kgcXV5IExvZ2l0DQoNCktoaSBow6BtIGxpw6puIGvDqsyBdCBjw7MgZOG6oW5nICRnKFxtdSk9XG9wZXJhdG9ybmFtZXtsb2dpdH0oXG11KT1cbG4gXGxlZnQoXGZyYWN7XG11fXsxLVxtdX1ccmlnaHQpJCwgbcO0IGjDrG5oIGjDtMyAaSBxdXkgJCQNClxsbiBcbGVmdChcZnJhY3tcbXV9ezEtXG11fVxyaWdodCk9XGxuIFxsZWZ0KFxmcmFje1xwaX17MS1ccGl9XHJpZ2h0KT1cb3BlcmF0b3JuYW1le2xvZ2l0fShccGkpPVxiZXRhXzArXGJldGFfMSB4DQokJCDEkMaw4bujYyBn4buNaSBsw6AgbcO0IGhpzIBuaCBsb2dpdC4NCg0KVuG7m2kgJFxwaSQgbMOgIHjDoWMgc3XhuqV0IMSR4buDIGJp4bq/biBwaHXMoyB0aHXhu5ljIG5ow6LMo24gZ2nDoSB0cuG7iyAidGjDoG5oIGPDtG5nIi4gxJDhu5FpIHbhu5tpIGjDoG0gZ2xtIHBo4bqhbSB0csO5IHRoxrDMgSBoYWkgY+G7p2EgYmnhur9uIG5oacyjIHBow6JuIHRow6rMiSBoaeG7h24gY2hvICJ0aMOgbmggY8O0bmciLiBMxrB1IMO9OiAkWSQgbGHMgCBiacOqzIFuIG5o4buLIHBow6JuIHRow6wgJEUoWSk9XHBpJCB24bubaSAkXHBpPVAoWT0kICJ0aMOgbmggY8O0bmciKS4NCg0KIyMjIyA0LjcuMi4xLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpDQoNCmBgYHtyfQ0KbW9kZWxMLlgxIDwtIGdsbShZfiBgWDFgLCBkYXRhID0gV29ya01vdGl2YXRpb24yLCBmYW1pbHkgPSBiaW5vbWlhbChsaW5rID0gJ2xvZ2l0JykpIA0Kc3VtbWFyeShtb2RlbEwuWDEpDQpgYGANCg0KeDogVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgNCg0KJCQNClxsbiBcbGVmdChcZnJhY3tccGl9ezEtXHBpfVxyaWdodCk9XG9wZXJhdG9ybmFtZXtsb2dpdH0oXHBpKT0gMiwyMzY4IC0yLDE0OTggXGNkb3QgeA0KJCQNCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8wID0gMiwyMzY4JCBjaG8gYmnDqsyBdCB4w6FjIHN14bqldCDEkeG7gyBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgbMOgKiAkXGZyYWN7XnsyLjIzNjh9fXsxK2VeezIuMjM2OH19JCB0cm9uZyDEkWnhu4F1IGtp4buHbiBjw6FjIHnhur91IHThu5Ega2jDoWMga2jDtG5nIMSR4buVaS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8xPS0yLDE0OTgkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB24bubaSAqQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpKiBsw6AgdGjhuqVwIGjGoW4gc28gduG7m2kgbmjDom4gdmnDqm4gKlRhzIFuIHRoYcyAbmgqLg0KDQojIyMjIDQuNy4yLjIuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYw0KDQpgYGB7cn0NCm1vZGVsTC5YMiA8LSBnbG0oWX4gYFgyYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdsb2dpdCcpKQ0Kc3VtbWFyeShtb2RlbEwuWDIpDQpgYGANCg0KeDogVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgNCg0KJCQNClxsbiBcbGVmdChcZnJhY3tccGl9ezEtXHBpfVxyaWdodCk9XG9wZXJhdG9ybmFtZXtsb2dpdH0oXHBpKT0gMiw0NTY3IC0yLDU0MzdcY2RvdCB4DQokJA0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzAgPSAyLDQ1NjckIGNobyBiacOqzIF0IHjDoWMgc3XhuqV0IMSR4buDIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKlRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzDoCogJFxmcmFje2VeezIuNDU2N319ezErZV57Mi40NTY3fX0kIHRyb25nIMSRaeG7gXUga2nhu4duIGPDoWMgeeG6v3UgdOG7kSBraMOhYyBraMO0bmcgxJHhu5VpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTIsNTQzNyQgY2hvIGJpw6rMgXQgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkPDsyBu4buXIGzhu7FjKiB0cm9uZyB0csawxqHMgG5nIGjGocyjcCAqVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbhu5tpICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyogbMOgIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKi4NCg0KIyMjIyA0LjcuMi4zLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaA0KDQpgYGB7cn0NCm1vZGVsTC5YMyA8LSBnbG0oWX4gYFgzYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdsb2dpdCcpKQ0Kc3VtbWFyeShtb2RlbEwuWDMpDQpgYGANCg0KeDogVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgNCg0KJCQNClxsbiBcbGVmdChcZnJhY3tccGl9ezEtXHBpfVxyaWdodCk9XG9wZXJhdG9ybmFtZXtsb2dpdH0oXHBpKT0gMiwxNzY4IC0xLDg2NjcgXGNkb3QgeA0KJCQNCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8wID0gMiwxNzY4JCBjaG8gYmnDqsyBdCB4w6FjIHN14bqldCDEkeG7gyBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbMOgKiAkXGZyYWN7ZV57Mi4xNzY4fX17MStlXnsyLjE3Njh9fSQgdHJvbmcgxJFp4buBdSBraeG7h24gY8OhYyB54bq/dSB04buRIGtow6FjIGtow7RuZyDEkeG7lWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMT0tMSw4NjY3JCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogduG7m2kgKkPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmgqIGzDoCB0aOG6pXAgaMahbiBzbyB24bubaSBuaMOibiB2acOqbiAqVGHMgW4gdGhhzIBuaCouDQoNCiMjIyMgNC43LjIuNC4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIE5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5DQoNCmBgYHtyfQ0KbW9kZWxMLlg0IDwtIGdsbShZfiBgWDRgLCBkYXRhID0gV29ya01vdGl2YXRpb24yLCBmYW1pbHkgPSBiaW5vbWlhbChsaW5rID0gJ2xvZ2l0JykpDQpzdW1tYXJ5KG1vZGVsTC5YNCkNCmBgYA0KDQp4OiBUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaA0KDQokJA0KXGxuIFxsZWZ0KFxmcmFje1xwaX17MS1ccGl9XHJpZ2h0KT1cb3BlcmF0b3JuYW1le2xvZ2l0fShccGkpPSAyLDA0MDIgLTEsNzQwMSBcY2RvdCB4DQokJA0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzAgPSAyLDA0MDIkIGNobyBiacOqzIF0IHjDoWMgc3XhuqV0IMSR4buDIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5IGzDoCogJFxmcmFje2VeezIsMDQwMn19ezErZV57MiwwNDAyfX0kIHRyb25nIMSRaeG7gXUga2nhu4duIGPDoWMgeeG6v3UgdOG7kSBraMOhYyBraMO0bmcgxJHhu5VpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTEsNzQwMSQgY2hvIGJpw6rMgXQgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkPDsyBu4buXIGzhu7FjKiB0cm9uZyB0csawxqHMgG5nIGjGocyjcCAqVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbhu5tpICpOaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIOG7lW4gxJHhu4tuaCBj4bunYSBjw7RuZyB0eSogbMOgIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKi4NCg0KIyMjIyA0LjcuMi41LiBN4buTIGjDrG5oIExvZ2l0IMSRYSBiaeG6v24NCg0KYGBge3J9DQptb2RlbEwuWCA8LSBnbG0oWX4gYFgxYCtgWDJgK2BYM2ArYFg0YCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdsb2dpdCcpKQ0Kc3VtbWFyeShtb2RlbEwuWCkNCmBgYA0KDQokeF9pJDogQmnhu4N1IGhp4buHbiAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCogY+G7p2EgYmnhur9uIMSR4buZYyBs4bqtcCBj4bunYSBiaeG6v24gJFhfaSQgdMawxqFuZyDhu6luZywgduG7m2kgaT0xLCAyLCAzLCA0Lg0KDQokJA0KXGxuIFxsZWZ0KFxmcmFje1xwaX17MS1ccGl9XHJpZ2h0KT1cb3BlcmF0b3JuYW1le2xvZ2l0fShccGkpPSAzLDEwMjAg4oCTIDEsMDY5NiBcY2RvdCB4XzEgLTEsMzQwNCBcY2RvdCB4XzIg4oCTIDEsMDUxNyBcY2RvdCB4XzMg4oCTIDAsNjU2MyBcY2RvdCB4XzQNCiQkDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMCA9IDMsMTAyMCQgY2hvIGJpw6rMgXQgeMOhYyBzdeG6pXQgxJHhu4MgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiAqbMOgKiAkXGZyYWN7ZV57MywxMDIwfX17MStlXnszLDEwMjB9fSQgdHJvbmcgxJFp4buBdSBraeG7h24gY8OhYyB54bq/dSB04buRIGtow6FjIGtow7RuZyDEkeG7lWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMT0tMSwwNjk2JCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogduG7m2kgKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyogbMOgIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKiB0cm9uZyDEkWnDqsyAdSBracOqzKNuIGNhzIFjIHnDqsyBdSB0w7TMgSBraGHMgWMga2jDtG5nIMSRw7TMiWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMj0tMSwzNDA0JCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogduG7m2kgKlRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzhu7FjKiBsw6AgdGjhuqVwIGjGoW4gc28gduG7m2kgbmjDom4gdmnDqm4gKlRhzIFuIHRoYcyAbmgqIHRyb25nIMSRacOqzIB1IGtpw6rMo24gY2HMgWMgecOqzIF1IHTDtMyBIGtoYcyBYyBraMO0bmcgxJHDtMyJaS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8zPS0xLDA1MTckIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB24bubaSAqQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCogbMOgIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKiB0cm9uZyDEkWnDqsyAdSBracOqzKNuIGNhzIFjIHnDqsyBdSB0w7TMgSBraGHMgWMga2jDtG5nIMSRw7TMiWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfND0tMCw2NTYzJCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogduG7m2kgKk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5KiBsw6AgdGjhuqVwIGjGoW4gc28gduG7m2kgbmjDom4gdmnDqm4gKlRhzIFuIHRoYcyAbmgqIHRyb25nIMSRacOqzIB1IGtpw6rMo24gY2HMgWMgecOqzIF1IHTDtMyBIGtoYcyBYyBraMO0bmcgxJHDtMyJaS4NCg0KIyMjIDQuNy4zLiBNw7QgaMOsbmggaOG7k2kgcXV5IFByb2JpdA0KDQpLaGkgaMOgbSBsacOqbiBrw6rMgXQgY8OzIGThuqFuZzogJGcoXG11KT1nKFxwaSk9XG9wZXJhdG9ybmFtZXtwcm9iaXR9KFxwaSk9XFBoaV57LTF9KFxwaSkkLiBWxqHMgWkgJFxQaGkodCk9XGZyYWN7MX17XHNxcnR7MiBccGl9fSBcaW50X3stXGluZnR5fV50IGVeey1cZnJhY3t0XjJ9ezJ9fSBkIHQkLA0KDQpob8SDzKNjIGPDsyB0aMOqzIkgdmnDqsyBdCBs4bqhaSBuaMawIHNhdToNCg0KJCQNClxwaSh4KT1cUGhpXGxlZnQoXGJldGFfMCtcYmV0YV8xIHhccmlnaHQpDQokJA0KDQojIyMjIDQuNy4zLjEuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBDaMOtbmggc8OhY2gga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkNCg0KYGBge3J9DQptb2RlbFAuWDEgPC0gZ2xtKFl+IGBYMWAsIGRhdGEgPSBXb3JrTW90aXZhdGlvbjIsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAncHJvYml0JykpIA0Kc3VtbWFyeShtb2RlbFQuWDEpDQpgYGANCg0KeDogVHJ1bmcgbMOizKNwIGhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmguICQkDQpccGkoeCk9XFBoaVxsZWZ0KDEsMzAxOCAtIDEsMjQ3MyBcY2RvdCB4XHJpZ2h0KSQkDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMD0xLDMwMTgkIGNobyBiacOqzIF0IHLEg8yAbmcsIHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogbGHMgCAkXFBoaSgxLDMwMTgpJCB0cm9uZyDEkWnDqsyAdSBracOqzKNuIGNhzIFjIHnDqsyBdSB0w7TMgSBraGHMgWMga2jDtG5nIMSRw7TMiWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMT0tMSwyNDczJCBjb8yBIG5naGnMg2EgbGHMgCDEkcO0zIFpIHbGocyBaSBuaMOibiB2acOqbiAqVHJ1bmcgbMOizKNwKiAqaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpDaGnMgW5oIHNhzIFjaCBraGVuIHRoxrDGocyJbmcqIHRoacyAIHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogbGHMgCB0aOG6pXAgaMahbiBzbyB24bubaSBuaMOibiB2acOqbiAqVMOhbiB0aMOgbmgqLg0KDQojIyMjIDQuNy4zLjIuIE7hu5cgbOG7sWMgbMOgbSB2aeG7h2MgLSBUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYw0KDQpgYGB7cn0NCm1vZGVsUC5YMiA8LSBnbG0oWX4gYFgyYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdwcm9iaXQnKSkNCnN1bW1hcnkobW9kZWxULlgyKQ0KYGBgDQoNCng6IFRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oDQoNCiQkDQpccGkoeCk9XFBoaVxsZWZ0KDEsNDEyMiAtIDEsNDY2NyBcY2RvdCB4XHJpZ2h0KQ0KJCQNCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8wPTEsNDEyMiQgY2hvIGJpw6rMgXQgcsSDzIBuZywgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiBsYcyAICRcUGhpKDEsNDEyMikkIHRyb25nIMSRacOqzIB1IGtpw6rMo24gY2HMgWMgecOqzIF1IHTDtMyBIGtoYcyBYyBraMO0bmcgxJHDtMyJaS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8xPS0xLDQ2NjckIGNvzIEgbmdoacyDYSBsYcyAIMSRw7TMgWkgdsahzIFpIG5ow6JuIHZpw6puICpUcnVuZyBsw6LMo3AqICpob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKlRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzhu7FjKiB0aGnMgCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgdGjhuqVwIGjGoW4gdGjhuqVwIGjGoW4gc28gduG7m2kgbmjDom4gdmnDqm4gKlTDoW4gdGjDoG5oKi4NCg0KIyMjIyA0LjcuMy4zLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaA0KDQpgYGB7cn0NCm1vZGVsUC5YMyA8LSBnbG0oWX4gYFgzYCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdwcm9iaXQnKSkNCnN1bW1hcnkobW9kZWxULlgzKQ0KYGBgDQoNCng6IFRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oDQoNCiQkDQpccGkoeCk9XFBoaVxsZWZ0KDEsMjcxMSAtIDEsMDc3MCBcY2RvdCB4IFxyaWdodCkNCiQkDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMD0xLDI3MTEkIGNobyBiacOqzIF0IHLEg8yAbmcsIHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogbGHMgCAkXFBoaSgxLDI3MTEpJCB0cm9uZyDEkWnDqsyAdSBracOqzKNuIGNhzIFjIHnDqsyBdSB0w7TMgSBraGHMgWMga2jDtG5nIMSRw7TMiWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMT0tMSwwNzcwJCBjb8yBIG5naGnMg2EgbGHMgCDEkcO0zIFpIHbGocyBaSBuaMOibiB2acOqbiAqVHJ1bmcgbMOizKNwKiAqaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oKiB0aGnMgCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgdGjhuqVwIGjGoW4gdGjhuqVwIGjGoW4gc28gduG7m2kgbmjDom4gdmnDqm4gKlTDoW4gdGjDoG5oKi4NCg0KIyMjIyA0LjcuMy40LiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkNCg0KYGBge3J9DQptb2RlbFAuWDQgPC0gZ2xtKFl+IGBYNGAsIGRhdGEgPSBXb3JrTW90aXZhdGlvbjIsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAncHJvYml0JykpDQpzdW1tYXJ5KG1vZGVsUC5YNCkNCmBgYA0KDQp4OiBUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaA0KDQokJA0KXHBpKHgpPVxQaGlcbGVmdCgxLDIwMDEgLSAxLDAxMjQgXGNkb3QgeCBccmlnaHQpDQokJA0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzA9MSwyMDAxJCBjaG8gYmnDqsyBdCByxIPMgG5nLCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgJFxQaGkoMSwyMDAxKSQgdHJvbmcgxJFpw6rMgHUga2nDqsyjbiBjYcyBYyB5w6rMgXUgdMO0zIEga2hhzIFjIGtow7RuZyDEkcO0zIlpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTEsMDEyNCQgY2/MgSBuZ2hpzINhIGxhzIAgxJHDtMyBaSB2xqHMgWkgbmjDom4gdmnDqm4gKlRydW5nIGzDosyjcCogKmhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbGocyBaSAqTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkqIHRoacyAIHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogbGHMgCB0aOG6pXAgaMahbiB0aOG6pXAgaMahbiBzbyB24bubaSBuaMOibiB2acOqbiAqVMOhbiB0aMOgbmgqLg0KDQojIyMjIDQuNy4zLjUuIEjhu5NpIHF1eSBQcm/EkWl0IMSRYSBiaeG6v24NCg0KYGBge3J9DQptb2RlbFAuWCA8LSBnbG0oWX4gYFgxYCtgWDJgK2BYM2ArYFg0YCwgZGF0YSA9IFdvcmtNb3RpdmF0aW9uMiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICdwcm9iaXQnKSkNCnN1bW1hcnkobW9kZWxQLlgpDQpgYGANCg0KJHhfaSQ6IEJp4buDdSBoaeG7h24gKlRydW5nIGzhuq1wIGhv4bq3YyBraMO0bmcgdMOhbiB0aMOgbmgqIGPhu6dhIGJp4bq/biDEkeG7mWMgbOG6rXAgY+G7p2EgYmnhur9uICRYX2kkIHTGsMahbmcg4bupbmcsIHbhu5tpIGk9MSwgMiwgMywgNC4NCg0KJCQNClxwaSh4KT1cUGhpXGxlZnQoMSw3MzkxIOKAkyAwLDU4MzUgXGNkb3QgeF8xIOKAkyAwLDc2OTYgXGNkb3QgeF8yIOKAkyAwLDU3MDMgXGNkb3QgeF8zIOKAkyAwLDM4ODcgXGNkb3QgeF80IFxyaWdodCkNCiQkDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMD0gMSw3MzkxJCBjaG8gYmnDqsyBdCByxIPMgG5nLCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgJFxQaGkoMSw3MzkxKSQgdHJvbmcgxJFpw6rMgHUga2nDqsyjbiBjYcyBYyB5w6rMgXUgdMO0zIEga2hhzIFjIGtow7RuZyDEkcO0zIlpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTAsNTgzNSQgY2/MgSBuZ2hpzINhIGxhzIAgxJHDtMyBaSB2xqHMgWkgbmjDom4gdmnDqm4gKlRydW5nIGzDosyjcCogKmhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbGocyBaSAqQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nKiB0aGnMgCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ2/MgSBuw7TMgyBsxrDMo2MqIGxhzIAgdGjhuqVwIGjGoW4gc28gduG7m2kgbmjDom4gdmnDqm4gKlTDoW4gdGjDoG5oKiB0cm9uZyDEkWnDqsyAdSBracOqzKNuIGNhzIFjIHnDqsyBdSB0w7TMgSBraGHMgWMga2jDtG5nIMSRw7TMiWkuDQoNCi0gICBIw6rMoyBzw7TMgSAkXGJldGFfMj0tMCw3Njk2JCBjb8yBIG5naGnMg2EgbGHMgCDEkcO0zIFpIHbGocyBaSBuaMOibiB2acOqbiAqVHJ1bmcgbMOizKNwKiAqaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyogdGhpzIAgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiBsYcyAIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG5ow6JuIHZpw6puICpUw6FuIHRow6BuaCogdHJvbmcgxJFpw6rMgHUga2nDqsyjbiBjYcyBYyB5w6rMgXUgdMO0zIEga2hhzIFjIGtow7RuZyDEkcO0zIlpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzM9LTAsNTcwMyQgY2/MgSBuZ2hpzINhIGxhzIAgxJHDtMyBaSB2xqHMgWkgbmjDom4gdmnDqm4gKlRydW5nIGzDosyjcCogKmhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbGocyBaSAqQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCogdGhpzIAgeGHMgWMgc3XDosyBdCDEkcOqzIkgbmjDom4gdmnDqm4gKkNvzIEgbsO0zIMgbMawzKNjKiBsYcyAIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG5ow6JuIHZpw6puICpUw6FuIHRow6BuaCogdHJvbmcgxJFpw6rMgHUga2nDqsyjbiBjYcyBYyB5w6rMgXUgdMO0zIEga2hhzIFjIGtow7RuZyDEkcO0zIlpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzQ9LTAsMzg4NyQgY2/MgSBuZ2hpzINhIGxhzIAgxJHDtMyBaSB2xqHMgWkgbmjDom4gdmnDqm4gKlRydW5nIGzDosyjcCogKmhvxIPMo2Mga2jDtG5nIHRhzIFuIHRoYcyAbmgqIHbGocyBaSAqTmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkqIHRoacyAIHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogbGHMgCB0aOG6pXAgaMahbiBzbyB24bubaSBuaMOibiB2acOqbiAqVMOhbiB0aMOgbmgqIHRyb25nIMSRacOqzIB1IGtpw6rMo24gY2HMgWMgecOqzIF1IHTDtMyBIGtoYcyBYyBraMO0bmcgxJHDtMyJaS4NCg0KIyMgNC44LiDEkMOhbmggZ2nDoSBtw7QgaMOsbmgNCg0KQ8OhYyB0acOqdSBjaMOtIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIMSRw6FuaCBnacOhIG3DtCBow6xuaCBsw6A6IGNo4buJIHPhu5EgQUlDLCBo4buHIHPhu5EgQnJpZXIgU2NvcmUsIERldmlhbmNlLiBUaGVvIMSRw7MsIGPhuqMgYmEgdGnDqnUgY2jDrSBjw6BuZyBuaOG7jyB0aMOsIG3DtCBow6xuaCBjw6BuZyB04buRdC4NCg0KLSAgIENo4buJIHPhu5EgQUlDOg0KDQokJA0KQUlDPTJrLTJsbihMKQ0KJCQNCg0KdHJvbmcgxJHDszogayBsw6Agc+G7kSBiaeG6v24gY+G7p2EgbcO0IGjDrG5oLCAkTCQgbMOgIGdpw6EgdHLhu4sgY+G7sWMgxJHhuqFpIGPhu6dhIGjDoG0gaOG7o3AgbMO9Lg0KDQotICAgRGV2aWFuY2U6IMSRw6J5IGzDoCBt4buZdCB0acOqdSBjaMOtIMSRxrDhu6NjIHPhu60gZOG7pW5nIHBo4buVIGJp4bq/biDEkeG7gyDEkcOhbmggZ2nDoSDEkeG7mSBwaMO5IGjhu6NwIGPhu6dhIG3DtCBow6xuaCBo4buTaSBxdXkgxJHGsOG7o2MgxrDhu5tjIGzGsOG7o25nIGLhu59pIHBoxrDGoW5nIHBow6FwIEjhu6NwIGzDvSBj4buxYyDEkeG6oWkgKE1MKS4NCg0KLSAgIEjhu4cgc+G7kSBCcmllciBTY29yZQ0KDQokJA0KQj1cZnJhY3sxfXtufVxzdW1fe2k9MX1ebihcaGF0e1xwaX0tb19pKV4yDQokJA0KDQp0cm9uZyDEkcOzOiAkXGhhdHtccGl9JCB2w6AgJG9faSQgbOG6p24gbMaw4bujdCBsw6AgZ2nDoSB0cuG7iyB4w6FjIHN14bqldCBxdWFuIHPDoXQgxJHGsOG7o2MgdsOgIGdpw6EgdHLhu4sgeMOhYyBzdeG6pXQgdMOtbmggcmEgdOG7qyBtw7QgaMOsbmguDQoNCiMjIyA0LjguMS4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIENow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaQ0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoTW9kZWwgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksQUlDID0gYyhBSUMobW9kZWxULlgxKSxBSUMobW9kZWxMLlgxKSwgQUlDKG1vZGVsUC5YMSkpKSAlPiUga2FibGUoKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0YS5mcmFtZShNb2RlbCA9IGMoIkxQTSIsICJMb2dpdCIsICJQcm9iaXQiKSxEZXZpYW5jZSA9IGMoMjEuNDE3LCAxMzYuMDMsIDIxLjQxNykpICU+JSBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQpkYXRhLmZyYW1lKE1vZGVsID0gYygiTFBNIiwgIkxvZ2l0IiwgIlByb2JpdCIpLCBCcmllclNjb3JlID0gYyhCcmllclNjb3JlKG1vZGVsVC5YMSksQnJpZXJTY29yZShtb2RlbEwuWDEpLCBCcmllclNjb3JlKG1vZGVsUC5YMSkpKSAlPiUga2FibGUoKQ0KYGBgDQoNCiMjIyA0LjguMi4gTuG7lyBs4buxYyBsw6BtIHZp4buHYyAtIFRp4buBbiBsxrDGoW5nIMSRxrDhu6NjIHRy4bqjIHTGsMahbmcgeOG7qW5nIHbhu5tpIG7Eg25nIGzhu7FjDQoNCmBgYHtyfQ0KZGF0YS5mcmFtZShNb2RlbCA9IGMoIkxQTSIsICJMb2dpdCIsICJQcm9iaXQiKSxBSUMgPSBjKEFJQyhtb2RlbFQuWDIpLEFJQyhtb2RlbEwuWDIpLCBBSUMobW9kZWxQLlgyKSkpICU+JSBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQpkYXRhLmZyYW1lKE1vZGVsID0gYygiTFBNIiwgIkxvZ2l0IiwgIlByb2JpdCIpLERldmlhbmNlID0gYygxOS43NjgsIDEyNi42NSwgMTkuNzY4KSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoTW9kZWwgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksIEJyaWVyU2NvcmUgPSBjKEJyaWVyU2NvcmUobW9kZWxULlgyKSxCcmllclNjb3JlKG1vZGVsTC5YMiksIEJyaWVyU2NvcmUobW9kZWxQLlgyKSkpICU+JSBrYWJsZSgpDQpgYGANCg0KIyMjIDQuOC4zLiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8OzIG5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPDtG5nIHR5DQoNCmBgYHtyfQ0KZGF0YS5mcmFtZShNb2RlbCA9IGMoIkxQTSIsICJMb2dpdCIsICJQcm9iaXQiKSxBSUMgPSBjKEFJQyhtb2RlbFQuWDMpKjEwMCxBSUMobW9kZWxMLlgzKSoxMDAsIEFJQyhtb2RlbFAuWDMpKjEwMCkpICU+JSBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQpkYXRhLmZyYW1lKE1vZGVsID0gYygiTFBNIiwgIkxvZ2l0IiwgIlByb2JpdCIpLERldmlhbmNlID0gYygyMi41NzIsIDE0MS45NCwgMjIuNTcyKSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoTW9kZWwgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksIEJyaWVyU2NvcmUgPSBjKEJyaWVyU2NvcmUobW9kZWxULlgzKSxCcmllclNjb3JlKG1vZGVsTC5YMyksIEJyaWVyU2NvcmUobW9kZWxQLlgzKSkpICU+JSBrYWJsZSgpDQpgYGANCg0KIyMjIDQuOC40LiBO4buXIGzhu7FjIGzDoG0gdmnhu4djIC0gQ8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoTW9kZWwgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksQUlDID0gYyhBSUMobW9kZWxULlg0KSxBSUMobW9kZWxMLlg0KSwgQUlDKG1vZGVsUC5YNCkpKSAlPiUga2FibGUoKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0YS5mcmFtZShNb2RlbCA9IGMoIkxQTSIsICJMb2dpdCIsICJQcm9iaXQiKSxEZXZpYW5jZSA9IGMoMjIuOTk0LCAxNDQuNzgsIDE0NC43OCkpICU+JSBrYWJsZSgpDQpgYGANCg0KYGBge3J9DQpkYXRhLmZyYW1lKE1vZGVsID0gYygiTFBNIiwgIkxvZ2l0IiwgIlByb2JpdCIpLCBCcmllclNjb3JlID0gYyhCcmllclNjb3JlKG1vZGVsVC5YNCksQnJpZXJTY29yZShtb2RlbEwuWDQpLCBCcmllclNjb3JlKG1vZGVsUC5YNCkpKSAlPiUga2FibGUoKQ0KYGBgDQoNCiMjIyA0LjguNS4gTcO0IGjDrG5oIMSRYSBiaeG6v24NCg0KYGBge3J9DQpkYXRhLmZyYW1lKE1vZGVsID0gYygiTFBNIiwgIkxvZ2l0IiwgIlByb2JpdCIpLEFJQyA9IGMoQUlDKG1vZGVsVC5YKSxBSUMobW9kZWxMLlgpLCBBSUMobW9kZWxQLlgpKSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoTW9kZWwgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksRGV2aWFuY2UgPSBjKDE4LjE0OSwgMTE1LjMyLCAxMTUuOTApKSAlPiUga2FibGUoKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0YS5mcmFtZShNb2RlbCA9IGMoIkxQTSIsICJMb2dpdCIsICJQcm9iaXQiKSwgQnJpZXJTY29yZSA9IGMoQnJpZXJTY29yZShtb2RlbFQuWCksQnJpZXJTY29yZShtb2RlbEwuWCksIEJyaWVyU2NvcmUobW9kZWxQLlgpKSkgJT4lIGthYmxlKCkNCmBgYA0KDQojIyMgNC44LjcuIFjDoWMgxJHhu4tuaCBtw7QgaMOsbmggcGjDuSBo4bujcA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoWDEgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksIEFJQyA9IGMoIlgiLCIiLCIiKSwgIERldmlhbmNlID0gYygiWCIsIiIsIlgiKSwgIEJyaWVyU2NvcmUgPSBjKCJYIiwiWCIsIlgiKSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoWDIgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksIEFJQyA9IGMoIlgiLCIiLCIiKSwgIERldmlhbmNlID0gYygiWCIsIiIsIlgiKSwgIEJyaWVyU2NvcmUgPSBjKCJYIiwiWCIsIlgiKSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoWDMgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksIEFJQyA9IGMoIlgiLCIiLCIiKSwgIERldmlhbmNlID0gYygiWCIsIiIsIlgiKSwgIEJyaWVyU2NvcmUgPSBjKCJYIiwiWCIsIlgiKSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoWDQgPSBjKCJMUE0iLCAiTG9naXQiLCAiUHJvYml0IiksIEFJQyA9IGMoIiIsIlgiLCJYIiksICBEZXZpYW5jZSA9IGMoIlgiLCIiLCIiKSwgIEJyaWVyU2NvcmUgPSBjKCJYIiwiWCIsIlgiKSkgJT4lIGthYmxlKCkNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoIsSQYV9iaeG6v24iID0gYygiTFBNIiwgIkxvZ2l0IiwgIlByb2JpdCIpLCBBSUMgPSBjKCJYIiwiIiwiIiksICBEZXZpYW5jZSA9IGMoIlgiLCIiLCIiKSwgIEJyaWVyU2NvcmUgPSBjKCIiLCJYIiwiIikpICU+JSBrYWJsZSgpDQpgYGANCg0KROG7sWEgdsOgbyBz4buRIHRpw6p1IGNow60gxJHDoW5oIGdp4bqjIG3DtCBow6xuaCB0aMO1YSBtw6NuIG5o4bqldCwgdGEga+G6v3QgbHXhuq1uIG3DtCBow6xuaCBwaMO5IGjhu6NwIGzDoDoNCg0KYGBge3J9DQpkYXRhLmZyYW1lKCJCaeG6v25fxJHhu5ljX2zhuq1wIiA9IGMoIkNow61uaCBzw6FjaCByw7UgcsOgbmcsIGPDtG5nIGLhurFuZyB2w6AgY8O0bmcga2hhaSIsICJUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyIsICJDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oIiwgIkPDsyBuaeG7gW0gdGluIHbDoG8gc+G7sSBwaMOhdCB0cmnhu4NuIGPhu6dhIGPDtG5nIHR5IiwgIkjhu5NpIHF1eSDEkWEgYmnhur9uICh04bqldCBj4bqjIGJp4bq/biB0csOqbikiKSwgIk3DtCBow6xuaCBwaMO5IGjhu6NwIiA9IGMoIkxQTSIsIkxQTSIsIkxQTSIsICJMUE0vTG90Z2l0L1Byb2JpdCIsICJMUE0iKSkgJT4lIGthYmxlKCkNCmBgYA0KDQojIENIxq/GoE5HIDU6IEvhur5UIExV4bqsTg0KDQrCoCDCoCDCoCBU4burIGvhur90IHF14bqjIHjDoWMgxJHhu4tuaCBtw7QgaMOsbmggaOG7k2kgcXV5IMSRYSBiaeG6v24gcGjDuSBo4bujcCBk4buxYSB0csOqbiBjaOG7iSBz4buRIEFJQywgbcO0IGjDrG5oIHjDoWMgc3XhuqV0IHR1eeG6v24gdMOtbmggKExQTSkgbMOgIHBow7kgaOG7o3AgbmjhuqV0IMSR4buDIG3DtCB04bqjIGPDoWMgeeG6v3UgdOG7kSB0w6FjIMSR4buZbmcgxJHhur9uIMSR4buZbmcgbOG7sWMgbMOgbSB2aeG7h2MgY+G7p2EgbmjDom4gdmnDqm4uIEvhur90IHF14bqjIG3DtCBow6xuaCDEkcaw4bujYyB4w6FjIMSR4buLbmggbMOgOg0KDQokeF9pJDogQmnhu4N1IGhp4buHbiAqVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCogY+G7p2EgYmnhur9uIMSR4buZYyBs4bqtcCBj4bunYSBiaeG6v24gJFhfaSQgdMawxqFuZyDhu6luZywgduG7m2kgaT0xLCAyLCAzLCA0Lg0KDQokJCBccGkoeCk9IDAsOTgyODYgLSAwLDE2MTM1XGNkb3QgeF8xIOKAkyAwLDIzNDQyIFxjZG90IHhfMiDigJMgMCwxNDcwNiBcY2RvdCB4XzMg4oCTIDAsMDkzNzMgXGNkb3QgeF80ICQkDQoNCsKgIMKgIMKgIEvDqsyBdCBxdWHMiSBjaG8gdGjDosyBeSBjYcyBYyBow6rMoyBzw7TMgSDEkcOqzIB1IGNvzIEgecyBIG5naGnMg2EgdGjDtMyBbmcga8OqIHbGocyBaSBwX3ZhbHVlIG5ob8yJIGjGoW4gbcawzIFjIG5naGnMg2EgNSUgxJHhu5FpIHbhu5tpIGjhu4cgc+G7kSBjaOG6t24gdsOgIGJp4bq/biBYMSwgWDIsIFgzIHbDoCBraMO0bmcgY8OzIMO9IG5naMSpYSB0aOG7kW5nIGvDqiDEkeG7kWkgduG7m2kgYmnhur9uIFg0Lg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzAgPTAsOTgyODYkIGNobyBiacOqzIF0IHLEg8yAbmcsIHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDb8yBIG7DtMyDIGzGsMyjYyogbGHMgCAwLDk4Mjg2IHRyb25nIMSRacOqzIB1IGtpw6rMo24gY2HMgWMgecOqzIF1IHTDtMyBIGtoYcyBYyBraMO0bmcgxJHDtMyJaS4gKEPDsyDDvSBuZ2jEqWEgdGjhu5FuZyBrw6ogdOG6oWkgbeG7qWMgMSUpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzE9LTAsMTYxMzUkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKkNow61uaCBzw6FjaCBraGVuIHRoxrDhu59uZyBsw6AqIHRow6LMgXAgaMahbiAwLDE2MTM1IHNvIHbGocyBaSBuaMOibiB2acOqbiAqVGHMgW4gdGhhzIBuaCogdHJvbmcgxJFp4buBdSBraeG7h24gY8OhYyB54bq/dSB04buRIGtow6FjIGtow7RuZyDEkeG7lWkuIChDw7Mgw70gbmdoxKlhIHRo4buRbmcga8OqIHThuqFpIG3hu6ljIDUlKS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8yPS0wLDIzNDQyJCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyBsw6AqIHRow6LMgXAgaMahbiAwLDIzNDQyIHNvIHbGocyBaSBuaMOibiB2acOqbiAqVGHMgW4gdGhhzIBuaCogdHJvbmcgxJFp4buBdSBraeG7h24gY8OhYyB54bq/dSB04buRIGtow6FjIGtow7RuZyDEkeG7lWkuIChDw7Mgw70gbmdoxKlhIHRo4buRbmcga8OqIHThuqFpIG3hu6ljIDElKS4NCg0KLSAgIEjDqsyjIHPDtMyBICRcYmV0YV8zPS0wLDE0NzA2JCBjaG8gYmnDqsyBdCB4YcyBYyBzdcOizIF0IMSRw6rMiSBuaMOibiB2acOqbiAqQ8OzIG7hu5cgbOG7sWMqIHRyb25nIHRyxrDGocyAbmcgaMahzKNwICpUcnVuZyBsw6LMo3AgaG/Eg8yjYyBraMO0bmcgdGHMgW4gdGhhzIBuaCogdsahzIFpICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oIGzDoCogdGjDosyBcCBoxqFuIDAsMTQ3MDYgc28gdsahzIFpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKiB0cm9uZyDEkWnhu4F1IGtp4buHbiBjw6FjIHnhur91IHThu5Ega2jDoWMga2jDtG5nIMSR4buVaS4gKEPDsyDDvSBuZ2jEqWEgdGjhu5FuZyBrw6ogdOG6oWkgbeG7qWMgNSUpLg0KDQotICAgSMOqzKMgc8O0zIEgJFxiZXRhXzQ9LTAsMDkzNzMkIGNobyBiacOqzIF0IHhhzIFjIHN1w6LMgXQgxJHDqsyJIG5ow6JuIHZpw6puICpDw7MgbuG7lyBs4buxYyogdHJvbmcgdHLGsMahzIBuZyBoxqHMo3AgKlRydW5nIGzDosyjcCBob8SDzKNjIGtow7RuZyB0YcyBbiB0aGHMgG5oKiB2xqHMgWkgKk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oIGPhu6dhIGPDtG5nIHR5IGzDoCogdGjDosyBcCBoxqFuIDAsMDkzNzMgc28gdsahzIFpIG5ow6JuIHZpw6puICpUYcyBbiB0aGHMgG5oKiB0cm9uZyDEkWnhu4F1IGtp4buHbiBjw6FjIHnhur91IHThu5Ega2jDoWMga2jDtG5nIMSR4buVaS4gKEtow7RuZyBjw7Mgw70gbmdoxKlhIHRo4buRbmcga8OqKS4NCg0KwqAgwqAgwqAgTmjGsCB24bqteSwga2hpIHh14bqldCBiaeG7g3UgaGnhu4duIGJp4buDdSBoaeG7h24gVHJ1bmcgbOG6rXAgaG/hurdjIGtow7RuZyB0w6FuIHRow6BuaCDhu58gY+G6oyA0IGJp4bq/biB0csOqbiDEkeG7gXUgbMOgbSBnaeG6o20geMOhYyBzdeG6pXQgY+G7p2EgYmnhu4N1IGhp4buHbiBDw7MgbuG7lyBs4buxYy4gTmdvw6BpIHJhLCAqTuG7lyBs4buxYyBsw6BtIHZp4buHYyogY2jhu4t1IHTDoWMgxJHhu5luZyByw7UgcsOgbmcgbmjhuqV0IMSR4buRaSB24bubaSB54bq/dSB04buRICpUaeG7gW4gbMawxqFuZyDEkcaw4bujYyB0cuG6oyB0xrDGoW5nIHjhu6luZyB24bubaSBuxINuZyBs4buxYyosIHNhdSDEkcOzIGzDoCAqQ2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nIHLDtSByw6BuZywgY8O0bmcgYuG6sW5nIHbDoCBjw7RuZyBraGFpOyogc2F1IMSRw7MgbMOgICpDw7RuZyB2aeG7h2MgcGjDuSBo4bujcCB24bubaSB0w61uaCBjw6FjaCB2w6AgdGjhur8gbeG6oW5oKiB2w6AgY3Xhu5FpIGPDuW5nIGzDoCBiaeG6v24gKk5p4buBbSB0aW4gdsOgbyBz4buxIHBow6F0IHRyaeG7g24g4buVbiDEkeG7i25oKiAqY+G7p2EgY8O0bmcgdHkuKg0KDQrCoCDCoCDCoEThu7FhIHRyw6puIGvhur90IHF14bqjIG5naGnDqm4gY+G7qXUsIG5ow7NtIHNpbmggdmnDqm4geGluIMSRxrBhIHJhIG5o4buvbmcga2h1eeG6v24gbmdo4buLIHNhdSDEkcOieSBuaOG6sW0gdOG7kWkgxrB1IGjDs2EgbcO0aSB0csaw4budbmcgbMOgbSB2aeG7h2MgdsOgIG7Dom5nIGNhbyBoaeG7h3UgcXXhuqMgY8O0bmcgdmnhu4djIHRyb25nIHThu5UgY2jhu6ljOg0KDQotICAgxJDhuqNtIGLhuqNvIHRp4buBbiBsxrDGoW5nIHBo4bqjbiDDoW5oIMSRw7puZyBuxINuZyBs4buxYzogVGnhu4FuIGzGsMahbmcgbMOgIHnhur91IHThu5EgcXVhbiB0cuG7jW5nIHbDoCDhuqNuaCBoxrDhu59uZyBt4bqhbmggbeG6vSDEkeG6v24gxJHhu5luZyBs4buxYyBsw6BtIHZp4buHYyBj4bunYSBuaMOibiB2acOqbi4gRG8gxJHDsywgY8OhYyBuaMOgIHF14bqjbiBsw70gbmjDom4gc+G7sSBj4bqnbiBwaOG6o2kgxJHDoW5oIGdpw6EgxJHDum5nIHbDoCB0aMaw4budbmcgeHV5w6puIHThu5UgY2jhu6ljIGPDoWMgxJHhu6N0IMSRw6FuaCBnacOhIG7Eg25nIGzhu7FjIMSR4buDIGPhuq1wIG5o4bqtdCBt4bupYyBsxrDGoW5nIHBow7kgaOG7o3AuDQoNCi0gICBUxINuZyBjxrDhu51uZyBz4buxIGPDtG5nIGLhurFuZyB2w6AgbWluaCBi4bqhY2ggdHJvbmcgY2jDrW5oIHPDoWNoIGtoZW4gdGjGsOG7n25nOiDEkOG7gyBj4bqjaSB0aGnhu4duIG7hu5cgbOG7sWMgY+G7p2EgbmjDom4gdmnDqm4sIGRvYW5oIG5naGnhu4dwIG7Dqm4gY2jDuiB0cuG7jW5nIHbDoG8gdmnhu4djIHjDonkgZOG7sW5nIHbDoCBkdXkgdHLDrCBt4buZdCBo4buHIHRo4buRbmcga2hlbiB0aMaw4bufbmcgcsO1IHLDoG5nLCBjw7RuZyBi4bqxbmcgdsOgIGPDtG5nIGtoYWkuIENow61uaCBzw6FjaCBuw6B5IGtow7RuZyBjaOG7iSBnacO6cCDEkeG7mW5nIHZpw6puIG5ow6JuIHZpw6puIG3DoCBjw7JuIGfDs3AgcGjhuqduIG7Dom5nIGNhbyBsw7JuZyB0aW4gY+G7p2EgaOG7jSB2w6BvIHThu5UgY2jhu6ljLg0KDQotICAgxJDhuqNtIGLhuqNvIGPDtG5nIHZp4buHYyBwaMO5IGjhu6NwIHbhu5tpIHTDrW5oIGPDoWNoIHbDoCB0aOG6vyBt4bqhbmggY+G7p2EgbmjDom4gdmnDqm46IEN1bmcgY+G6pXAgY8OhYyB24buLIHRyw60gY8O0bmcgdmnhu4djIHBow7kgaOG7o3AgduG7m2kgdMOtbmggY8OhY2ggdsOgIHRo4bq/IG3huqFuaCBj4bunYSBuaMOibiB2acOqbiBz4bq9IGdpw7pwIGjhu40gY+G6o20gdGjhuqV5IGjDoGkgbMOybmcgaMahbiB2w6AgbMOgbSB2aeG7h2MgaGnhu4d1IHF14bqjIGjGoW4uIMSQaeG7gXUgbsOgeSBjxaluZyBnacO6cCBnaeG6o20gdGhp4buDdSB0w6xuaCB0cuG6oW5nIGPEg25nIHRo4bqzbmcgdsOgIGLhuqV0IG3Do24gdHJvbmcgbcO0aSB0csaw4budbmcgbMOgbSB2aeG7h2MuDQoNCi0gICBN4bq3YyBkw7kgbmnhu4FtIHRpbiB2w6BvIHPhu7EgcGjDoXQgdHJp4buDbiDhu5VuIMSR4buLbmggY+G7p2EgY8O0bmcgdHkgbMOgIGJp4bq/biBjw7Mg4bqjbmggaMaw4bufbmcgdGjhuqVwIG5o4bqldCBuaMawbmcgZG9hbmggbmdoaeG7h3AgduG6q24gY+G6p24gdOG7lSBjaOG7qWMgY8OhYyBo4buZaSB0aOG6o28gdsOgIGPDtG5nIGtoYWkgbmjhu69uZyB04bqnbSBuaMOsbiBj4bunYSBiYW4gbMOjbmggxJHhuqFvLg0KDQrCoCDCoCDCoEPDoWMga2h1eeG6v24gbmdo4buLIG7DoHkgbmjhurFtIGdpw7pwIHThu5UgY2jhu6ljIHThuqFvIHJhIG3hu5l0IG3DtGkgdHLGsOG7nW5nIGzDoG0gdmnhu4djIHTDrWNoIGPhu7FjIHbDoCDEkeG7mW5nIGzhu7FjLCB04burIMSRw7MgbsOibmcgY2FvIGhp4buHdSBzdeG6pXQgdsOgIHPhu7EgaMOgaSBsw7JuZyBj4bunYSBuaMOibiB2acOqbi4NCg0KIyBC4buUIFNVTkcgTuG7mEkgRFVORw0KDQojIyAxLiBNYSB0cuG6rW4gbmjhuqdtIGzhuqtuDQoNCiMjIyAxLjEuIE3DtCBow6xuaCBo4buTaSBxdXkgdHV54bq/biB0w61uaA0KDQpgYGB7cn0NCkNvbmYodGFibGUocHJlZGljdChtb2RlbFQuWDEsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxULlgxJGRhdGEkWSA9PSAnMScpKQ0KYT0gKDEwMysyMikvMTYwDQphDQpgYGANCg0KYGBge3J9DQpDb25mKHRhYmxlKHByZWRpY3QobW9kZWxULlgyLCB0eXBlPSJyZXNwb25zZSIpID49IDAuNzUsIG1vZGVsVC5YMiRkYXRhJFkgPT0gJzEnKSkNCmBgYA0KDQpgYGB7cn0NCkNvbmYodGFibGUocHJlZGljdChtb2RlbFQuWDMsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxULlgzJGRhdGEkWSA9PSAnMScpKQ0KYGBgDQoNCmBgYHtyfQ0KQ29uZih0YWJsZShwcmVkaWN0KG1vZGVsVC5YNCwgdHlwZT0icmVzcG9uc2UiKSA+PSAwLjc1LCBtb2RlbFQuWDQkZGF0YSRZID09ICcxJykpDQpgYGANCg0KYGBge3J9DQpDb25mKHRhYmxlKHByZWRpY3QobW9kZWxULlgsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxULlgkZGF0YSRZID09ICcxJykpDQpgYGANCg0KIyMjIDEuMi4gTcO0IGjDrG5oIGjhu5NpIHF1eSBsb2dpdA0KDQpgYGB7cn0NCkNvbmYodGFibGUocHJlZGljdChtb2RlbEwuWDEsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxMLlgxJGRhdGEkWSA9PSAnMScpKQ0KYGBgDQoNCmBgYHtyfQ0KQ29uZih0YWJsZShwcmVkaWN0KG1vZGVsTC5YMiwgdHlwZT0icmVzcG9uc2UiKSA+PSAwLjc1LCBtb2RlbEwuWDIkZGF0YSRZID09ICcxJykpDQpgYGANCg0KYGBge3J9DQpDb25mKHRhYmxlKHByZWRpY3QobW9kZWxMLlgzLCB0eXBlPSJyZXNwb25zZSIpID49IDAuNzUsIG1vZGVsTC5YMyRkYXRhJFkgPT0gJzEnKSkNCmBgYA0KDQpgYGB7cn0NCkNvbmYodGFibGUocHJlZGljdChtb2RlbEwuWDQsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxMLlg0JGRhdGEkWSA9PSAnMScpKQ0KYGBgDQoNCmBgYHtyfQ0KQ29uZih0YWJsZShwcmVkaWN0KG1vZGVsTC5YLCB0eXBlPSJyZXNwb25zZSIpID49IDAuNzUsIG1vZGVsTC5YJGRhdGEkWSA9PSAnMScpKQ0KYGBgDQoNCiMjIyAxLjMuIE3DtCBow6xuaCBo4buTaSBxdXkgUHJvYml0DQoNCmBgYHtyfQ0KQ29uZih0YWJsZShwcmVkaWN0KG1vZGVsUC5YMSwgdHlwZT0icmVzcG9uc2UiKSA+PSAwLjc1LCBtb2RlbFAuWDEkZGF0YSRZID09ICcxJykpDQpgYGANCg0KYGBge3J9DQpDb25mKHRhYmxlKHByZWRpY3QobW9kZWxQLlgyLCB0eXBlPSJyZXNwb25zZSIpID49IDAuNzUsIG1vZGVsUC5YMiRkYXRhJFkgPT0gJzEnKSkNCmBgYA0KDQpgYGB7cn0NCkNvbmYodGFibGUocHJlZGljdChtb2RlbFAuWDMsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxQLlgzJGRhdGEkWSA9PSAnMScpKQ0KYGBgDQoNCmBgYHtyfQ0KQ29uZih0YWJsZShwcmVkaWN0KG1vZGVsUC5YNCwgdHlwZT0icmVzcG9uc2UiKSA+PSAwLjc1LCBtb2RlbFAuWDQkZGF0YSRZID09ICcxJykpDQpgYGANCg0KYGBge3J9DQpDb25mKHRhYmxlKHByZWRpY3QobW9kZWxQLlgsIHR5cGU9InJlc3BvbnNlIikgPj0gMC43NSwgbW9kZWxQLlgkZGF0YSRZID09ICcxJykpDQpgYGANCg==