1 Chương 1: Giới thiệu đề tài

1.1 Mục tiêu đề tài

1.1.1 Mục tiêu tổng quan

Bài tiểu luận này nhằm phân tích tỷ giá hối đoái (USD/VND) có tác động đến sự biến động giá vàng ở Việt Nam thông qua những phương pháp thống kê mô tả và vẽ biểu đồ đề nhìn tháy được sự tác động của tỷ giá.

1.1.2 Mục tiêu cụ thể

Phân tích sự ảnh hưởng của tỷ giá đến biến động giá vàng ở Việt Nam. Qua sự phân tích này giúp ta biết được mối tương quan giữa giá vàng và tỷ giá. Nhằm đánh giá được việc tỷ giá tăng sẽ có lợi hay có hại những nhà đầu tư vàng. Và cho biết được kênh đầu tư vàng có an toàn như mọi người thường nghĩ.

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

Đối tượng nghiên cứu: Sự thay đổi của tỷ giá tác động đến biến động của giá vàng.

Phạm vi nghiên cứu: Nghiên cứu về giá vàng ở Việt Nam và tỷ giá USD/VND ở thời kỳ Việt Nam đang phục hồi nền kinh tế sau giai đoạn Covid-19. Dữ liệu được lầy từ đầu năm 2022 đến cuối năm 2023.

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

Dùng những phương pháp thống kê mô tả và vẽ biểu đồ thống kê để đánh giá được ảnh hưởng của tỷ giá USD/VND đến giá vàng trong nước. Mặc dù đây chỉ là phương pháp cơ bản nhưng cho ta được cái nhìn trực quan nhất về mối tương quan của biến động giá vàng.

2 Cơ sở lý thuyết

2.1 Lý thuyết về vàng

Vàng là một loại kim loại quý hiếm và một loại tiền tệ đã được hợp thức hoá bởi Nhà nước. Vàng có những đặc tính phù hợp đáp ứng được vai trò của tiền tệ: Vàng không thể bị mài mòn hay biến đổi tính chất theo thời gian bởi những phản ứng hoá học như oxy hoá hay nhiệt lượng, điều này lầm cho vàng có thể dễ dàng định lượng và lưu trữ; Vàng có màu sắc nổi bật và đặc trưng, vàng có khối lượng riêng lớn và âm thanh đặc biệt nên rất khó để làm giả được vàng; Vàng có tính dẻo rất cao nên khi phân chia không ảnh hưởng tới giá trị của vàng. Vì tính dẻo và tính chất lưu trữ của vàng rất cao nên người ta thường dùng để chế tác trang sức hay tích trữ ở trong nhà phòng trường hợp rủi ro.

Vàng có tính thanh khoản cũng rất cao khi ở mọi nơi trên thế giới đều chấp nhận vàng để trao đổi cho những vật có giá trị lớn. Việc trao đổi vàng cũng rất đơn giản chỉ cần ra tiệm kim hoàn là có thể trao đổi.Những năm gần đây thì có những ứng dụng mua vàng online chỉ cần điện thoại chúng ta kết nối được với internet thì có thể trao đổi vàng một cách thuận lợi. Vàng sẽ có thể chống lại lạm phát bởi vì việc khai thác vàng hiện giờ đang bão hoà và lượng vàng trên thế giới đều có một lượng nhất định nên khi xảy ra lạm phát thì giá vàng cũng tăng theo. Bời vì thế mà vàng được xem là một kênh đầu tư an toàn hoặc là một kênh để giảm thiểu độ rủi ro cho danh mục đầu tư. Và lợi nhuận của vàng đến từ việc bán chênh lệch. Trước khi có thị trường chứng khoán như bây giờ thì mua vàng là điều đầu tiên nghĩ tới khi nói về đầu tư, chứng tỏ vàng là một kênh đầu tư phổ thông cho mọi người mà không cần quá nhiều kiến thức về thị trường.

2.2 Lý thuyết tỷ giá hối đoái

Tỷ giá hối đoái là giá trị của một đơn vị tiền tệ của quốc gia này khi ở quốc gia khác có giá trị là bao nhiêu. Ví dụ như \(USD/VND = 24,000\) thì có thể hiểu là một USD khi đổi ra sang tiền Việt Nam sẽ được 24,000 VND. Tỷ giá hối đoái được hình thành từ hai lý thuyết đó là “Thuyết ngang giá vàng” và “Thuyết ngang giá sức mua (PPP)”. Về “Thuyết ngang giá vàng” thì chỉ áp dụng khi mà bản vị vàng còn được áp dụng bởi các quốc gia nhưng ngày nay thì bản vị vàng đã được loại bỏ đi nên vì đó “Thuyết ngang giá vàng” không còn được áp dụng nữa. Ngày nay thì thế giới đều sử dụng “Thuyết ngang giá sức mua” để tính tỷ giá hối đoái. Lý thuyết PPP sẽ điều chỉnh hai đơn vị tiền tệ của 2 quốc gia khác nhau mà sau khi quy đổi sẽ mua được cùng một giỏ hàng hoá mà có giá trị tương đương nhau. Bởi vì thế mà tỷ giá hối đoái sẽ bị ảnh hưởng bởi lạm phát và nhiều yếu tố khác liên quan tới giá trị của hàng hoá.

Tỷ giá hối đoái được quan tâm nhiều đến là: Tỷ giá hối đoái danh nghĩa và tỷ giá hối đoái thực tế.

  • Tỷ giá hối đoái danh nghĩa: Là tỷ lệ trao đổi giữa các đơn vị tiền tệ ở các nước khác nhau và được thống kê, công bố mỗi ngày qua các phương tiện truyền thông. Tỷ giá hối đoái danh nghĩa sẽ được Ngân hàng Nhà nước công bố đến với mọi người.

  • Tỷ giá hối đoái thực tế: Là tỷ giá phản ánh sự tương quan sức mua giữa hai đơn vị tiền tệ trong cùng một tỷ giá. Tỷ giá hối được xác định như sau: \(Tỷ giá hối đoái thực tế = Tỷ giá hối đoái*(Chỉ số giá quốc tế/Chỉ số giá trong nước)\)

Tỷ giá hối đoái luôn là một vấn đề đau đầu của Chính phủ khi phải điều chỉnh sao cho thuận lợi việc xuất khẩu và nhập khẩu. Vì thế mà Chính phủ có thể can thiệp để điều chỉnh được tỷ giá qua những việc sau: Điều chỉnh chính sách tiền tệ và cân bằng lưu trữ ngoại tệ. Vì thế mà cho thấy được tầm quan trọng của tỷ giá hối đoái đối với một quốc gia.

2.3 Lý thuyết về độ biến động

Độ biến động chính là sự thay đổi của giá qua các thời điểm. Để đo lường được độ biến động thì phương pháp thường dùng nhất là tính độ lệch chuẩn của dữ liệu để xem độ phân tán về giá như thế nào. Độ biến động là một trong những yếu tố đánh giá được sự rủi ro của các sản phẩm tài chính, nếu như độ biến động càng lớn thì rủi ro càng lớn nhưng bù lại thì ta có được lợi nhuận cao hơn. Vì thế trong bài tiểu luận này ta phân tích xem những ảnh hưởng của tỷ giá đối với độ biến động cùa giá vàng, để xem kiểm tra vàng có thật sự là một kênh đầu tư an toàn hay không.

3 Phương pháp và dữ liệu nghiên cứu

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

Nghiên cứu này sẽ lấy dữ liệu giá vàng của Việt Nam và tỷ giá hối đoái USD/VND. Đây là bộ dữ liệu chuỗi thời gian và ta sẽ phân tích để xem sự tác động của tỷ giá hối đoái đến biến động giá vàng. Dữ liệu được lấy từ đầu năm 2022 đến cuối năm 2023, dữ liệu sẽ có tần suất theo ngày để ta có thấy được sự liên tục của dữ liệu. Mặc dù vậy dữ liệu sẽ có nhiều thiếu xót là sẽ không có ngày thứ bảy, chủ nhật và những ngày nghỉ lễ. Độ lớn của bộ dữ liệu sẽ đủ để ta dễ dàng phân tích bằng đồ thị và thống kê mô tả. Toàn bộ dữ liệu đã được tổng hợp thủ công vì giá vàng Việt Nam không được tổng hợp lại thành file.csv hay file excel từ các web.

Đầu tiên ta sẽ nhập dữ liệu vào R và xem cấu trúc của dữ liệu bao gồm những gì.

library(readxl)
gold <- read_excel("Tiểu luận.xlsx", 
     sheet = "Trang_tính4", col_types = c("date", 
         "numeric", "numeric", "numeric", 
         "skip", "skip"))

Tiếp đó ta sẽ loại bỏ những liệu bị trống

gold <- na.omit(gold)

Ta sẽ xem dữ liệu bao gồm những gì

str(gold)
## tibble [501 × 4] (S3: tbl_df/tbl/data.frame)
##  $ Ngày    : POSIXct[1:501], format: "2022-01-03" "2022-01-04" ...
##  $ Quý     : num [1:501] 1 1 1 1 1 1 1 1 1 1 ...
##  $ Giá vàng: num [1:501] 60.9 60.9 61 60.8 60.9 ...
##  $ USD/VND : num [1:501] 22610 22610 22590 22590 22540 ...
##  - attr(*, "na.action")= 'omit' Named int [1:957] 502 503 504 505 506 507 508 509 510 511 ...
##   ..- attr(*, "names")= chr [1:957] "502" "503" "504" "505" ...

Theo bảng trên thì ta thấy được:

  • Dữ liệu có 501 quan sát và 4 biến

  • “Ngày”: Là biến thể hiện ngày ghi nhận quan sát. Đây là biến date có định dạng là yyyy-mm-dd.

  • “Quý”: Là biến thể hiện được là quan sát đang thuộc quý nào ở trong năm và có định dạng là numberic.

  • “Giá vàng”: Là biến thể hiện giá trị của vàng trong ngày được quan sát. Biến có đơn vị là triệu/lượng.

  • “USD/VND”: Là biến thể hiện tỷ giá trong ngày được quan sát.

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

Trong nghiên cứu này ta chỉ sử dụng những thống kê mô tả và đồ thị thống kê để nhìn thấy được sự ảnh hưởng của tỷ giá lên biến động của giá vàng. Khi sử dụng thống kê mô tả ta sẽ quan tâm đến đại lượng đo lường độ tập trung và phân tán, hai đại lượng này sẽ cho ta biết được dữ liệu có xu hướng tập trung về đâu và độ phân tán có nhiều hay không. Các chỉ số sẽ được quan tâm trong bài viết này là trung bình, trung vị và độ lệch chuẩn. Về phương pháp đồ thị thống kê thì những biểu đồ thường sử dụng là barchart, line graph, box-plot đây là ba biểu đồ dễ dàng cho ta so sánh các giá trị với nhau. Trong đó barchart sẽ cho ta so sánh giá trị khi ta phân ra các tổ khác nhau. Line graph sẽ cho ta thấy được sự chuyển động của dữ liệu theo thời gian . Box-plot sẽ cho ta thấy được sự phân bố của dữ liệu như thế nào.

3.3 Quy trình nghiên cứu

Đầu tiên ta sẽ tính toán những đại lượng đặc trưng của dữ liệu và vẽ biểu đồ boxplot để xem sự phân bố của dữ liệu. Bước này sẽ cho hiểu được dữ liệu có xu hướng phân phối dữ liệu như nào và xem coi dữ liệu này có được xem là phân phối chuẩn hay không. Các biến sẽ được tính toán là biến giá vàng, biến USD/VND và một biến tự tạo ra đó là biến độ thay đổi.

Tiếp theo ta sẽ vẽ linegraph để thấy được sự chuyển động của các biến. Qua đó ta xem xét được chuyển động của tỷ giá có ảnh hưởng gì đến giá vàng hay không.

Sau cùng ta sẽ phân tổ theo các tiêu chí để dễ dàng so sánh hơn. Và ta sẽ vẽ biểu đồ phân tán để xem được sự ảnh hưởng của tỷ giá đối với

4 Quá trình nghiên cứu

4.1 Tạo ra biến mới và tính toán cái đại lượng đặc trưng

Ta sẽ tạo ra hai biến mới đó là: Biến thay đổi giá vàng với ký hiệu là vog và biến thay đổi tỷ giá với ký hiệu là voe. Và công thức sẽ được tính như sau: \(log(y(t)-y(t-1))*100\).

vog <- vector()
voe <- vector()

for(i in 1:501){
    if (i == 1) {
        x <- NA} else{
            vog[i]=round(log(gold$`Giá vàng`[i]/gold$`Giá vàng`[i-1])*100,3)
            voe[i]=round(log(gold$`USD/VND`[i]/gold$`USD/VND`[i-1])*100,3)}
}
gold <- cbind(gold,vog,voe)
datatable(head(gold),rownames = F,colnames = c("Ngày",
                                               "Quý",
                                               "Giá Vàng",
                                               "Tỷ giá",
                                               "Thay đổi của giá vàng",
                                               "Thay đổi của tỷ giá"),
          caption = "Bảng trình bày 6 dữ liệu đầu ")

Tiếp theo ta tính toán thống kê mô tả của các biến.

4.1.1 Bảng thống kê mô tả về giá vàng

tkmtg <- gold %>% summarise(phânvị1 = quantile(`Giá vàng`, probs = 0.25),
                            mean = mean(`Giá vàng`),
                            phânvị2 = quantile(`Giá vàng`, probs = 0.5),
                            phânvị3 = quantile(`Giá vàng`, probs = 0.75),
                            sd= sd(`Giá vàng`),
                             .groups = "drop")
datatable(tkmtg, rownames = "Giá vàng", colnames = c("Phân vị thứ 1",
                                                "Trung bình",
                                                "Trung vị",
                                                "Phân vị thứ 3",
                                                "Độ lệch chuẩn"),
          caption = "Bảng 1: Thống kê mô tả về giá vàng")

Từ bảng trên cho ta thấy được là:

  • Có 25% quan sát có giá vàng dưới 66.2 triệu/lượng.

  • Trung bình giá vàng từ đầu năm 2022 đến cuối năm 2023 là 67 triệu/lượng.

  • Có 25% quan sát có giá vàng trên 68.12 triệu/ lượng.

  • Phần lớn giá vàng sẽ dao động trên dưới 2.49 triệu/lượng so với giá trung bình.

  • Ta thấy được là giá trị trung bình lớn hơn giá trị của trung vị có nghĩa là những 50% dữ liệu còn lại có giá trị lớn hơn nhiều so với giá trị của trung vị. Điều này cho ta biết được giá vàng có thời điểm tăng rất cao so với giá trị trung bình của chúng trong giai đoạn đầu năm 2022 đến cuối 2023.

4.1.2 Bảng thống kê mô tả tỷ giá USD/VND

tkmtex <- gold %>% summarise(phânvị1 = quantile(`USD/VND`, probs = 0.25),
                            mean = mean(`USD/VND`),
                            phânvị2 = quantile(`USD/VND`, probs = 0.5),
                            phânvị3 = quantile(`USD/VND`, probs = 0.75),
                            sd= sd(`USD/VND`),
                             .groups = "drop")
datatable(tkmtex, rownames = "Tỷ giá", colnames = c("Phân vị thứ 1",
                                                "Trung bình",
                                                "Trung vị",
                                                "Phân vị thứ 3",
                                                "Độ lệch chuẩn"),
          caption = "Bảng 2: Thống kê mô tả tỷ giá USD/VND")

Từ bảng trên cho ta thấy được là:

  • Có 25% quan sát khi giá trị 1 USD nhỏ hơn 23080 VND.

  • Giá trị trung bình 1 USD từ đầu năm 2022 đến cuối năm 2023 là 23428 VND.

  • Có 25% quan sát khi giá trị 1 USD lớn hơn 23780 VND.

  • Giá trị của 1 USD thường biến động trên dưới 554 VND so với giá trị trung bình. Điều này cho thấy được tỷ giá biến động không quá nhiều và phần lớn giá trị 1 USD sẽ trong khoảng 23000 VND đến 24000 VND.

  • Ta thấy được giá trị trung bình và giá trị trung vị gần như bằng với nhau điều này cho ta thấy được rằng tỷ giá luôn ổn định trong một khoảng giá.

4.1.3 Bảng thống kê mô tả độ thay đổi giá vàng

tkmtvog <- gold %>% summarise(
                            phânvị1 = quantile(vog, probs = 0.25,na.rm = T),
                            mean = mean(vog,na.rm = T),
                            phânvị2 = quantile(vog, probs = 0.5,na.rm = T),
                            phânvị3 = quantile(vog, probs = 0.75,na.rm = T),
                            sd= sd(vog,na.rm=T),
                             .groups = "drop")
datatable(tkmtvog, rownames = "Độ thay đổi của giá vàng", colnames = c("Phân vị thứ 1",
                                                "Trung bình",
                                                "Trung vị",
                                                "Phân vị thứ 3",
                                                "Độ lệch chuẩn"),
          caption = "Bảng 3: Thống kê mô tả độ thay đổi giá vàng")

Từ bảng trên ta thấy được là:

  • Có 25% ngày được quan sát giá vàng sẽ giảm dưới 0.15% so với giá của ngày trước.

  • Trong thời kỳ quan sát thì giá vàng sẽ tăng trung bình là 0.036% qua mỗi ngày.

  • Có 25% ngày được quan sát giá vàng sẽ tăng trên 0.221% so với giá của ngày trước.

  • Độ thay đổi thường biến động trên dưới 0.68% so với giá trị trung bình. Điều này cho ta thấy được độ thay đổi của giá vàng biến động khá lớn phù hợp với khẳng định là sẽ có những thời điểm giá vàng tăng rất cao so với giá trung bình.

  • Ta thấy được giá trị trung bình và giá trị trung bình gần như bằng nhau kết hợp với độ biến động cao như trên thì ta biết được độ lớn sự tăng và sự giảm không chênh lệch quá nhiều với độ lớn của sự tăng nhiều hơn.

4.1.4 Bảng thống kê mô tả độ thay đổi tỷ giá

tkmtvoe <- gold %>% summarise(
                            phânvị1 = quantile(voe, probs = 0.25,na.rm = T),
                            mean = mean(voe,na.rm = T),
                            phânvị2 = quantile(voe, probs = 0.5,na.rm = T),
                            phânvị3 = quantile(voe, probs = 0.75,na.rm = T),
                            sd= sd(voe,na.rm=T),
                             .groups = "drop")
datatable(tkmtvoe, rownames = "Độ thay đổi của tỷ giá", colnames = c("Phân vị thứ 1",
                                                "Trung bình",
                                                "Trung vị",
                                                "Phân vị thứ 3",
                                                "Độ lệch chuẩn"),
          caption = "Bảng 4: Thống kê mô tả độ thay đổi tỷ giá")

Từ bảng trên ta thấy được:

  • Có 25% ngày được quan sát tỷ giá sẽ giảm dưới 0.043% so với tỷ giá của ngày trước

  • Trong thời kỳ quan sát được thì tỷ giá sẽ tăng trung bình 0.012% qua mỗi ngày

  • Có 25% ngày được quan sát tỷ giá sẽ tăng trên 0.082% so với tỷ giá của ngày trước

  • Độ thay đổi sẽ thường biến động trên dưới 0.19% so với giá trung bình. Ta sẽ dễ dàng thấy được là độ biến động này là thấp hơn 3 lần so với độ thay đổi của giá vàng, điều này cho thấy được tỷ giá có độ thay đổi khá là ổn định so với giá vàng phù hợp với khẳng định trên bảng thống kê mô tả của tỷ giá.

  • Ta thấy được trung bình và trung vị của độ thay đổi tỷ giá gần bằng với nhau và kết hợp với độ lệch chuẩn khá ổn định thì ta biết được tỷ giá sẽ tăng dần và ổn định theo thời gian.

4.2 Phân tích biểu đồ boxplot của các biến

Việc vẽ biểu đồ box-plot khá quan trọng có thể giúp ta dễ dàng so sánh sự phân bố dữ liệu của 2 biến. Bước này ta sẽ giúp ta quan sát được dữ liệu trực quan hơn và kiểm định lại những nhận xét bên trên. Ta sẽ chỉ vẽ biểu đồ box-plot của 2 biến đó là giá vàng và tỷ giá đề

bp_gp <- gold %>% ggplot(aes(y=`Giá vàng`))+
        geom_boxplot()+
        labs(x="Giá vàng",y="Triệu/Lượng",title = "Biểu đồ box-plot của giá vàng") +
        theme_bw()
bp_ex  <- gold %>% ggplot(aes(y=`USD/VND`))+
        geom_boxplot()+
        labs(x="Tỷ giá",y="VND",title = "Biểu đồ box-plot của tỷ giá") +
        theme_bw()
grid.arrange(bp_gp, bp_ex,ncol=2)

Ở biểu đồ của giá vàng đã cho ta thấy được nhận xét ở phần thống kê mô tả giá vàng và độ thay đổi của giá vàng là đúng. Ở trên ta nhận xét rằng sẽ có những lúc giá vàng sẽ bị lệch khỏi rất xa với giá trị trung bình và ở trên biểu đồ cũng cho ta thấy được có rất nhiều out-lier(giá trị ngoại vi) ở cả hai đầu của box-plot. Điều này cho thấy được là kênh đầu tư có rủi ro khá là cao trong giai đoạn từ đầu 2022 và cuối 2023. Nhưng ở phần tính thống kê mô tả độ thay đổi cũng cho ta biết rằng giá trị trung bình của độ thay đổi là một số dương có nghĩa là kênh đầu tư vàng vẫn có thể sinh ra lợi nhuận mặc dù độ rủi ro khá cao. Từ đây ta cũng hiểu được giá vàng trong giai đoạn đầu 2022 và cuối 2023 có độ biến động khá cao nhưng vẫn có được lợi nhuận, chứng tỏ vàng vẫn là 1 kênh an toàn có thể đầu tư.

Ở biểu đồ của tỷ giá sẽ cho ta thấy được giá trị của 1 USD sẽ thường nằm trong khoảng từ 23000 VND và 24000 VND. Vậy so với nhận xét bên trên thì đúng với tỷ giá. Trên biểu đồ cũng không có bất kỳ out-lier nào, điều này đã chứng tỏ tỷ giá biến động khá ổn định. Từ giá trị trung bình của độ thay đổi tỷ giá cho ta thấy được là tỷ giá tăng trong giai đoạn này.

Tới đây ta nhận định được rằng cả giá vàng và tỷ giá tăng giai đoạn từ đầu năm 2022 đến cuối năm 2023. Tuy nhiên giá vàng lại biến động mạnh hơn rất nhiều so với tỷ giá.

4.3 Phân tích qua biểu đồ line graph

Biểu đồ line graph là một biểu đồ phù hợp dành cho những dữ liệu chuỗi thời gian và nhất là dữ liệu về tài chính. Biểu đồ này cho ta thấy được quá trình chuyển động của dữ liệu. Qua biểu đồ này ta sẽ nhìn được dữ liệu sẽ tăng giảm như thế nào có phù hợp với những nhận xét phía trên hay không. Việc sử dụng line graph sẽ cho ta thấy được xu hướng của dữ liệu và độ biến động của dữ liệu.

4.3.1 Biểu đồ line graph của giá vàng và tỷ giá

lg_gp <- gold %>% ggplot(aes(Ngày,`Giá vàng`)) +
        geom_line()+
        labs(x="Ngày",y="Giá vàng",title = "Biểu đồ line graph của giá vàng")+
        theme_bw()

lg_ex <- gold %>% ggplot(aes(Ngày,`USD/VND`)) +
        geom_line()+
        labs(x="Ngày",y="VND",title = "Biểu đồ line graph của tỷ giá")+
        theme_bw()

grid.arrange(lg_gp, lg_ex,newpage = T)

Dựa vào biểu đồ line graph của giá vàng lại cho ta thấy điều ngược lại của các nhận xét. Với nhận xét trên thì giá vàng có biến động mạnh trong thời kỳ quan sát thì sau khi vẽ ra biểu đồ line graph lại cho ta thấy 1 kết quả khác. Theo như biểu đồ thì gần tháng 4-2022 có một đợt tăng mạnh và dao động gần xung quanh khu vực được nhưng sau tháng 07-2022 thì có 1 cú sốc là cho giá giảm mạnh nhưng sau đó liền phục hồi trở lại. Từ tháng 10-2022 thì là một đường giá đi ngang dao trong tầm khoảng 65 triệu/lượng đến 67.25 triệu/lượng. Đến tháng 10-2023 thì giá bắt đầu tăng đến đỉnh là cuối năm 2023 với giá hơn 77 triệu/ lượng. Qua biểu đồ trên thì cho ta hiểu vì giá vàng lại có độ lệch chuẩn cao như vậy, bởi vì giá vàng đi ngang đến tận một năm và đến cuối năm lại bắt đầu tăng mạnh như vậy. Điều đó đã làm cho giá trị trung bình lại nằm trong khoảng dao động từ tháng 10-2022 đến tháng 10-2023. Và điều này cho thấy được sự hiệu quả của line graph trong việc phân tích những dữ liệu chuỗi thời gian. Nếu chỉ đánh giá qua các chỉ số thống kê mô tả và biểu đồ box-plot thì sẽ dễ đưa ra những nhận xét sai lầm đối với dữ liệu chuỗi thời gian. Sau khi vẽ ra line graph đã giúp ta nhìn rõ được chuyển động của giá vàng qua các thời điểm .

Sau khi vẽ biểu đồ line graph của tỷ giá lại khác với nhận xét bên trên. Ta thấy được từ 01-2022 đến 10-2022 thì tỷ giá đang có xu hướng đi lên nhưng sau đó là một cú sốc giá làm cho tỷ giá đạt đỉnh hơn 24500 VND và đi ngang được 1 thời gian rồi sau đó lại giảm xuống tầm khoảng 23500 VND. Bắt đầu từ 01-2023 đén 07-2023 thì giá dao động xung quanh 23500 VND. Sau tháng 07-2023 thì tỷ giá có xu hướng tăng gần đạt đến 24500 VND sau đó thì dao động xung quanh 24000 VND. Điều cho ta thấy được tỷ giá cũng không quá ổn định so với nhận xét ở bên trên. Mặc dù có cú sốc giá nhưng sau đó tỷ giá vẫn dao động ổn định và có xu hướng tăng lên. Nhưng so với nhận xét trên thì vẫn tương đối đúng bởi vì ta chưa thấy được quá trình chuyển động của tỷ giá nên không biết được tỷ giá có một cú sốc giá như vậy.

Qua phân tích hai biểu đồ bên trên thì ta vẫn chưa đánh giá được sự ảnh hưởng đến độ biến động của giá vàng. Mặc dù đã có cú sốc giá của tỷ giá nhưng mà giá vàng vẫn không bị ảnh hưởng gì. Nhưng ta vẫn xem xét tiếp những tiêu chí để xem giá vàng có ảnh hưởng bởi tỷ giá hay không.

4.3.2 Biểu đồ line graph độ thay đổi của giá vàng và tỷ giá

lg_vog <- na.omit(gold) %>% ggplot(aes(Ngày,vog)) +
        geom_line()+
        labs(x="Ngày",y="Độ thay đổi",title = "Biểu đồ line graph độ thay đổi của giá vàng")+
        theme_bw()

lg_voe <- na.omit(gold) %>% ggplot(aes(Ngày,voe)) +
        geom_line()+
        labs(x="Ngày",y="Độ thay đổi",title = "Biểu đồ line graph độ thay đổi của tỷ giá")+
        theme_bw()

grid.arrange(lg_vog, lg_voe,newpage = T)

Ở biểu đồ độ thay đổi của giá vàng ta thấy được thời điểm gần tháng 04- 2022 và thời điểm tháng 07-2022 thì có độ dao động khá lớn đây cũng là lúc mà giá vàng có độ thay đổi lớn ở thời điểm tháng 04-2022 thì giá vàng đang tăng cao và ở thời điểm tháng 07-2022 thì giá vàng đang giảm mạnh. Nhưng sau hai thời điểm đó thì độ thay đổi luôn dao động quanh vị trí chứng tỏ rằng giá vàng có thời gian ổn định khá dài.

Về phần độ thay đổi của tỷ giá thì ta thấy cũng ổn định so với giá vàng. Trong khi giá vàng có biên độ dao động là 4% thì ở tỷ giá chỉ có biên độ là 1% điều này cho tháy được rằng tỷ giá có độ thay đổi khá là ổn định. Mặc dù vẫn có thời điểm độ thay đổi khá lớn nhưng vẫn thấp hơn so với giá vàng.

Dựa vào bảng bên trên thì cho thấy được những lúc tỷ giá có độ thay đổi cao thì không trùng vào những thời điểm giá vàng có độ thay đổi cao. Điều này cũng làm cho ta rõ được rằng khi tỷ giá thay đổi mạnh thì vẫn không tác động đến độ thay đổi của vàng. Rõ ràng nhất là ở thời điểm cuối năm 2022 thì tỷ giá có sự giảm mạnh xuống 1% nhưng khi nhìn về giá vàng thì cũng không ảnh hưởng gì tới những thời điểm sau đó.

4.4 Phân tích qua biểu đồ barchart

Ta sẽ tạo ra thêm biến mới. Biến về so sánh tỷ giá với giá trị trung vị của tỷ giá sẽ được ký hiệu là “Mức tỷ giá”, biến này sẽ gán “Cao” khi tỷ giá cao hơn hoặc bằng trung bình và gán “Thấp” Với trường hợp ngược lại. Biến về phân ra khi nào tỷ giá giảm và tỷ giá tăng sẽ được ký hiệu là “Thay đổi”, khi độ biến động là dương thì ta sẽ gán là “Tăng” và ngược lại thì gán là “Giảm”. Việc này nhằm xem sự khác biệt của giá vàng trong hai trường hợp.

gold$`Mức tỷ giá` <- ifelse(gold$`USD/VND`>=mean(gold$`USD/VND`),
                            "Cao",
                            "Thấp")
gold$`Thay đổi` <- ifelse(gold$voe>=0,
                          "Tăng",
                          "Giảm")
datatable(head(gold),rownames = F,colnames = c("Ngày",
                                               "Quý",
                                               "Giá Vàng",
                                               "Tỷ giá",
                                               "Thay đổi của giá vàng",
                                               "Thay đổi của tỷ giá",
                                               "Mức tỷ giá",
                                               "Thay đổi"),
          caption = "Bảng trình bày 6 dữ liệu đầu ")

Sau đây ta sẽ biểu đồ barchart theo 2 biến trên

bc_mtg <- gold %>% group_by(`Mức tỷ giá`) %>%
        summarise(m=sd(`Giá vàng`,na.rm=T)) %>% 
        ggplot(aes(x=`Mức tỷ giá`,y=m))+
        geom_col(position="dodge",fill="black",na.rm = T)+
        geom_text(aes(label=round(m,2)),vjust=2,color="white",size.unit = "mm")+
        labs(x="Mức tỷ giá",y="Biến động giá vàng",title = "Đồ thị barchart theo mức tỷ giá")

bc_td <- na.omit(gold) %>% group_by(`Thay đổi`) %>%                                 summarise(m=mean(vog,na.rm=T)) %>% 
        ggplot(aes(x=`Thay đổi`,y=m))+
        geom_col(position="dodge",fill="black",na.rm = T)+
        geom_text(aes(label=round(m,2)),vjust=2,color="white",size.unit = "mm")+
        labs(x="Thay đổi",y="Độ thay đổi trung bình",title = "Đồ thị barchart theo sự thay đổi")
grid.arrange(bc_mtg, bc_td,newpage = T)

Ta thấy được khi tỷ giá cao hơn mức trung bình thì giá vàng biến động mạnh hơn khi tỷ giá dưới mức trung bình. Điều này cho thấy tỷ giá cũng ảnh hưởng 1 phần đên giá vàng như không đáng kể. Và khi xem xét về sự thay đổi khi giá tăng hoặc giảm thì độ thay đổi của giá vàng cũng không chênh lệch quá nhiều. Kết hợp biểu đồ line garph và biểu đồ bar chart thì ta sẽ thấy được tỷ giá tăng trước giá vàng 1 quý nên lúc tỷ giá cao hơn mức trung bình thì đây cũng là giá vàng đang dần tăng lên đến đỉnh nên độ biến động sẽ cao hơn so với lúc tỷ giá ở dưới mức trung bình. Mặc dù như vậy thì tỷ giá cũng không ảnh hưởng nhiều qua biểu đồ sự thay đổi khi tỷ giá tăng hay tỷ giá giảm thì độ thay đổi của giá vàng cũng không chênh lệch quá nhiều.

5 Kết luận của nghiên cứu

5.1 Kết luận

Mục tiêu của tiểu luận này là nghiên cứu về sự ảnh hưởng của tỷ giá đến độ biến động của giá vàng. Từ kết quả sẽ giúp những nhà kinh tế có thêm thông tin để đánh giá được có nên chọn biến là tỷ giá khi họ phân tích về giá vàng hay không. Hơn nữa bài viết cũng phân tích xem vàng có phải một kênh ổn định hay không qua phân tích biểu đồ line graph và phân tích thống kê mô tả của độ thay đổi giá vàng.

Từ những kết quả của biểu đồ và những nhận xét bên trên thì cho thấy được là tỷ giá không ảnh hưởng quá nhiều đến biến động của giá vàng. Những cú sốc của giá vàng hoặc tỷ giá đều không ảnh hưởng đến nhau quá nhiều. Khi phân tích về độ thay đổi của tỷ giá thì ta thấy được mặc dù đã có sự thay đổi khá mạnh ở thời điểm cuối năm 2022 nhưng sau đó thì độ thay đổi của giá vàng vẫn tiếp tục đi ngang. Từ những đánh giá trên thì biến tỷ giá không phù hợp khi ta phân tích về giá vàng hay biến động của giá vàng và cũng không phù hợp khi sử dụng để dự báo được giá vàng trong tương lai.

5.2 Hạn chế của nghiên cứu

Bài viết này chỉ sử dụng những phương pháp thống kê cơ bản nên chưa thể nhìn sâu được các vấn đề giữa hai biến. Bởi vì kiến thức hiện giờ của người nghiên cứu chưa tiếp cận được những phương pháp phân tích nâng cao hơn như: phân tích hồi quy, mô hình VAR hoặc VECM. Chính vì như thế sẽ không thể đánh giá được bằng các kiểm định thống kê cho những biến cần nghiên cứu và không đánh giá được khi có những cú sốc mới thì giá vàng có thay đổi hay không.

5.3 Hướng phát triển nghiên cứu

Về giá vàng thì sẽ có giá vàng trong nước và giá vàng thế giới nên ta có thể mở rộng ra bằng việc phân tích mối tương quan giữa giá vàng thế giới và giá vàng trong nước điều này có thể cho thấy được giá vàng trong nước có phụ thuộc vào giá vàng thế giới hay không. Các nhà đầu tư thường quan tâm đến tỷ suất sinh lời của các sản phẩm tài chính và trong danh mục của họ thường có một phần phân bổ cho tiền gửi ngân hàng xem như là nguồn lãi suất phi rủi ro, từ đây ta có thể phân tích tỷ suất lợi nhuận của giá vàng và lãi suất ngân hàng có quan hệ như thế nào để giúp các nhà đầu tư phân bổ nguồn vốn của họ để tối ưu lợi nhuận. Và ta có thể sử dụng những phương pháp nâng cao hơn như phân tích hồi quy hoặc sử dụng các mô hình về chuỗi thời gian như VAR, VECM để phân tích được mối quan hệ của các biến như trên.

6 Tài liệu tham khảo

Tường, T.M. (2023). Data manipulation

Tường, T.M. (2023). Data Visualization

Thư, T.N.N.A (2021). Hướng dẫn tự học kinh tế vĩ mô: Bộ Tài chính

Finhay;Vì sao vàng có được vai trò tiền tệ trên thế giới?

(https://www.finhay.com.vn/en/vi-sao-vang-co-duoc-vai-tro-tien-te#:~:text=Trong%20l%E1%BB%8Bch%20s%E1%BB%AD%20kinh%20t%E1%BA%BF%2C%20ti%E1%BB%81n%20v%C3%A0ng%20%C4%91%C3%A3,ti%E1%BB%81n%20t%E1%BB%87%20thanh%20to%C3%A1n%2C%20trao%20%C4%91%E1%BB%95i%20h%C3%A0ng%20h%C3%B3a.)

LS0tDQp0aXRsZTogIlRp4buDdSBsdeG6rW4iDQphdXRob3I6ICJMw70gVsSpbmggTmdoaSINCmRhdGU6ICIyMDI0LTAzLTIyIg0Kb3V0cHV0OiANCiAgICBodG1sX2RvY3VtZW50OiANCiAgICAgICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgICAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCiAgICAgICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgICAgIHRvY19kZXB0aDogNA0KICAgICAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICAgICAgdG9jOiB0cnVlDQogICAgd29yZF9kb2N1bWVudDoNCiAgICAgICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgcGRmX2RvY3VtZW50Og0KICAgICAgICBsYXRleF9lbmdpbmU6IHhlbGF0ZXgNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQojICoqQ2jGsMahbmcgMTogR2nhu5tpIHRoaeG7h3UgxJHhu4EgdMOgaSoqDQoNCiMjICoqTeG7pWMgdGnDqnUgxJHhu4EgdMOgaSoqDQoNCiMjIyBN4bulYyB0acOqdSB04buVbmcgcXVhbg0KDQpCw6BpIHRp4buDdSBsdeG6rW4gbsOgeSBuaOG6sW0gcGjDom4gdMOtY2ggdOG7tyBnacOhIGjhu5FpIMSRb8OhaSAoVVNEL1ZORCkgY8OzIHTDoWMgxJHhu5luZyDEkeG6v24gDQpz4buxIGJp4bq/biDEkeG7mW5nIGdpw6EgdsOgbmcg4bufIFZp4buHdCBOYW0gdGjDtG5nIHF1YSBuaOG7r25nIHBoxrDGoW5nIHBow6FwIHRo4buRbmcga8OqIG3DtCB04bqjIHbDoCB24bq9IGJp4buDdSDEkeG7kyDEkeG7gSBuaMOsbiB0aMOheSDEkcaw4bujYyBz4buxIHTDoWMgxJHhu5luZyBj4bunYSB04bu3IGdpw6EuDQoNCiMjIyBN4bulYyB0acOqdSBj4bulIHRo4buDDQoNClBow6JuIHTDrWNoIHPhu7Eg4bqjbmggaMaw4bufbmcgY+G7p2EgdOG7tyBnacOhIMSR4bq/biBiaeG6v24gxJHhu5luZyBnacOhIHbDoG5nIOG7nyBWaeG7h3QgTmFtLiBRdWEgc+G7sSBwaMOibiB0w61jaA0KbsOgeSBnacO6cCB0YSBiaeG6v3QgxJHGsOG7o2MgbeG7kWkgdMawxqFuZyBxdWFuIGdp4buvYSBnacOhIHbDoG5nIHbDoCB04bu3IGdpw6EuIE5o4bqxbSDEkcOhbmggZ2nDoSDEkcaw4bujYyANCnZp4buHYyB04bu3IGdpw6EgdMSDbmcgc+G6vSBjw7MgbOG7o2kgaGF5IGPDsyBo4bqhaSBuaOG7r25nIG5ow6AgxJHhuqd1IHTGsCB2w6BuZy4gVsOgIGNobyBiaeG6v3QgxJHGsOG7o2Mga8OqbmggDQrEkeG6p3UgdMawIHbDoG5nIGPDsyBhbiB0b8OgbiBuaMawIG3hu41pIG5nxrDhu51pIHRoxrDhu51uZyBuZ2jEqS4gDQoNCiMjICoqxJDhu5FpIHTGsOG7o25nIG5naGnDqm4gY+G7qXUgdsOgIHBo4bqhbSB2aSBuZ2hpw6puIGPhu6l1KioNCg0KKsSQ4buRaSB0xrDhu6NuZyBuZ2hpw6puIGPhu6l1KjogU+G7sSB0aGF5IMSR4buVaSBj4bunYSB04bu3IGdpw6EgdMOhYyDEkeG7mW5nIMSR4bq/biBiaeG6v24gxJHhu5luZyBj4bunYSBnacOhIHbDoG5nLg0KDQoqUGjhuqFtIHZpIG5naGnDqm4gY+G7qXUqOiBOZ2hpw6puIGPhu6l1IHbhu4EgZ2nDoSB2w6BuZyDhu58gVmnhu4d0IE5hbSB2w6AgdOG7tyBnacOhIFVTRC9WTkQg4bufIHRo4budaSBr4buzDQpWaeG7h3QgTmFtIMSRYW5nIHBo4bulYyBo4buTaSBu4buBbiBraW5oIHThur8gc2F1IGdpYWkgxJFv4bqhbiBDb3ZpZC0xOS4gROG7ryBsaeG7h3UgxJHGsOG7o2MgbOG6p3kgdOG7qyDEkeG6p3UgbsSDbSAyMDIyIMSR4bq/biBjdeG7kWkgbsSDbSAyMDIzLg0KDQojIyAqKlBoxrDGoW5nIHBow6FwIG5naGnDqm4gY+G7qXUqKg0KDQpEw7luZyBuaOG7r25nIHBoxrDGoW5nIHBow6FwIHRo4buRbmcga8OqIG3DtCB04bqjIHbDoCB24bq9IGJp4buDdSDEkeG7kyB0aOG7kW5nIGvDqiDEkeG7gyDEkcOhbmggZ2nDoSDEkcaw4bujYw0K4bqjbmggaMaw4bufbmcgY+G7p2EgdOG7tyBnacOhIFVTRC9WTkQgxJHhur9uIGdpw6EgdsOgbmcgdHJvbmcgbsaw4bubYy4gTeG6t2MgZMO5IMSRw6J5IGNo4buJIGzDoCBwaMawxqFuZyBwaMOhcCBjxqEgYuG6o24gbmjGsG5nIGNobyB0YSDEkcaw4bujYyBjw6FpIG5ow6xuIHRy4buxYyBxdWFuIG5o4bqldCB24buBIG3hu5FpIHTGsMahbmcgcXVhbiBj4bunYSBiaeG6v24gxJHhu5luZyBnacOhIHbDoG5nLg0KDQojICoqQ8ahIHPhu58gbMO9IHRodXnhur90KioNCg0KIyMgKipMw70gdGh1eeG6v3QgduG7gSB2w6BuZyoqDQoNClbDoG5nIGzDoCBt4buZdCBsb+G6oWkga2ltIGxv4bqhaSBxdcO9IGhp4bq/bSB2w6AgbeG7mXQgbG/huqFpIHRp4buBbiB04buHIMSRw6MgxJHGsOG7o2MgaOG7o3AgdGjhu6ljIGhvw6EgYuG7n2kgTmjDoCBuxrDhu5tjLiBWw6BuZyBjw7Mgbmjhu69uZyDEkeG6t2MgdMOtbmggcGjDuSBo4bujcCDEkcOhcCDhu6luZyDEkcaw4bujYyB2YWkgdHLDsiBj4bunYSB0aeG7gW4gdOG7hzogVsOgbmcga2jDtG5nIHRo4buDIGLhu4sgbcOgaSBtw7JuIGhheSBiaeG6v24gxJHhu5VpIHTDrW5oIGNo4bqldCB0aGVvIHRo4budaSBnaWFuIGLhu59pIG5o4buvbmcgcGjhuqNuIOG7qW5nIGhvw6EgaOG7jWMgbmjGsCBveHkgaG/DoSBoYXkgbmhp4buHdCBsxrDhu6NuZywgxJFp4buBdSBuw6B5IGzhuqdtIGNobyB2w6BuZyBjw7MgdGjhu4MgZOG7hSBkw6BuZyDEkeG7i25oIGzGsOG7o25nIHbDoCBsxrB1IHRy4buvOyBWw6BuZyBjw7MgbcOgdSBz4bqvYyBu4buVaSBi4bqtdCB2w6AgxJHhurdjIHRyxrBuZywgdsOgbmcgY8OzIGto4buRaSBsxrDhu6NuZyByacOqbmcgbOG7m24gdsOgIMOibSB0aGFuaCDEkeG6t2MgYmnhu4d0IG7Dqm4gcuG6pXQga2jDsyDEkeG7gyBsw6BtIGdp4bqjIMSRxrDhu6NjIHbDoG5nOyANClbDoG5nIGPDsyB0w61uaCBk4bq7byBy4bqldCBjYW8gbsOqbiBraGkgcGjDom4gY2hpYSBraMO0bmcg4bqjbmggaMaw4bufbmcgdOG7m2kgZ2nDoSB0cuG7iyBj4bunYSB2w6BuZy4gVsOsIHTDrW5oIGThurtvIHbDoCB0w61uaCBjaOG6pXQgbMawdSB0cuG7ryBj4bunYSB2w6BuZyBy4bqldCBjYW8gbsOqbiBuZ8aw4budaSB0YSB0aMaw4budbmcgZMO5bmcgxJHhu4MgY2jhur8gdMOhYyB0cmFuZyBz4bupYyBoYXkgdMOtY2ggdHLhu68g4bufIHRyb25nIG5ow6AgcGjDsm5nIHRyxrDhu51uZyBo4bujcCBy4bunaSByby4NCg0KVsOgbmcgY8OzIHTDrW5oIHRoYW5oIGtob+G6o24gY8WpbmcgcuG6pXQgY2FvIGtoaSDhu58gbeG7jWkgbsahaSB0csOqbiB0aOG6vyBnaeG7m2kgxJHhu4F1IGNo4bqlcCBuaOG6rW4gdsOgbmcgxJHhu4MgdHJhbyDEkeG7lWkgY2hvIG5o4buvbmcgduG6rXQgY8OzIGdpw6EgdHLhu4sgbOG7m24uIFZp4buHYyB0cmFvIMSR4buVaSB2w6BuZyBjxaluZyBy4bqldCDEkcahbiBnaeG6o24gY2jhu4kgY+G6p24gcmEgdGnhu4dtIGtpbSBob8OgbiBsw6AgY8OzIHRo4buDIHRyYW8gxJHhu5VpLk5o4buvbmcgbsSDbSBn4bqnbiDEkcOieSB0aMOsIGPDsyBuaOG7r25nIOG7qW5nIGThu6VuZyBtdWEgdsOgbmcgb25saW5lIGNo4buJIGPhuqduIMSRaeG7h24gdGhv4bqhaSBjaMO6bmcgdGEga+G6v3QgbuG7kWkgxJHGsOG7o2MgduG7m2kgaW50ZXJuZXQgdGjDrCBjw7MgdGjhu4MgdHJhbyDEkeG7lWkgdsOgbmcgbeG7mXQgY8OhY2ggdGh14bqtbiBs4bujaS4gVsOgbmcgc+G6vSBjw7MgdGjhu4MgY2jhu5FuZyBs4bqhaSBs4bqhbSBwaMOhdCBi4bufaSB2w6wgdmnhu4djIGtoYWkgdGjDoWMgdsOgbmcgaGnhu4duIGdp4budIMSRYW5nIGLDo28gaG/DoCB2w6AgbMaw4bujbmcgdsOgbmcgdHLDqm4gdGjhur8gZ2nhu5tpIMSR4buBdSBjw7MgbeG7mXQgbMaw4bujbmcgbmjhuqV0IMSR4buLbmggbsOqbiBraGkgeOG6o3kgcmEgbOG6oW0gcGjDoXQgdGjDrCBnacOhIHbDoG5nIGPFqW5nIHTEg25nIHRoZW8uIELhu51pIHbDrCB0aOG6vyBtw6AgdsOgbmcgxJHGsOG7o2MgeGVtIGzDoCBt4buZdCBrw6puaCDEkeG6p3UgdMawIGFuIHRvw6BuIGhv4bq3YyBsw6AgbeG7mXQga8OqbmggxJHhu4MgZ2nhuqNtIHRoaeG7g3UgxJHhu5kgcuG7p2kgcm8gY2hvIGRhbmggbeG7pWMgxJHhuqd1IHTGsC4gVsOgIGzhu6NpIG5odeG6rW4gY+G7p2EgdsOgbmcgxJHhur9uIHThu6sgdmnhu4djIGLDoW4gY2jDqm5oIGzhu4djaC4gVHLGsOG7m2Mga2hpIGPDsyB0aOG7iyB0csaw4budbmcgY2jhu6luZyBraG/DoW4gbmjGsCBiw6J5IGdp4budIHRow6wgbXVhIHbDoG5nIGzDoCDEkWnhu4F1IMSR4bqndSB0acOqbiBuZ2jEqSB04bubaSBraGkgbsOzaSB24buBIMSR4bqndSB0xrAsIGNo4bupbmcgdOG7jyB2w6BuZyBsw6AgbeG7mXQga8OqbmggxJHhuqd1IHTGsCBwaOG7lSB0aMO0bmcgY2hvIG3hu41pIG5nxrDhu51pIG3DoCBraMO0bmcgY+G6p24gcXXDoSBuaGnhu4F1IGtp4bq/biB0aOG7qWMgduG7gSB0aOG7iyB0csaw4budbmcuDQoNCiMjICoqTMO9IHRodXnhur90IHThu7cgZ2nDoSBo4buRaSDEkW/DoWkqKg0KDQpU4bu3IGdpw6EgaOG7kWkgxJFvw6FpIGzDoCBnacOhIHRy4buLIGPhu6dhIG3hu5l0IMSRxqFuIHbhu4sgdGnhu4FuIHThu4cgY+G7p2EgcXXhu5FjIGdpYSBuw6B5IGtoaSDhu58gcXXhu5FjIGdpYSBraMOhYyBjw7MgZ2nDoSB0cuG7iyBsw6AgYmFvIG5oacOqdS4gVsOtIGThu6UgbmjGsCAkVVNEL1ZORCA9IDI0LDAwMCQgdGjDrCBjw7MgdGjhu4MgaGnhu4N1IGzDoCBt4buZdCBVU0Qga2hpIMSR4buVaSByYSBzYW5nIHRp4buBbiBWaeG7h3QgTmFtIHPhur0gxJHGsOG7o2MgMjQsMDAwIFZORC4gVOG7tyBnacOhIGjhu5FpIMSRb8OhaSDEkcaw4bujYyBow6xuaCB0aMOgbmggdOG7qyBoYWkgbMO9IHRodXnhur90IMSRw7MgbMOgICJUaHV54bq/dCBuZ2FuZyBnacOhIHbDoG5nIiB2w6AgIlRodXnhur90IG5nYW5nIGdpw6Egc+G7qWMgbXVhIChQUFApIi4gVuG7gSAiVGh1eeG6v3QgbmdhbmcgZ2nDoSB2w6BuZyIgdGjDrCBjaOG7iSDDoXAgZOG7pW5nIGtoaSBtw6AgYuG6o24gduG7iyB2w6BuZyBjw7JuIMSRxrDhu6NjIMOhcCBk4bulbmcgYuG7n2kgY8OhYyBxdeG7kWMgZ2lhIG5oxrBuZyBuZ8OgeSBuYXkgdGjDrCBi4bqjbiB24buLIHbDoG5nIMSRw6MgxJHGsOG7o2MgbG/huqFpIGLhu48gxJFpIG7Dqm4gdsOsIMSRw7MgIlRodXnhur90IG5nYW5nIGdpw6EgdsOgbmciIGtow7RuZyBjw7JuIMSRxrDhu6NjIMOhcCBk4bulbmcgbuG7r2EuIE5nw6B5IG5heSB0aMOsIHRo4bq/IGdp4bubaSDEkeG7gXUgc+G7rSBk4bulbmcgIlRodXnhur90IG5nYW5nIGdpw6Egc+G7qWMgbXVhIiDEkeG7gyB0w61uaCB04bu3IGdpw6EgaOG7kWkgxJFvw6FpLiBMw70gdGh1eeG6v3QgUFBQIHPhur0gxJFp4buBdSBjaOG7iW5oIGhhaSDEkcahbiB24buLIHRp4buBbiB04buHIGPhu6dhIDIgcXXhu5FjIGdpYSBraMOhYyBuaGF1IG3DoCBzYXUga2hpIHF1eSDEkeG7lWkgc+G6vSBtdWEgxJHGsOG7o2MgY8O5bmcgbeG7mXQgZ2nhu48gaMOgbmcgaG/DoSBtw6AgY8OzIGdpw6EgdHLhu4sgdMawxqFuZyDEkcawxqFuZyBuaGF1LiBC4bufaSB2w6wgdGjhur8gbcOgIHThu7cgZ2nDoSBo4buRaSDEkW/DoWkgc+G6vSBi4buLIOG6o25oIGjGsOG7n25nIGLhu59pIGzhuqFtIHBow6F0IHbDoCBuaGnhu4F1IHnhur91IHThu5Ega2jDoWMgbGnDqm4gcXVhbiB04bubaSBnacOhIHRy4buLIGPhu6dhIGjDoG5nIGhvw6EuIA0KDQpU4bu3IGdpw6EgaOG7kWkgxJFvw6FpIMSRxrDhu6NjIHF1YW4gdMOibSBuaGnhu4F1IMSR4bq/biBsw6A6IFThu7cgZ2nDoSBo4buRaSDEkW/DoWkgZGFuaCBuZ2jEqWEgdsOgIHThu7cgZ2nDoSBo4buRaSDEkW/DoWkgdGjhu7FjIHThur8uIA0KDQotIFThu7cgZ2nDoSBo4buRaSDEkW/DoWkgZGFuaCBuZ2jEqWE6IEzDoCB04bu3IGzhu4cgdHJhbyDEkeG7lWkgZ2nhu69hIGPDoWMgxJHGoW4gduG7iyB0aeG7gW4gdOG7hyDhu58gY8OhYyBuxrDhu5tjIGtow6FjIG5oYXUgdsOgIMSRxrDhu6NjIHRo4buRbmcga8OqLCBjw7RuZyBi4buRIG3hu5dpIG5nw6B5IHF1YSBjw6FjIHBoxrDGoW5nIHRp4buHbiB0cnV54buBbiB0aMO0bmcuIFThu7cgZ2nDoSBo4buRaSDEkW/DoWkgZGFuaCBuZ2jEqWEgc+G6vSDEkcaw4bujYyBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgY8O0bmcgYuG7kSDEkeG6v24gduG7m2kgbeG7jWkgbmfGsOG7nWkuIA0KDQotIFThu7cgZ2nDoSBo4buRaSDEkW/DoWkgdGjhu7FjIHThur86IEzDoCB04bu3IGdpw6EgcGjhuqNuIMOhbmggc+G7sSB0xrDGoW5nIHF1YW4gc+G7qWMgbXVhIGdp4buvYSBoYWkgxJHGoW4gduG7iyB0aeG7gW4gdOG7hyB0cm9uZyBjw7luZyBt4buZdCB04bu3IGdpw6EuIFThu7cgZ2nDoSBo4buRaSDEkcaw4bujYyB4w6FjIMSR4buLbmggbmjGsCBzYXU6ICRU4bu3IGdpw6EgaOG7kWkgxJFvw6FpIHRo4buxYyB04bq/ID0gVOG7tyBnacOhIGjhu5FpIMSRb8OhaSooQ2jhu4kgc+G7kSBnacOhIHF14buRYyB04bq/L0No4buJIHPhu5EgZ2nDoSB0cm9uZyBuxrDhu5tjKSQNCg0KVOG7tyBnacOhIGjhu5FpIMSRb8OhaSBsdcO0biBsw6AgbeG7mXQgduG6pW4gxJHhu4EgxJFhdSDEkeG6p3UgY+G7p2EgQ2jDrW5oIHBo4bunIGtoaSBwaOG6o2kgxJFp4buBdSBjaOG7iW5oIHNhbyBjaG8gdGh14bqtbiBs4bujaSB2aeG7h2MgeHXhuqV0IGto4bqpdSB2w6Agbmjhuq1wIGto4bqpdS4gVsOsIHRo4bq/IG3DoCBDaMOtbmggcGjhu6cgY8OzIHRo4buDIGNhbiB0aGnhu4dwIMSR4buDIMSRaeG7gXUgY2jhu4luaCDEkcaw4bujYyB04bu3IGdpw6EgcXVhIG5o4buvbmcgdmnhu4djIHNhdTogxJBp4buBdSBjaOG7iW5oIGNow61uaCBzw6FjaCB0aeG7gW4gdOG7hyB2w6AgY8OibiBi4bqxbmcgbMawdSB0cuG7ryBuZ2/huqFpIHThu4cuIFbDrCB0aOG6vyBtw6AgY2hvIHRo4bqleSDEkcaw4bujYyB04bqnbSBxdWFuIHRy4buNbmcgY+G7p2EgdOG7tyBnacOhIGjhu5FpIMSRb8OhaSDEkeG7kWkgduG7m2kgbeG7mXQgcXXhu5FjIGdpYS4NCg0KIyMgKipMw70gdGh1eeG6v3QgduG7gSDEkeG7mSBiaeG6v24gxJHhu5luZyoqDQoNCsSQ4buZIGJp4bq/biDEkeG7mW5nIGNow61uaCBsw6Agc+G7sSB0aGF5IMSR4buVaSBj4bunYSBnacOhIHF1YSBjw6FjIHRo4budaSDEkWnhu4NtLiDEkOG7gyDEkW8gbMaw4budbmcgxJHGsOG7o2MgxJHhu5kgYmnhur9uIMSR4buZbmcgdGjDrCBwaMawxqFuZyBwaMOhcCB0aMaw4budbmcgZMO5bmcgbmjhuqV0IGzDoCB0w61uaCDEkeG7mSBs4buHY2ggY2h14bqpbiBj4bunYSBk4buvIGxp4buHdSDEkeG7gyB4ZW0gxJHhu5kgcGjDom4gdMOhbiB24buBIGdpw6EgbmjGsCB0aOG6vyBuw6BvLiDEkOG7mSBiaeG6v24gxJHhu5luZyBsw6AgbeG7mXQgdHJvbmcgbmjhu69uZyB54bq/dSB04buRIMSRw6FuaCBnacOhIMSRxrDhu6NjIHPhu7EgcuG7p2kgcm8gY+G7p2EgY8OhYyBz4bqjbiBwaOG6qW0gdMOgaSBjaMOtbmgsIG7hur91IG5oxrAgxJHhu5kgYmnhur9uIMSR4buZbmcgY8OgbmcgbOG7m24gdGjDrCBy4bunaSBybyBjw6BuZyBs4bubbiBuaMawbmcgYsO5IGzhuqFpIHRow6wgdGEgY8OzIMSRxrDhu6NjIGzhu6NpIG5odeG6rW4gY2FvIGjGoW4uIFbDrCB0aOG6vyB0cm9uZyBiw6BpIHRp4buDdSBsdeG6rW4gbsOgeSB0YSBwaMOibiB0w61jaCB4ZW0gbmjhu69uZyDhuqNuaCBoxrDhu59uZyBj4bunYSB04bu3IGdpw6EgxJHhu5FpIHbhu5tpIMSR4buZIGJp4bq/biDEkeG7mW5nIGPDuWEgZ2nDoSB2w6BuZywgxJHhu4MgeGVtIGtp4buDbSB0cmEgdsOgbmcgY8OzIHRo4bqtdCBz4buxIGzDoCBt4buZdCBrw6puaCDEkeG6p3UgdMawIGFuIHRvw6BuIGhheSBraMO0bmcuIA0KDQojICoqUGjGsMahbmcgcGjDoXAgdsOgIGThu68gbGnhu4d1IG5naGnDqm4gY+G7qXUqKg0KDQojIyAqKkThu68gbGnhu4d1IG5naGnDqm4gY+G7qXUqKiANCk5naGnDqm4gY+G7qXUgbsOgeSBz4bq9IGzhuqV5IGThu68gbGnhu4d1IGdpw6EgdsOgbmcgY+G7p2EgVmnhu4d0IE5hbSB2w6AgdOG7tyBnacOhIGjhu5FpIMSRb8OhaSBVU0QvVk5ELiDEkMOieSBsw6AgYuG7mSBk4buvIGxp4buHdSBjaHXhu5dpIHRo4budaSBnaWFuIHbDoCB0YSBz4bq9IHBow6JuIHTDrWNoIMSR4buDIHhlbSBz4buxIHTDoWMgxJHhu5luZyBj4bunYSB04bu3IGdpw6EgaOG7kWkgxJFvw6FpIMSR4bq/biBiaeG6v24gxJHhu5luZyBnacOhIHbDoG5nLiBE4buvIGxp4buHdSDEkcaw4bujYyBs4bqleSB04burIMSR4bqndSBuxINtIDIwMjIgxJHhur9uIGN14buRaSBuxINtIDIwMjMsIGThu68gbGnhu4d1IHPhur0gY8OzIHThuqduIHN14bqldCB0aGVvIG5nw6B5IMSR4buDIHRhIGPDsyB0aOG6pXkgxJHGsOG7o2Mgc+G7sSBsacOqbiB04bulYyBj4bunYSBk4buvIGxp4buHdS4gTeG6t2MgZMO5IHbhuq15IGThu68gbGnhu4d1IHPhur0gY8OzIG5oaeG7gXUgdGhp4bq/dSB4w7N0IGzDoCBz4bq9IGtow7RuZyBjw7MgbmfDoHkgdGjhu6kgYuG6o3ksIGNo4bunIG5o4bqtdCB2w6Agbmjhu69uZyBuZ8OgeSBuZ2jhu4kgbOG7hS4gxJDhu5kgbOG7m24gY+G7p2EgYuG7mSBk4buvIGxp4buHdSBz4bq9IMSR4bunIMSR4buDIHRhIGThu4UgZMOgbmcgcGjDom4gdMOtY2ggYuG6sW5nIMSR4buTIHRo4buLIHbDoCB0aOG7kW5nIGvDqiBtw7QgdOG6oy4gVG/DoG4gYuG7mSBk4buvIGxp4buHdSDEkcOjIMSRxrDhu6NjIHThu5VuZyBo4bujcCB0aOG7pyBjw7RuZyB2w6wgZ2nDoSB2w6BuZyBWaeG7h3QgTmFtIGtow7RuZyDEkcaw4bujYyB04buVbmcgaOG7o3AgbOG6oWkgdGjDoG5oIGZpbGUuY3N2IGhheSBmaWxlIGV4Y2VsIHThu6sgY8OhYyB3ZWIuDQoNCsSQ4bqndSB0acOqbiB0YSBz4bq9IG5o4bqtcCBk4buvIGxp4buHdSB2w6BvIFIgdsOgIHhlbSBj4bqldSB0csO6YyBj4bunYSBk4buvIGxp4buHdSBiYW8gZ+G7k20gbmjhu69uZyBnw6wuDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLGVjaG89RkFMU0V9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZ3JpZEV4dHJhKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShyZWFkeGwpDQpnb2xkIDwtIHJlYWRfZXhjZWwoIlRp4buDdSBsdeG6rW4ueGxzeCIsIA0KICAgICBzaGVldCA9ICJUcmFuZ190w61uaDQiLCBjb2xfdHlwZXMgPSBjKCJkYXRlIiwgDQogICAgICAgICAibnVtZXJpYyIsICJudW1lcmljIiwgIm51bWVyaWMiLCANCiAgICAgICAgICJza2lwIiwgInNraXAiKSkNCmBgYA0KDQpUaeG6v3AgxJHDsyB0YSBz4bq9IGxv4bqhaSBi4buPIG5o4buvbmcgbGnhu4d1IGLhu4sgdHLhu5FuZw0KYGBge3J9DQpnb2xkIDwtIG5hLm9taXQoZ29sZCkNCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KZ29sZCRgR2nDoSB2w6BuZ2AgPC0gZ29sZCRgR2nDoSB2w6BuZ2AvMTAwMA0KZ29sZCA8LSBnb2xkICU+JSByZW5hbWUoIlVTRC9WTkQiPSJBVUQvVk5EIikNCmBgYA0KDQpUYSBz4bq9IHhlbSBk4buvIGxp4buHdSBiYW8gZ+G7k20gbmjhu69uZyBnw6wgDQoNCmBgYHtyfQ0Kc3RyKGdvbGQpDQpgYGANCg0KVGhlbyBi4bqjbmcgdHLDqm4gdGjDrCB0YSB0aOG6pXkgxJHGsOG7o2M6IA0KDQoqIEThu68gbGnhu4d1IGPDsyA1MDEgcXVhbiBzw6F0IHbDoCA0IGJp4bq/biANCg0KKiAiTmfDoHkiOiBMw6AgYmnhur9uIHRo4buDIGhp4buHbiBuZ8OgeSBnaGkgbmjhuq1uIHF1YW4gc8OhdC4gxJDDonkgbMOgIGJp4bq/biBkYXRlIGPDsyDEkeG7i25oIGThuqFuZyBsw6AgeXl5eS1tbS1kZC4NCg0KKiAiUXXDvSI6IEzDoCBiaeG6v24gdGjhu4MgaGnhu4duIMSRxrDhu6NjIGzDoCBxdWFuIHPDoXQgxJFhbmcgdGh14buZYyBxdcO9IG7DoG8g4bufIHRyb25nIG7Eg20gdsOgIGPDsyDEkeG7i25oIGThuqFuZyBsw6AgbnVtYmVyaWMuDQoNCiogIkdpw6EgdsOgbmciOiBMw6AgYmnhur9uIHRo4buDIGhp4buHbiBnacOhIHRy4buLIGPhu6dhIHbDoG5nIHRyb25nIG5nw6B5IMSRxrDhu6NjIHF1YW4gc8OhdC4gQmnhur9uIGPDsyDEkcahbiB24buLIGzDoCB0cmnhu4d1L2zGsOG7o25nLg0KDQoqICJVU0QvVk5EIjogTMOgIGJp4bq/biB0aOG7gyBoaeG7h24gdOG7tyBnacOhIHRyb25nIG5nw6B5IMSRxrDhu6NjIHF1YW4gc8OhdC4NCg0KIyMgKipQaMawxqFuZyBwaMOhcCBuZ2hpw6puIGPhu6l1KioNCg0KVHJvbmcgbmdoacOqbiBj4bupdSBuw6B5IHRhIGNo4buJIHPhu60gZOG7pW5nIG5o4buvbmcgdGjhu5FuZyBrw6ogbcO0IHThuqMgdsOgIMSR4buTIHRo4buLIHRo4buRbmcga8OqIMSR4buDIG5ow6xuIHRo4bqleSDEkcaw4bujYyBz4buxIOG6o25oIGjGsOG7n25nIGPhu6dhIHThu7cgZ2nDoSBsw6puIGJp4bq/biDEkeG7mW5nIGPhu6dhIGdpw6EgdsOgbmcuIEtoaSBz4butIGThu6VuZyB0aOG7kW5nIGvDqiBtw7QgdOG6oyB0YSBz4bq9IHF1YW4gdMOibSDEkeG6v24gxJHhuqFpIGzGsOG7o25nIMSRbyBsxrDhu51uZyDEkeG7mSB04bqtcCB0cnVuZyB2w6AgcGjDom4gdMOhbiwgaGFpIMSR4bqhaSBsxrDhu6NuZyBuw6B5IHPhur0gY2hvIHRhIGJp4bq/dCDEkcaw4bujYyBk4buvIGxp4buHdSBjw7MgeHUgaMaw4bubbmcgdOG6rXAgdHJ1bmcgduG7gSDEkcOidSB2w6AgxJHhu5kgcGjDom4gdMOhbiBjw7Mgbmhp4buBdSBoYXkga2jDtG5nLiBDw6FjIGNo4buJIHPhu5Egc+G6vSDEkcaw4bujYyBxdWFuIHTDom0gdHJvbmcgYsOgaSB2aeG6v3QgbsOgeSBsw6AgdHJ1bmcgYsOsbmgsIHRydW5nIHbhu4sgdsOgIMSR4buZIGzhu4djaCBjaHXhuqluLiBW4buBIHBoxrDGoW5nIHBow6FwIMSR4buTIHRo4buLIHRo4buRbmcga8OqIHRow6wgbmjhu69uZyBiaeG7g3UgxJHhu5MgdGjGsOG7nW5nIHPhu60gZOG7pW5nIGzDoCBiYXJjaGFydCwgbGluZSBncmFwaCwgYm94LXBsb3QgxJHDonkgbMOgIGJhIGJp4buDdSDEkeG7kyBk4buFIGTDoG5nIGNobyB0YSBzbyBzw6FuaCBjw6FjIGdpw6EgdHLhu4sgduG7m2kgbmhhdS4gVHJvbmcgxJHDsyBiYXJjaGFydCBz4bq9IGNobyB0YSBzbyBzw6FuaCBnacOhIHRy4buLIGtoaSB0YSBwaMOibiByYSBjw6FjIHThu5Uga2jDoWMgbmhhdS4gTGluZSBncmFwaCBz4bq9IGNobyB0YSB0aOG6pXkgxJHGsOG7o2Mgc+G7sSBjaHV54buDbiDEkeG7mW5nIGPhu6dhIGThu68gbGnhu4d1IHRoZW8gdGjhu51pIGdpYW4gLiBCb3gtcGxvdCBz4bq9IGNobyB0YSB0aOG6pXkgxJHGsOG7o2Mgc+G7sSBwaMOibiBi4buRIGPhu6dhIGThu68gbGnhu4d1IG5oxrAgdGjhur8gbsOgby4NCg0KIyMgKipRdXkgdHLDrG5oIG5naGnDqm4gY+G7qXUqKg0KDQrEkOG6p3UgdGnDqm4gdGEgc+G6vSB0w61uaCB0b8OhbiBuaOG7r25nIMSR4bqhaSBsxrDhu6NuZyDEkeG6t2MgdHLGsG5nIGPhu6dhIGThu68gbGnhu4d1IHbDoCB24bq9IGJp4buDdSDEkeG7kyBib3hwbG90IMSR4buDIHhlbSBz4buxIHBow6JuIGLhu5EgY+G7p2EgZOG7ryBsaeG7h3UuIELGsOG7m2MgbsOgeSBz4bq9IGNobyBoaeG7g3UgxJHGsOG7o2MgZOG7ryBsaeG7h3UgY8OzIHh1IGjGsOG7m25nIHBow6JuIHBo4buRaSBk4buvIGxp4buHdSBuaMawIG7DoG8gdsOgIHhlbSBjb2kgZOG7ryBsaeG7h3UgbsOgeSBjw7MgxJHGsOG7o2MgeGVtIGzDoCBwaMOibiBwaOG7kWkgY2h14bqpbiBoYXkga2jDtG5nLiBDw6FjIGJp4bq/biBz4bq9IMSRxrDhu6NjIHTDrW5oIHRvw6FuIGzDoCBiaeG6v24gZ2nDoSB2w6BuZywgYmnhur9uIFVTRC9WTkQgdsOgIG3hu5l0IGJp4bq/biB04buxIHThuqFvIHJhIMSRw7MgbMOgIGJp4bq/biDEkeG7mSB0aGF5IMSR4buVaS4gDQoNClRp4bq/cCB0aGVvIHRhIHPhur0gduG6vSBsaW5lZ3JhcGggxJHhu4MgdGjhuqV5IMSRxrDhu6NjIHPhu7EgY2h1eeG7g24gxJHhu5luZyBj4bunYSBjw6FjIGJp4bq/bi4gUXVhIMSRw7MgdGEgeGVtIHjDqXQgxJHGsOG7o2MgY2h1eeG7g24gxJHhu5luZyBj4bunYSB04bu3IGdpw6EgY8OzIOG6o25oIGjGsOG7n25nIGfDrCDEkeG6v24gZ2nDoSB2w6BuZyBoYXkga2jDtG5nLiANCg0KU2F1IGPDuW5nIHRhIHPhur0gcGjDom4gdOG7lSB0aGVvIGPDoWMgdGnDqnUgY2jDrSDEkeG7gyBk4buFIGTDoG5nIHNvIHPDoW5oIGjGoW4uIFbDoCB0YSBz4bq9IHbhur0gYmnhu4N1IMSR4buTIHBow6JuIHTDoW4gxJHhu4MgeGVtIMSRxrDhu6NjIHPhu7Eg4bqjbmggaMaw4bufbmcgY+G7p2EgdOG7tyBnacOhIMSR4buRaSB24bubaSANCg0KIyAqKlF1w6EgdHLDrG5oIG5naGnDqm4gY+G7qXUqKg0KDQojIyAqKlThuqFvIHJhIGJp4bq/biBt4bubaSB2w6AgdMOtbmggdG/DoW4gY8OhaSDEkeG6oWkgbMaw4bujbmcgxJHhurdjIHRyxrBuZyoqDQoNClRhIHPhur0gdOG6oW8gcmEgaGFpIGJp4bq/biBt4bubaSDEkcOzIGzDoDogQmnhur9uIHRoYXkgxJHhu5VpIGdpw6EgdsOgbmcgduG7m2kga8O9IGhp4buHdSBsw6Agdm9nIHbDoCBiaeG6v24gdGhheSDEkeG7lWkgdOG7tyBnacOhIHbhu5tpIGvDvSBoaeG7h3UgbMOgIHZvZS4gVsOgIGPDtG5nIHRo4bupYyBz4bq9IMSRxrDhu6NjIHTDrW5oIG5oxrAgc2F1OiAkbG9nKHkodCkteSh0LTEpKSoxMDAkLg0KYGBge3IgZWNobz1UUlVFfQ0Kdm9nIDwtIHZlY3RvcigpDQp2b2UgPC0gdmVjdG9yKCkNCg0KZm9yKGkgaW4gMTo1MDEpew0KICAgIGlmIChpID09IDEpIHsNCiAgICAgICAgeCA8LSBOQX0gZWxzZXsNCiAgICAgICAgICAgIHZvZ1tpXT1yb3VuZChsb2coZ29sZCRgR2nDoSB2w6BuZ2BbaV0vZ29sZCRgR2nDoSB2w6BuZ2BbaS0xXSkqMTAwLDMpDQogICAgICAgICAgICB2b2VbaV09cm91bmQobG9nKGdvbGQkYFVTRC9WTkRgW2ldL2dvbGQkYFVTRC9WTkRgW2ktMV0pKjEwMCwzKX0NCn0NCmdvbGQgPC0gY2JpbmQoZ29sZCx2b2csdm9lKQ0KZGF0YXRhYmxlKGhlYWQoZ29sZCkscm93bmFtZXMgPSBGLGNvbG5hbWVzID0gYygiTmfDoHkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUXXDvSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHacOhIFbDoG5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlThu7cgZ2nDoSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGF5IMSR4buVaSBj4bunYSBnacOhIHbDoG5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoYXkgxJHhu5VpIGPhu6dhIHThu7cgZ2nDoSIpLA0KICAgICAgICAgIGNhcHRpb24gPSAiQuG6o25nIHRyw6xuaCBiw6B5IDYgZOG7ryBsaeG7h3UgxJHhuqd1ICIpDQpgYGANCg0KVGnhur9wIHRoZW8gdGEgdMOtbmggdG/DoW4gdGjhu5FuZyBrw6ogbcO0IHThuqMgY+G7p2EgY8OhYyBiaeG6v24uDQoNCiMjIyBC4bqjbmcgdGjhu5FuZyBrw6ogbcO0IHThuqMgduG7gSBnacOhIHbDoG5nDQoNCmBgYHtyfQ0KdGttdGcgPC0gZ29sZCAlPiUgc3VtbWFyaXNlKHBow6JuduG7izEgPSBxdWFudGlsZShgR2nDoSB2w6BuZ2AsIHByb2JzID0gMC4yNSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVhbiA9IG1lYW4oYEdpw6EgdsOgbmdgKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaMOibnbhu4syID0gcXVhbnRpbGUoYEdpw6EgdsOgbmdgLCBwcm9icyA9IDAuNSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGjDom524buLMyA9IHF1YW50aWxlKGBHacOhIHbDoG5nYCwgcHJvYnMgPSAwLjc1KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZD0gc2QoYEdpw6EgdsOgbmdgKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdyb3VwcyA9ICJkcm9wIikNCmRhdGF0YWJsZSh0a210Zywgcm93bmFtZXMgPSAiR2nDoSB2w6BuZyIsIGNvbG5hbWVzID0gYygiUGjDom4gduG7iyB0aOG7qSAxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcnVuZyBiw6xuaCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVHJ1bmcgduG7iyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGjDom4gduG7iyB0aOG7qSAzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLEkOG7mSBs4buHY2ggY2h14bqpbiIpLA0KICAgICAgICAgIGNhcHRpb24gPSAiQuG6o25nIDE6IFRo4buRbmcga8OqIG3DtCB04bqjIHbhu4EgZ2nDoSB2w6BuZyIpDQpgYGANCg0KVOG7qyBi4bqjbmcgdHLDqm4gY2hvIHRhIHRo4bqleSDEkcaw4bujYyBsw6A6DQoNCiogQ8OzIDI1JSBxdWFuIHPDoXQgY8OzIGdpw6EgdsOgbmcgZMaw4bubaSA2Ni4yIHRyaeG7h3UvbMaw4bujbmcuDQoNCiogVHJ1bmcgYsOsbmggZ2nDoSB2w6BuZyB04burIMSR4bqndSBuxINtIDIwMjIgxJHhur9uIGN14buRaSBuxINtIDIwMjMgbMOgIDY3IHRyaeG7h3UvbMaw4bujbmcuDQoNCiogQ8OzIDI1JSBxdWFuIHPDoXQgY8OzIGdpw6EgdsOgbmcgdHLDqm4gNjguMTIgdHJp4buHdS8gbMaw4bujbmcuDQoNCiogUGjhuqduIGzhu5tuIGdpw6EgdsOgbmcgc+G6vSBkYW8gxJHhu5luZyB0csOqbiBkxrDhu5tpIDIuNDkgdHJp4buHdS9sxrDhu6NuZyBzbyB24bubaSBnacOhIHRydW5nIGLDrG5oLg0KDQoqIFRhIHRo4bqleSDEkcaw4bujYyBsw6AgZ2nDoSB0cuG7iyB0cnVuZyBiw6xuaCBs4bubbiBoxqFuIGdpw6EgdHLhu4sgY+G7p2EgdHJ1bmcgduG7iyBjw7MgbmdoxKlhIGzDoCBuaOG7r25nIDUwJSBk4buvIGxp4buHdSBjw7JuIGzhuqFpIGPDsyBnacOhIHRy4buLIGzhu5tuIGjGoW4gbmhp4buBdSBzbyB24bubaSBnacOhIHRy4buLIGPhu6dhIHRydW5nIHbhu4suIMSQaeG7gXUgbsOgeSBjaG8gdGEgYmnhur90IMSRxrDhu6NjIGdpw6EgdsOgbmcgY8OzIHRo4budaSDEkWnhu4NtIHTEg25nIHLhuqV0IGNhbyBzbyB24bubaSBnacOhIHRy4buLIHRydW5nIGLDrG5oIGPhu6dhIGNow7puZyB0cm9uZyBnaWFpIMSRb+G6oW4gxJHhuqd1IG7Eg20gMjAyMiDEkeG6v24gY3Xhu5FpIDIwMjMuDQoNCiMjIyBC4bqjbmcgdGjhu5FuZyBrw6ogbcO0IHThuqMgdOG7tyBnacOhIFVTRC9WTkQNCg0KYGBge3J9DQp0a210ZXggPC0gZ29sZCAlPiUgc3VtbWFyaXNlKHBow6JuduG7izEgPSBxdWFudGlsZShgVVNEL1ZORGAsIHByb2JzID0gMC4yNSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVhbiA9IG1lYW4oYFVTRC9WTkRgKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaMOibnbhu4syID0gcXVhbnRpbGUoYFVTRC9WTkRgLCBwcm9icyA9IDAuNSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGjDom524buLMyA9IHF1YW50aWxlKGBVU0QvVk5EYCwgcHJvYnMgPSAwLjc1KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZD0gc2QoYFVTRC9WTkRgKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdyb3VwcyA9ICJkcm9wIikNCmRhdGF0YWJsZSh0a210ZXgsIHJvd25hbWVzID0gIlThu7cgZ2nDoSIsIGNvbG5hbWVzID0gYygiUGjDom4gduG7iyB0aOG7qSAxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcnVuZyBiw6xuaCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVHJ1bmcgduG7iyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGjDom4gduG7iyB0aOG7qSAzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLEkOG7mSBs4buHY2ggY2h14bqpbiIpLA0KICAgICAgICAgIGNhcHRpb24gPSAiQuG6o25nIDI6IFRo4buRbmcga8OqIG3DtCB04bqjIHThu7cgZ2nDoSBVU0QvVk5EIikNCmBgYA0KDQpU4burIGLhuqNuZyB0csOqbiBjaG8gdGEgdGjhuqV5IMSRxrDhu6NjIGzDoDogDQoNCiogQ8OzIDI1JSBxdWFuIHPDoXQga2hpIGdpw6EgdHLhu4sgMSBVU0Qgbmjhu48gaMahbiAyMzA4MCBWTkQuDQoNCiogR2nDoSB0cuG7iyB0cnVuZyBiw6xuaCAxIFVTRCB04burIMSR4bqndSBuxINtIDIwMjIgxJHhur9uIGN14buRaSBuxINtIDIwMjMgbMOgIDIzNDI4IFZORC4NCg0KKiBDw7MgMjUlIHF1YW4gc8OhdCBraGkgZ2nDoSB0cuG7iyAxIFVTRCBs4bubbiBoxqFuIDIzNzgwIFZORC4NCg0KKiBHacOhIHRy4buLIGPhu6dhIDEgVVNEIHRoxrDhu51uZyBiaeG6v24gxJHhu5luZyB0csOqbiBkxrDhu5tpIDU1NCBWTkQgc28gduG7m2kgZ2nDoSB0cuG7iyB0cnVuZyBiw6xuaC4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgxJHGsOG7o2MgdOG7tyBnacOhIGJp4bq/biDEkeG7mW5nIGtow7RuZyBxdcOhIG5oaeG7gXUgdsOgIHBo4bqnbiBs4bubbiBnacOhIHRy4buLIDEgVVNEIHPhur0gdHJvbmcga2hv4bqjbmcgMjMwMDAgVk5EIMSR4bq/biAyNDAwMCBWTkQuDQoNCiogVGEgdGjhuqV5IMSRxrDhu6NjIGdpw6EgdHLhu4sgdHJ1bmcgYsOsbmggdsOgIGdpw6EgdHLhu4sgdHJ1bmcgduG7iyBn4bqnbiBuaMawIGLhurFuZyB24bubaSBuaGF1IMSRaeG7gXUgbsOgeSBjaG8gdGEgdGjhuqV5IMSRxrDhu6NjIHLhurFuZyB04bu3IGdpw6EgbHXDtG4g4buVbiDEkeG7i25oIHRyb25nIG3hu5l0IGtob+G6o25nIGdpw6EuDQoNCiMjIyBC4bqjbmcgdGjhu5FuZyBrw6ogbcO0IHThuqMgxJHhu5kgdGhheSDEkeG7lWkgZ2nDoSB2w6BuZw0KYGBge3J9DQp0a210dm9nIDwtIGdvbGQgJT4lIHN1bW1hcmlzZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaMOibnbhu4sxID0gcXVhbnRpbGUodm9nLCBwcm9icyA9IDAuMjUsbmEucm0gPSBUKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWFuID0gbWVhbih2b2csbmEucm0gPSBUKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaMOibnbhu4syID0gcXVhbnRpbGUodm9nLCBwcm9icyA9IDAuNSxuYS5ybSA9IFQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBow6JuduG7izMgPSBxdWFudGlsZSh2b2csIHByb2JzID0gMC43NSxuYS5ybSA9IFQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNkPSBzZCh2b2csbmEucm09VCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ncm91cHMgPSAiZHJvcCIpDQpkYXRhdGFibGUodGttdHZvZywgcm93bmFtZXMgPSAixJDhu5kgdGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyIsIGNvbG5hbWVzID0gYygiUGjDom4gduG7iyB0aOG7qSAxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcnVuZyBiw6xuaCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVHJ1bmcgduG7iyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGjDom4gduG7iyB0aOG7qSAzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLEkOG7mSBs4buHY2ggY2h14bqpbiIpLA0KICAgICAgICAgIGNhcHRpb24gPSAiQuG6o25nIDM6IFRo4buRbmcga8OqIG3DtCB04bqjIMSR4buZIHRoYXkgxJHhu5VpIGdpw6EgdsOgbmciKQ0KYGBgDQoNClThu6sgYuG6o25nIHRyw6puIHRhIHRo4bqleSDEkcaw4bujYyBsw6A6DQoNCiogQ8OzIDI1JSBuZ8OgeSDEkcaw4bujYyBxdWFuIHPDoXQgZ2nDoSB2w6BuZyBz4bq9IGdp4bqjbSBkxrDhu5tpIDAuMTUlIHNvIHbhu5tpIGdpw6EgY+G7p2EgbmfDoHkgdHLGsOG7m2MuDQoNCiogVHJvbmcgdGjhu51pIGvhu7MgcXVhbiBzw6F0IHRow6wgZ2nDoSB2w6BuZyBz4bq9IHTEg25nIHRydW5nIGLDrG5oIGzDoCAwLjAzNiUgcXVhIG3hu5dpIG5nw6B5Lg0KDQoqIEPDsyAyNSUgbmfDoHkgxJHGsOG7o2MgcXVhbiBzw6F0IGdpw6EgdsOgbmcgc+G6vSB0xINuZyB0csOqbiAwLjIyMSUgc28gduG7m2kgZ2nDoSBj4bunYSBuZ8OgeSB0csaw4bubYy4NCg0KKiDEkOG7mSB0aGF5IMSR4buVaSB0aMaw4budbmcgYmnhur9uIMSR4buZbmcgdHLDqm4gZMaw4bubaSAwLjY4JSBzbyB24bubaSBnacOhIHRy4buLIHRydW5nIGLDrG5oLiDEkGnhu4F1IG7DoHkgY2hvIHRhIHRo4bqleSDEkcaw4bujYyDEkeG7mSB0aGF5IMSR4buVaSBj4bunYSBnacOhIHbDoG5nIGJp4bq/biDEkeG7mW5nIGtow6EgbOG7m24gcGjDuSBo4bujcCB24bubaSBraOG6s25nIMSR4buLbmggbMOgIHPhur0gY8OzIG5o4buvbmcgdGjhu51pIMSRaeG7g20gZ2nDoSB2w6BuZyB0xINuZyBy4bqldCBjYW8gc28gduG7m2kgZ2nDoSB0cnVuZyBiw6xuaC4NCg0KKiBUYSB0aOG6pXkgxJHGsOG7o2MgZ2nDoSB0cuG7iyB0cnVuZyBiw6xuaCB2w6AgZ2nDoSB0cuG7iyB0cnVuZyBiw6xuaCBn4bqnbiBuaMawIGLhurFuZyBuaGF1IGvhur90IGjhu6NwIHbhu5tpIMSR4buZIGJp4bq/biDEkeG7mW5nIGNhbyBuaMawIHRyw6puIHRow6wgdGEgYmnhur90IMSRxrDhu6NjIMSR4buZIGzhu5tuIHPhu7EgdMSDbmcgdsOgIHPhu7EgZ2nhuqNtIGtow7RuZyBjaMOqbmggbOG7h2NoIHF1w6Egbmhp4buBdSB24bubaSDEkeG7mSBs4bubbiBj4bunYSBz4buxIHTEg25nIG5oaeG7gXUgaMahbi4NCg0KIyMjIELhuqNuZyB0aOG7kW5nIGvDqiBtw7QgdOG6oyDEkeG7mSB0aGF5IMSR4buVaSB04bu3IGdpw6ENCg0KYGBge3J9DQp0a210dm9lIDwtIGdvbGQgJT4lIHN1bW1hcmlzZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaMOibnbhu4sxID0gcXVhbnRpbGUodm9lLCBwcm9icyA9IDAuMjUsbmEucm0gPSBUKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWFuID0gbWVhbih2b2UsbmEucm0gPSBUKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaMOibnbhu4syID0gcXVhbnRpbGUodm9lLCBwcm9icyA9IDAuNSxuYS5ybSA9IFQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBow6JuduG7izMgPSBxdWFudGlsZSh2b2UsIHByb2JzID0gMC43NSxuYS5ybSA9IFQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNkPSBzZCh2b2UsbmEucm09VCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ncm91cHMgPSAiZHJvcCIpDQpkYXRhdGFibGUodGttdHZvZSwgcm93bmFtZXMgPSAixJDhu5kgdGhheSDEkeG7lWkgY+G7p2EgdOG7tyBnacOhIiwgY29sbmFtZXMgPSBjKCJQaMOibiB24buLIHRo4bupIDEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRydW5nIGLDrG5oIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcnVuZyB24buLIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQaMOibiB24buLIHRo4bupIDMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIsSQ4buZIGzhu4djaCBjaHXhuqluIiksDQogICAgICAgICAgY2FwdGlvbiA9ICJC4bqjbmcgNDogVGjhu5FuZyBrw6ogbcO0IHThuqMgxJHhu5kgdGhheSDEkeG7lWkgdOG7tyBnacOhIikNCmBgYA0KDQpU4burIGLhuqNuZyB0csOqbiB0YSB0aOG6pXkgxJHGsOG7o2M6DQoNCiogQ8OzIDI1JSBuZ8OgeSDEkcaw4bujYyBxdWFuIHPDoXQgdOG7tyBnacOhIHPhur0gZ2nhuqNtIGTGsOG7m2kgMC4wNDMlIHNvIHbhu5tpIHThu7cgZ2nDoSBj4bunYSBuZ8OgeSB0csaw4bubYw0KDQoqIFRyb25nIHRo4budaSBr4buzIHF1YW4gc8OhdCDEkcaw4bujYyB0aMOsIHThu7cgZ2nDoSBz4bq9IHTEg25nIHRydW5nIGLDrG5oIDAuMDEyJSBxdWEgbeG7l2kgbmfDoHkNCg0KKiBDw7MgMjUlIG5nw6B5IMSRxrDhu6NjIHF1YW4gc8OhdCB04bu3IGdpw6Egc+G6vSB0xINuZyB0csOqbiAwLjA4MiUgc28gduG7m2kgdOG7tyBnacOhIGPhu6dhIG5nw6B5IHRyxrDhu5tjDQoNCiogxJDhu5kgdGhheSDEkeG7lWkgc+G6vSB0aMaw4budbmcgYmnhur9uIMSR4buZbmcgdHLDqm4gZMaw4bubaSAwLjE5JSBzbyB24bubaSBnacOhIHRydW5nIGLDrG5oLiBUYSBz4bq9IGThu4UgZMOgbmcgdGjhuqV5IMSRxrDhu6NjIGzDoCDEkeG7mSBiaeG6v24gxJHhu5luZyBuw6B5IGzDoCB0aOG6pXAgaMahbiAzIGzhuqduIHNvIHbhu5tpIMSR4buZIHRoYXkgxJHhu5VpIGPhu6dhIGdpw6EgdsOgbmcsIMSRaeG7gXUgbsOgeSBjaG8gdGjhuqV5IMSRxrDhu6NjIHThu7cgZ2nDoSBjw7MgxJHhu5kgdGhheSDEkeG7lWkga2jDoSBsw6Ag4buVbiDEkeG7i25oIHNvIHbhu5tpIGdpw6EgdsOgbmcgcGjDuSBo4bujcCB24bubaSBraOG6s25nIMSR4buLbmggdHLDqm4gYuG6o25nIHRo4buRbmcga8OqIG3DtCB04bqjIGPhu6dhIHThu7cgZ2nDoS4NCg0KKiBUYSB0aOG6pXkgxJHGsOG7o2MgdHJ1bmcgYsOsbmggdsOgIHRydW5nIHbhu4sgY+G7p2EgxJHhu5kgdGhheSDEkeG7lWkgdOG7tyBnacOhIGfhuqduIGLhurFuZyB24bubaSBuaGF1IHbDoCBr4bq/dCBo4bujcCB24bubaSDEkeG7mSBs4buHY2ggY2h14bqpbiBraMOhIOG7lW4gxJHhu4tuaCB0aMOsIHRhIGJp4bq/dCDEkcaw4bujYyB04bu3IGdpw6Egc+G6vSB0xINuZyBk4bqnbiB2w6Ag4buVbiDEkeG7i25oIHRoZW8gdGjhu51pIGdpYW4uDQoNCiMjICoqUGjDom4gdMOtY2ggYmnhu4N1IMSR4buTIGJveHBsb3QgY+G7p2EgY8OhYyBiaeG6v24qKg0KDQpWaeG7h2MgduG6vSBiaeG7g3UgxJHhu5MgYm94LXBsb3Qga2jDoSBxdWFuIHRy4buNbmcgY8OzIHRo4buDIGdpw7pwIHRhIGThu4UgZMOgbmcgc28gc8Ohbmggc+G7sSBwaMOibiBi4buRIGThu68gbGnhu4d1IGPhu6dhIDIgYmnhur9uLiBCxrDhu5tjIG7DoHkgdGEgc+G6vSBnacO6cCB0YSBxdWFuIHPDoXQgxJHGsOG7o2MgZOG7ryBsaeG7h3UgdHLhu7FjIHF1YW4gaMahbiB2w6Aga2nhu4NtIMSR4buLbmggbOG6oWkgbmjhu69uZyBuaOG6rW4geMOpdCBiw6puIHRyw6puLiBUYSBz4bq9IGNo4buJIHbhur0gYmnhu4N1IMSR4buTIGJveC1wbG90IGPhu6dhIDIgYmnhur9uIMSRw7MgbMOgIGdpw6EgdsOgbmcgdsOgIHThu7cgZ2nDoSDEkeG7gQ0KDQpgYGB7cn0NCmJwX2dwIDwtIGdvbGQgJT4lIGdncGxvdChhZXMoeT1gR2nDoSB2w6BuZ2ApKSsNCiAgICAgICAgZ2VvbV9ib3hwbG90KCkrDQogICAgICAgIGxhYnMoeD0iR2nDoSB2w6BuZyIseT0iVHJp4buHdS9MxrDhu6NuZyIsdGl0bGUgPSAiQmnhu4N1IMSR4buTIGJveC1wbG90IGPhu6dhIGdpw6EgdsOgbmciKSArDQogICAgICAgIHRoZW1lX2J3KCkNCmJwX2V4ICA8LSBnb2xkICU+JSBnZ3Bsb3QoYWVzKHk9YFVTRC9WTkRgKSkrDQogICAgICAgIGdlb21fYm94cGxvdCgpKw0KICAgICAgICBsYWJzKHg9IlThu7cgZ2nDoSIseT0iVk5EIix0aXRsZSA9ICJCaeG7g3UgxJHhu5MgYm94LXBsb3QgY+G7p2EgdOG7tyBnacOhIikgKw0KICAgICAgICB0aGVtZV9idygpDQpncmlkLmFycmFuZ2UoYnBfZ3AsIGJwX2V4LG5jb2w9MikNCmBgYA0KDQrhu54gYmnhu4N1IMSR4buTIGPhu6dhIGdpw6EgdsOgbmcgxJHDoyBjaG8gdGEgdGjhuqV5IMSRxrDhu6NjIG5o4bqtbiB4w6l0IOG7nyBwaOG6p24gdGjhu5FuZyBrw6ogbcO0IHThuqMgZ2nDoSB2w6BuZyB2w6AgxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyBsw6AgxJHDum5nLiDhu54gdHLDqm4gdGEgbmjhuq1uIHjDqXQgcuG6sW5nIHPhur0gY8OzIG5o4buvbmcgbMO6YyBnacOhIHbDoG5nIHPhur0gYuG7iyBs4buHY2gga2jhu49pIHLhuqV0IHhhIHbhu5tpIGdpw6EgdHLhu4sgdHJ1bmcgYsOsbmggdsOgIOG7nyB0csOqbiBiaeG7g3UgxJHhu5MgY8WpbmcgY2hvIHRhIHRo4bqleSDEkcaw4bujYyBjw7MgcuG6pXQgbmhp4buBdSBvdXQtbGllcihnacOhIHRy4buLIG5nb+G6oWkgdmkpIOG7nyBj4bqjIGhhaSDEkeG6p3UgY+G7p2EgYm94LXBsb3QuIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IMSRxrDhu6NjIGzDoCBrw6puaCDEkeG6p3UgdMawIGPDsyBy4bunaSBybyBraMOhIGzDoCBjYW8gdHJvbmcgZ2lhaSDEkW/huqFuIHThu6sgxJHhuqd1IDIwMjIgdsOgIGN14buRaSAyMDIzLiBOaMawbmcg4bufIHBo4bqnbiB0w61uaCB0aOG7kW5nIGvDqiBtw7QgdOG6oyDEkeG7mSB0aGF5IMSR4buVaSBjxaluZyBjaG8gdGEgYmnhur90IHLhurFuZyBnacOhIHRy4buLIHRydW5nIGLDrG5oIGPhu6dhIMSR4buZIHRoYXkgxJHhu5VpIGzDoCBt4buZdCBz4buRIGTGsMahbmcgY8OzIG5naMSpYSBsw6Aga8OqbmggxJHhuqd1IHTGsCB2w6BuZyB24bqrbiBjw7MgdGjhu4Mgc2luaCByYSBs4bujaSBuaHXhuq1uIG3hurdjIGTDuSDEkeG7mSBy4bunaSBybyBraMOhIGNhby4gVOG7qyDEkcOieSB0YSBjxaluZyBoaeG7g3UgxJHGsOG7o2MgZ2nDoSB2w6BuZyB0cm9uZyBnaWFpIMSRb+G6oW4gxJHhuqd1IDIwMjIgdsOgIGN14buRaSAyMDIzIGPDsyDEkeG7mSBiaeG6v24gxJHhu5luZyBraMOhIGNhbyBuaMawbmcgduG6q24gY8OzIMSRxrDhu6NjIGzhu6NpIG5odeG6rW4sIGNo4bupbmcgdOG7jyB2w6BuZyB24bqrbiBsw6AgMSBrw6puaCBhbiB0b8OgbiBjw7MgdGjhu4MgxJHhuqd1IHTGsC4gDQoNCuG7niBiaeG7g3UgxJHhu5MgY+G7p2EgdOG7tyBnacOhIHPhur0gY2hvIHRhIHRo4bqleSDEkcaw4bujYyBnacOhIHRy4buLIGPhu6dhIDEgVVNEIHPhur0gdGjGsOG7nW5nIG7hurFtIHRyb25nIGtob+G6o25nIHThu6sgMjMwMDAgVk5EIHbDoCAyNDAwMCBWTkQuIFbhuq15IHNvIHbhu5tpIG5o4bqtbiB4w6l0IGLDqm4gdHLDqm4gdGjDrCDEkcO6bmcgduG7m2kgdOG7tyBnacOhLiBUcsOqbiBiaeG7g3UgxJHhu5MgY8Wpbmcga2jDtG5nIGPDsyBi4bqldCBr4buzIG91dC1saWVyIG7DoG8sIMSRaeG7gXUgbsOgeSDEkcOjIGNo4bupbmcgdOG7jyB04bu3IGdpw6EgYmnhur9uIMSR4buZbmcga2jDoSDhu5VuIMSR4buLbmguIFThu6sgZ2nDoSB0cuG7iyB0cnVuZyBiw6xuaCBj4bunYSDEkeG7mSB0aGF5IMSR4buVaSB04bu3IGdpw6EgY2hvIHRhIHRo4bqleSDEkcaw4bujYyBsw6AgdOG7tyBnacOhIHTEg25nIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LiANCg0KVOG7m2kgxJHDonkgdGEgbmjhuq1uIMSR4buLbmggxJHGsOG7o2MgcuG6sW5nIGPhuqMgZ2nDoSB2w6BuZyB2w6AgdOG7tyBnacOhIHTEg25nIGdpYWkgxJFv4bqhbiB04burIMSR4bqndSBuxINtIDIwMjIgxJHhur9uIGN14buRaSBuxINtIDIwMjMuIFR1eSBuaGnDqm4gZ2nDoSB2w6BuZyBs4bqhaSBiaeG6v24gxJHhu5luZyBt4bqhbmggaMahbiBy4bqldCBuaGnhu4F1IHNvIHbhu5tpIHThu7cgZ2nDoS4gDQoNCiMjICoqUGjDom4gdMOtY2ggcXVhIGJp4buDdSDEkeG7kyBsaW5lIGdyYXBoKiogDQoNCkJp4buDdSDEkeG7kyBsaW5lIGdyYXBoIGzDoCBt4buZdCBiaeG7g3UgxJHhu5MgcGjDuSBo4bujcCBkw6BuaCBjaG8gbmjhu69uZyBk4buvIGxp4buHdSBjaHXhu5dpIHRo4budaSBnaWFuIHbDoCBuaOG6pXQgbMOgIGThu68gbGnhu4d1IHbhu4EgdMOgaSBjaMOtbmguIEJp4buDdSDEkeG7kyBuw6B5IGNobyB0YSB0aOG6pXkgxJHGsOG7o2MgcXXDoSB0csOsbmggY2h1eeG7g24gxJHhu5luZyBj4bunYSBk4buvIGxp4buHdS4gUXVhIGJp4buDdSDEkeG7kyBuw6B5IHRhIHPhur0gbmjDrG4gxJHGsOG7o2MgZOG7ryBsaeG7h3Ugc+G6vSB0xINuZyBnaeG6o20gbmjGsCB0aOG6vyBuw6BvIGPDsyBwaMO5IGjhu6NwIHbhu5tpIG5o4buvbmcgbmjhuq1uIHjDqXQgcGjDrWEgdHLDqm4gaGF5IGtow7RuZy4gVmnhu4djIHPhu60gZOG7pW5nIGxpbmUgZ3JhcGggc+G6vSBjaG8gdGEgdGjhuqV5IMSRxrDhu6NjIHh1IGjGsOG7m25nIGPhu6dhIGThu68gbGnhu4d1IHbDoCDEkeG7mSBiaeG6v24gxJHhu5luZyBj4bunYSBk4buvIGxp4buHdS4NCg0KIyMjIEJp4buDdSDEkeG7kyBsaW5lIGdyYXBoIGPhu6dhIGdpw6EgdsOgbmcgdsOgIHThu7cgZ2nDoQ0KYGBge3J9DQpsZ19ncCA8LSBnb2xkICU+JSBnZ3Bsb3QoYWVzKE5nw6B5LGBHacOhIHbDoG5nYCkpICsNCiAgICAgICAgZ2VvbV9saW5lKCkrDQogICAgICAgIGxhYnMoeD0iTmfDoHkiLHk9Ikdpw6EgdsOgbmciLHRpdGxlID0gIkJp4buDdSDEkeG7kyBsaW5lIGdyYXBoIGPhu6dhIGdpw6EgdsOgbmciKSsNCiAgICAgICAgdGhlbWVfYncoKQ0KDQpsZ19leCA8LSBnb2xkICU+JSBnZ3Bsb3QoYWVzKE5nw6B5LGBVU0QvVk5EYCkpICsNCiAgICAgICAgZ2VvbV9saW5lKCkrDQogICAgICAgIGxhYnMoeD0iTmfDoHkiLHk9IlZORCIsdGl0bGUgPSAiQmnhu4N1IMSR4buTIGxpbmUgZ3JhcGggY+G7p2EgdOG7tyBnacOhIikrDQogICAgICAgIHRoZW1lX2J3KCkNCg0KZ3JpZC5hcnJhbmdlKGxnX2dwLCBsZ19leCxuZXdwYWdlID0gVCkNCmBgYA0KDQpE4buxYSB2w6BvIGJp4buDdSDEkeG7kyBsaW5lIGdyYXBoIGPhu6dhIGdpw6EgdsOgbmcgbOG6oWkgY2hvIHRhIHRo4bqleSDEkWnhu4F1IG5nxrDhu6NjIGzhuqFpIGPhu6dhIGPDoWMgbmjhuq1uIHjDqXQuIFbhu5tpIG5o4bqtbiB4w6l0IHRyw6puIHRow6wgZ2nDoSB2w6BuZyBjw7MgYmnhur9uIMSR4buZbmcgbeG6oW5oIHRyb25nIHRo4budaSBr4buzIHF1YW4gc8OhdCB0aMOsIHNhdSBraGkgduG6vSByYSBiaeG7g3UgxJHhu5MgbGluZSBncmFwaCBs4bqhaSBjaG8gdGEgdGjhuqV5IDEga+G6v3QgcXXhuqMga2jDoWMuIFRoZW8gbmjGsCBiaeG7g3UgxJHhu5MgdGjDrCBn4bqnbiB0aMOhbmcgNC0yMDIyIGPDsyBt4buZdCDEkeG7o3QgdMSDbmcgbeG6oW5oIHbDoCBkYW8gxJHhu5luZyBn4bqnbiB4dW5nIHF1YW5oIGtodSB24buxYyDEkcaw4bujYyBuaMawbmcgc2F1IHRow6FuZyAwNy0yMDIyIHRow6wgY8OzIDEgY8O6IHPhu5FjIGzDoCBjaG8gZ2nDoSBnaeG6o20gbeG6oW5oIG5oxrBuZyBzYXUgxJHDsyBsaeG7gW4gcGjhu6VjIGjhu5NpIHRy4bufIGzhuqFpLiBU4burIHRow6FuZyAxMC0yMDIyIHRow6wgbMOgIG3hu5l0IMSRxrDhu51uZyBnacOhIMSRaSBuZ2FuZyBkYW8gdHJvbmcgdOG6p20ga2hv4bqjbmcgNjUgdHJp4buHdS9sxrDhu6NuZyDEkeG6v24gNjcuMjUgdHJp4buHdS9sxrDhu6NuZy4gxJDhur9uIHRow6FuZyAxMC0yMDIzIHRow6wgZ2nDoSBi4bqvdCDEkeG6p3UgdMSDbmcgxJHhur9uIMSR4buJbmggbMOgIGN14buRaSBuxINtIDIwMjMgduG7m2kgZ2nDoSBoxqFuIDc3IHRyaeG7h3UvIGzGsOG7o25nLiBRdWEgYmnhu4N1IMSR4buTIHRyw6puIHRow6wgY2hvIHRhIGhp4buDdSB2w6wgZ2nDoSB2w6BuZyBs4bqhaSBjw7MgxJHhu5kgbOG7h2NoIGNodeG6qW4gY2FvIG5oxrAgduG6rXksIGLhu59pIHbDrCBnacOhIHbDoG5nIMSRaSBuZ2FuZyDEkeG6v24gdOG6rW4gbeG7mXQgbsSDbSB2w6AgxJHhur9uIGN14buRaSBuxINtIGzhuqFpIGLhuq90IMSR4bqndSB0xINuZyBt4bqhbmggbmjGsCB24bqteS4gxJBp4buBdSDEkcOzIMSRw6MgbMOgbSBjaG8gZ2nDoSB0cuG7iyB0cnVuZyBiw6xuaCBs4bqhaSBu4bqxbSB0cm9uZyBraG/huqNuZyBkYW8gxJHhu5luZyB04burIHRow6FuZyAxMC0yMDIyIMSR4bq/biB0aMOhbmcgMTAtMjAyMy4gVsOgIMSRaeG7gXUgbsOgeSBjaG8gdGjhuqV5IMSRxrDhu6NjIHPhu7EgaGnhu4d1IHF14bqjIGPhu6dhIGxpbmUgZ3JhcGggdHJvbmcgdmnhu4djIHBow6JuIHTDrWNoIG5o4buvbmcgZOG7ryBsaeG7h3UgY2h14buXaSB0aOG7nWkgZ2lhbi4gTuG6v3UgY2jhu4kgxJHDoW5oIGdpw6EgcXVhIGPDoWMgY2jhu4kgc+G7kSB0aOG7kW5nIGvDqiBtw7QgdOG6oyB2w6AgYmnhu4N1IMSR4buTIGJveC1wbG90IHRow6wgc+G6vSBk4buFIMSRxrBhIHJhIG5o4buvbmcgbmjhuq1uIHjDqXQgc2FpIGzhuqdtIMSR4buRaSB24bubaSBk4buvIGxp4buHdSBjaHXhu5dpIHRo4budaSBnaWFuLiBTYXUga2hpIHbhur0gcmEgbGluZSBncmFwaCDEkcOjIGdpw7pwIHRhIG5ow6xuIHLDtSDEkcaw4bujYyBjaHV54buDbiDEkeG7mW5nIGPhu6dhIGdpw6EgdsOgbmcgcXVhIGPDoWMgdGjhu51pIMSRaeG7g20gLg0KDQpTYXUga2hpIHbhur0gYmnhu4N1IMSR4buTIGxpbmUgZ3JhcGggY+G7p2EgdOG7tyBnacOhIGzhuqFpIGtow6FjIHbhu5tpIG5o4bqtbiB4w6l0IGLDqm4gdHLDqm4uIFRhIHRo4bqleSDEkcaw4bujYyB04burIDAxLTIwMjIgxJHhur9uIDEwLTIwMjIgdGjDrCB04bu3IGdpw6EgxJFhbmcgY8OzIHh1IGjGsOG7m25nIMSRaSBsw6puIG5oxrBuZyBzYXUgxJHDsyBsw6AgbeG7mXQgY8O6IHPhu5FjIGdpw6EgbMOgbSBjaG8gdOG7tyBnacOhIMSR4bqhdCDEkeG7iW5oIGjGoW4gMjQ1MDAgVk5EIHbDoCDEkWkgbmdhbmcgxJHGsOG7o2MgMSB0aOG7nWkgZ2lhbiBy4buTaSBzYXUgxJHDsyBs4bqhaSBnaeG6o20geHXhu5FuZyB04bqnbSBraG/huqNuZyAyMzUwMCBWTkQuIELhuq90IMSR4bqndSB04burIDAxLTIwMjMgxJHDqW4gMDctMjAyMyB0aMOsIGdpw6EgZGFvIMSR4buZbmcgeHVuZyBxdWFuaCAyMzUwMCBWTkQuIFNhdSB0aMOhbmcgMDctMjAyMyB0aMOsIHThu7cgZ2nDoSBjw7MgeHUgaMaw4bubbmcgdMSDbmcgZ+G6p24gxJHhuqF0IMSR4bq/biAyNDUwMCBWTkQgc2F1IMSRw7MgdGjDrCBkYW8gxJHhu5luZyB4dW5nIHF1YW5oIDI0MDAwIFZORC4gxJBp4buBdSBjaG8gdGEgdGjhuqV5IMSRxrDhu6NjIHThu7cgZ2nDoSBjxaluZyBraMO0bmcgcXXDoSDhu5VuIMSR4buLbmggc28gduG7m2kgbmjhuq1uIHjDqXQg4bufIGLDqm4gdHLDqm4uIE3hurdjIGTDuSBjw7MgY8O6IHPhu5FjIGdpw6EgbmjGsG5nIHNhdSDEkcOzIHThu7cgZ2nDoSB24bqrbiBkYW8gxJHhu5luZyDhu5VuIMSR4buLbmggdsOgIGPDsyB4dSBoxrDhu5tuZyB0xINuZyBsw6puLiBOaMawbmcgc28gduG7m2kgbmjhuq1uIHjDqXQgdHLDqm4gdGjDrCB24bqrbiB0xrDGoW5nIMSR4buRaSDEkcO6bmcgYuG7n2kgdsOsIHRhIGNoxrBhIHRo4bqleSDEkcaw4bujYyBxdcOhIHRyw6xuaCBjaHV54buDbiDEkeG7mW5nIGPhu6dhIHThu7cgZ2nDoSBuw6puIGtow7RuZyBiaeG6v3QgxJHGsOG7o2MgdOG7tyBnacOhIGPDsyBt4buZdCBjw7ogc+G7kWMgZ2nDoSBuaMawIHbhuq15LiANCg0KUXVhIHBow6JuIHTDrWNoIGhhaSBiaeG7g3UgxJHhu5MgYsOqbiB0csOqbiB0aMOsIHRhIHbhuqtuIGNoxrBhIMSRw6FuaCBnacOhIMSRxrDhu6NjIHPhu7Eg4bqjbmggaMaw4bufbmcgxJHhur9uIMSR4buZIGJp4bq/biDEkeG7mW5nIGPhu6dhIGdpw6EgdsOgbmcuIE3hurdjIGTDuSDEkcOjIGPDsyBjw7ogc+G7kWMgZ2nDoSBj4bunYSB04bu3IGdpw6EgbmjGsG5nIG3DoCBnacOhIHbDoG5nIHbhuqtuIGtow7RuZyBi4buLIOG6o25oIGjGsOG7n25nIGfDrC4gTmjGsG5nIHRhIHbhuqtuIHhlbSB4w6l0IHRp4bq/cCBuaOG7r25nIHRpw6p1IGNow60gxJHhu4MgeGVtIGdpw6EgdsOgbmcgY8OzIOG6o25oIGjGsOG7n25nIGLhu59pIHThu7cgZ2nDoSBoYXkga2jDtG5nLg0KDQojIyMgQmnhu4N1IMSR4buTIGxpbmUgZ3JhcGggxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyB2w6AgdOG7tyBnacOhDQoNCmBgYHtyfQ0KbGdfdm9nIDwtIG5hLm9taXQoZ29sZCkgJT4lIGdncGxvdChhZXMoTmfDoHksdm9nKSkgKw0KICAgICAgICBnZW9tX2xpbmUoKSsNCiAgICAgICAgbGFicyh4PSJOZ8OgeSIseT0ixJDhu5kgdGhheSDEkeG7lWkiLHRpdGxlID0gIkJp4buDdSDEkeG7kyBsaW5lIGdyYXBoIMSR4buZIHRoYXkgxJHhu5VpIGPhu6dhIGdpw6EgdsOgbmciKSsNCiAgICAgICAgdGhlbWVfYncoKQ0KDQpsZ192b2UgPC0gbmEub21pdChnb2xkKSAlPiUgZ2dwbG90KGFlcyhOZ8OgeSx2b2UpKSArDQogICAgICAgIGdlb21fbGluZSgpKw0KICAgICAgICBsYWJzKHg9Ik5nw6B5Iix5PSLEkOG7mSB0aGF5IMSR4buVaSIsdGl0bGUgPSAiQmnhu4N1IMSR4buTIGxpbmUgZ3JhcGggxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgdOG7tyBnacOhIikrDQogICAgICAgIHRoZW1lX2J3KCkNCg0KZ3JpZC5hcnJhbmdlKGxnX3ZvZywgbGdfdm9lLG5ld3BhZ2UgPSBUKQ0KYGBgDQoNCuG7niBiaeG7g3UgxJHhu5MgxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyB0YSB0aOG6pXkgxJHGsOG7o2MgdGjhu51pIMSRaeG7g20gZ+G6p24gdGjDoW5nIDA0LSAyMDIyIHbDoCB0aOG7nWkgxJFp4buDbSB0aMOhbmcgMDctMjAyMiB0aMOsIGPDsyDEkeG7mSBkYW8gxJHhu5luZyBraMOhIGzhu5tuIMSRw6J5IGPFqW5nIGzDoCBsw7pjIG3DoCBnacOhIHbDoG5nIGPDsyDEkeG7mSB0aGF5IMSR4buVaSBs4bubbiDhu58gdGjhu51pIMSRaeG7g20gdGjDoW5nIDA0LTIwMjIgdGjDrCBnacOhIHbDoG5nIMSRYW5nIHTEg25nIGNhbyB2w6Ag4bufIHRo4budaSDEkWnhu4NtIHRow6FuZyAwNy0yMDIyIHRow6wgZ2nDoSB2w6BuZyDEkWFuZyBnaeG6o20gbeG6oW5oLiBOaMawbmcgc2F1IGhhaSB0aOG7nWkgxJFp4buDbSDEkcOzIHRow6wgxJHhu5kgdGhheSDEkeG7lWkgbHXDtG4gZGFvIMSR4buZbmcgcXVhbmggduG7iyB0csOtIGNo4bupbmcgdOG7jyBy4bqxbmcgZ2nDoSB2w6BuZyBjw7MgdGjhu51pIGdpYW4g4buVbiDEkeG7i25oIGtow6EgZMOgaS4gDQoNClbhu4EgcGjhuqduIMSR4buZIHRoYXkgxJHhu5VpIGPhu6dhIHThu7cgZ2nDoSB0aMOsIHRhIHRo4bqleSBjxaluZyDhu5VuIMSR4buLbmggc28gduG7m2kgZ2nDoSB2w6BuZy4gVHJvbmcga2hpIGdpw6EgdsOgbmcgY8OzIGJpw6puIMSR4buZIGRhbyDEkeG7mW5nIGzDoCA0JSB0aMOsIOG7nyB04bu3IGdpw6EgY2jhu4kgY8OzIGJpw6puIMSR4buZIGzDoCAxJSDEkWnhu4F1IG7DoHkgY2hvIHRow6F5IMSRxrDhu6NjIHLhurFuZyB04bu3IGdpw6EgY8OzIMSR4buZIHRoYXkgxJHhu5VpIGtow6EgbMOgIOG7lW4gxJHhu4tuaC4gTeG6t2MgZMO5IHbhuqtuIGPDsyB0aOG7nWkgxJFp4buDbSDEkeG7mSB0aGF5IMSR4buVaSBraMOhIGzhu5tuIG5oxrBuZyB24bqrbiB0aOG6pXAgaMahbiBzbyB24bubaSBnacOhIHbDoG5nLg0KDQpE4buxYSB2w6BvIGLhuqNuZyBiw6puIHRyw6puIHRow6wgY2hvIHRo4bqleSDEkcaw4bujYyBuaOG7r25nIGzDumMgdOG7tyBnacOhIGPDsyDEkeG7mSB0aGF5IMSR4buVaSBjYW8gdGjDrCBraMO0bmcgdHLDuW5nIHbDoG8gbmjhu69uZyB0aOG7nWkgxJFp4buDbSBnacOhIHbDoG5nIGPDsyDEkeG7mSB0aGF5IMSR4buVaSBjYW8uIMSQaeG7gXUgbsOgeSBjxaluZyBsw6BtIGNobyB0YSByw7UgxJHGsOG7o2MgcuG6sW5nIGtoaSB04bu3IGdpw6EgdGhheSDEkeG7lWkgbeG6oW5oIHRow6wgduG6q24ga2jDtG5nIHTDoWMgxJHhu5luZyDEkeG6v24gxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgdsOgbmcuIFLDtSByw6BuZyBuaOG6pXQgbMOgIOG7nyB0aOG7nWkgxJFp4buDbSBjdeG7kWkgbsSDbSAyMDIyIHRow6wgdOG7tyBnacOhIGPDsyBz4buxIGdp4bqjbSBt4bqhbmggeHXhu5FuZyAxJSBuaMawbmcga2hpIG5ow6xuIHbhu4EgZ2nDoSB2w6BuZyB0aMOsIGPFqW5nIGtow7RuZyDhuqNuaCBoxrDhu59uZyBnw6wgdOG7m2kgbmjhu69uZyB0aOG7nWkgxJFp4buDbSBzYXUgxJHDsy4gDQoNCiMjIFBow6JuIHTDrWNoIHF1YSBiaeG7g3UgxJHhu5MgYmFyY2hhcnQNCg0KVGEgc+G6vSB04bqhbyByYSB0aMOqbSBiaeG6v24gbeG7m2kuIEJp4bq/biB24buBIHNvIHPDoW5oIHThu7cgZ2nDoSB24bubaSBnacOhIHRy4buLIHRydW5nIHbhu4sgY+G7p2EgdOG7tyBnacOhIHPhur0gxJHGsOG7o2Mga8O9IGhp4buHdSBsw6AgIk3hu6ljIHThu7cgZ2nDoSIsIGJp4bq/biBuw6B5IHPhur0gZ8OhbiAiQ2FvIiBraGkgdOG7tyBnacOhIGNhbyBoxqFuIGhv4bq3YyBi4bqxbmcgdHJ1bmcgYsOsbmggdsOgIGfDoW4gIlRo4bqlcCIgVuG7m2kgdHLGsOG7nW5nIGjhu6NwIG5nxrDhu6NjIGzhuqFpLiBCaeG6v24gduG7gSBwaMOibiByYSBraGkgbsOgbyB04bu3IGdpw6EgZ2nhuqNtIHbDoCB04bu3IGdpw6EgdMSDbmcgc+G6vSDEkcaw4bujYyBrw70gaGnhu4d1IGzDoCAiVGhheSDEkeG7lWkiLCBraGkgxJHhu5kgYmnhur9uIMSR4buZbmcgbMOgIGTGsMahbmcgdGjDrCB0YSBz4bq9IGfDoW4gbMOgICJUxINuZyIgdsOgIG5nxrDhu6NjIGzhuqFpIHRow6wgZ8OhbiBsw6AgIkdp4bqjbSIuIFZp4buHYyBuw6B5IG5o4bqxbSB4ZW0gc+G7sSBraMOhYyBiaeG7h3QgY+G7p2EgZ2nDoSB2w6BuZyB0cm9uZyBoYWkgdHLGsOG7nW5nIGjhu6NwLiANCg0KYGBge3J9DQpnb2xkJGBN4bupYyB04bu3IGdpw6FgIDwtIGlmZWxzZShnb2xkJGBVU0QvVk5EYD49bWVhbihnb2xkJGBVU0QvVk5EYCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRo4bqlcCIpDQpnb2xkJGBUaGF5IMSR4buVaWAgPC0gaWZlbHNlKGdvbGQkdm9lPj0wLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiVMSDbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiR2nhuqNtIikNCmRhdGF0YWJsZShoZWFkKGdvbGQpLHJvd25hbWVzID0gRixjb2xuYW1lcyA9IGMoIk5nw6B5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlF1w70iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2nDoSBWw6BuZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJU4bu3IGdpw6EiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGF5IMSR4buVaSBj4bunYSB04bu3IGdpw6EiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTeG7qWMgdOG7tyBnacOhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoYXkgxJHhu5VpIiksDQogICAgICAgICAgY2FwdGlvbiA9ICJC4bqjbmcgdHLDrG5oIGLDoHkgNiBk4buvIGxp4buHdSDEkeG6p3UgIikNCmBgYA0KDQpTYXUgxJHDonkgdGEgc+G6vSBiaeG7g3UgxJHhu5MgYmFyY2hhcnQgdGhlbyAyIGJp4bq/biB0csOqbiANCg0KYGBge3J9DQpiY19tdGcgPC0gZ29sZCAlPiUgZ3JvdXBfYnkoYE3hu6ljIHThu7cgZ2nDoWApICU+JQ0KICAgICAgICBzdW1tYXJpc2UobT1zZChgR2nDoSB2w6BuZ2AsbmEucm09VCkpICU+JSANCiAgICAgICAgZ2dwbG90KGFlcyh4PWBN4bupYyB04bu3IGdpw6FgLHk9bSkpKw0KICAgICAgICBnZW9tX2NvbChwb3NpdGlvbj0iZG9kZ2UiLGZpbGw9ImJsYWNrIixuYS5ybSA9IFQpKw0KICAgICAgICBnZW9tX3RleHQoYWVzKGxhYmVsPXJvdW5kKG0sMikpLHZqdXN0PTIsY29sb3I9IndoaXRlIixzaXplLnVuaXQgPSAibW0iKSsNCiAgICAgICAgbGFicyh4PSJN4bupYyB04bu3IGdpw6EiLHk9IkJp4bq/biDEkeG7mW5nIGdpw6EgdsOgbmciLHRpdGxlID0gIsSQ4buTIHRo4buLIGJhcmNoYXJ0IHRoZW8gbeG7qWMgdOG7tyBnacOhIikNCg0KYmNfdGQgPC0gbmEub21pdChnb2xkKSAlPiUgZ3JvdXBfYnkoYFRoYXkgxJHhu5VpYCkgJT4lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyaXNlKG09bWVhbih2b2csbmEucm09VCkpICU+JSANCiAgICAgICAgZ2dwbG90KGFlcyh4PWBUaGF5IMSR4buVaWAseT1tKSkrDQogICAgICAgIGdlb21fY29sKHBvc2l0aW9uPSJkb2RnZSIsZmlsbD0iYmxhY2siLG5hLnJtID0gVCkrDQogICAgICAgIGdlb21fdGV4dChhZXMobGFiZWw9cm91bmQobSwyKSksdmp1c3Q9Mixjb2xvcj0id2hpdGUiLHNpemUudW5pdCA9ICJtbSIpKw0KICAgICAgICBsYWJzKHg9IlRoYXkgxJHhu5VpIix5PSLEkOG7mSB0aGF5IMSR4buVaSB0cnVuZyBiw6xuaCIsdGl0bGUgPSAixJDhu5MgdGjhu4sgYmFyY2hhcnQgdGhlbyBz4buxIHRoYXkgxJHhu5VpIikNCmdyaWQuYXJyYW5nZShiY19tdGcsIGJjX3RkLG5ld3BhZ2UgPSBUKQ0KYGBgDQoNClRhIHRo4bqleSDEkcaw4bujYyBraGkgdOG7tyBnacOhIGNhbyBoxqFuIG3hu6ljIHRydW5nIGLDrG5oIHRow6wgZ2nDoSB2w6BuZyBiaeG6v24gxJHhu5luZyBt4bqhbmggaMahbiBraGkgdOG7tyBnacOhIGTGsOG7m2kgbeG7qWMgdHJ1bmcgYsOsbmguIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IHThu7cgZ2nDoSBjxaluZyDhuqNuaCBoxrDhu59uZyAxIHBo4bqnbiDEkcOqbiBnacOhIHbDoG5nIG5oxrAga2jDtG5nIMSRw6FuZyBr4buDLiBWw6Aga2hpIHhlbSB4w6l0IHbhu4Egc+G7sSB0aGF5IMSR4buVaSBraGkgZ2nDoSB0xINuZyBob+G6t2MgZ2nhuqNtIHRow6wgxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyBjxaluZyBraMO0bmcgY2jDqm5oIGzhu4djaCBxdcOhIG5oaeG7gXUuIEvhur90IGjhu6NwIGJp4buDdSDEkeG7kyBsaW5lIGdhcnBoIHbDoCBiaeG7g3UgxJHhu5MgYmFyIGNoYXJ0IHRow6wgdGEgc+G6vSB0aOG6pXkgxJHGsOG7o2MgdOG7tyBnacOhIHTEg25nIHRyxrDhu5tjIGdpw6EgdsOgbmcgMSBxdcO9IG7Dqm4gbMO6YyB04bu3IGdpw6EgY2FvIGjGoW4gbeG7qWMgdHJ1bmcgYsOsbmggdGjDrCDEkcOieSBjxaluZyBsw6AgZ2nDoSB2w6BuZyDEkWFuZyBk4bqnbiB0xINuZyBsw6puIMSR4bq/biDEkeG7iW5oIG7Dqm4gxJHhu5kgYmnhur9uIMSR4buZbmcgc+G6vSBjYW8gaMahbiBzbyB24bubaSBsw7pjIHThu7cgZ2nDoSDhu58gZMaw4bubaSBt4bupYyB0cnVuZyBiw6xuaC4gTeG6t2MgZMO5IG5oxrAgduG6rXkgdGjDrCB04bu3IGdpw6EgY8Wpbmcga2jDtG5nIOG6o25oIGjGsOG7n25nIG5oaeG7gXUgcXVhIGJp4buDdSDEkeG7kyBz4buxIHRoYXkgxJHhu5VpIGtoaSB04bu3IGdpw6EgdMSDbmcgaGF5IHThu7cgZ2nDoSBnaeG6o20gdGjDrCDEkeG7mSB0aGF5IMSR4buVaSBj4bunYSBnacOhIHbDoG5nIGPFqW5nIGtow7RuZyBjaMOqbmggbOG7h2NoIHF1w6Egbmhp4buBdS4NCg0KIyBL4bq/dCBsdeG6rW4gY+G7p2EgbmdoacOqbiBj4bupdQ0KDQojIyBL4bq/dCBsdeG6rW4NCg0KTeG7pWMgdGnDqnUgY+G7p2EgdGnhu4N1IGx14bqtbiBuw6B5IGzDoCBuZ2hpw6puIGPhu6l1IHbhu4Egc+G7sSDhuqNuaCBoxrDhu59uZyBj4bunYSB04bu3IGdpw6EgxJHhur9uIMSR4buZIGJp4bq/biDEkeG7mW5nIGPhu6dhIGdpw6EgdsOgbmcuIFThu6sga+G6v3QgcXXhuqMgc+G6vSBnacO6cCBuaOG7r25nIG5ow6Aga2luaCB04bq/IGPDsyB0aMOqbSB0aMO0bmcgdGluIMSR4buDIMSRw6FuaCBnacOhIMSRxrDhu6NjIGPDsyBuw6puIGNo4buNbiBiaeG6v24gbMOgIHThu7cgZ2nDoSBraGkgaOG7jSBwaMOibiB0w61jaCB24buBIGdpw6EgdsOgbmcgaGF5IGtow7RuZy4gSMahbiBu4buvYSBiw6BpIHZp4bq/dCBjxaluZyBwaMOibiB0w61jaCB4ZW0gdsOgbmcgY8OzIHBo4bqjaSBt4buZdCBrw6puaCDhu5VuIMSR4buLbmggaGF5IGtow7RuZyBxdWEgcGjDom4gdMOtY2ggYmnhu4N1IMSR4buTIGxpbmUgZ3JhcGggdsOgIHBow6JuIHTDrWNoIHRo4buRbmcga8OqIG3DtCB04bqjIGPhu6dhIMSR4buZIHRoYXkgxJHhu5VpIGdpw6EgdsOgbmcuIA0KDQpU4burIG5o4buvbmcga+G6v3QgcXXhuqMgY+G7p2EgYmnhu4N1IMSR4buTIHbDoCBuaOG7r25nIG5o4bqtbiB4w6l0IGLDqm4gdHLDqm4gdGjDrCBjaG8gdGjhuqV5IMSRxrDhu6NjIGzDoCB04bu3IGdpw6Ega2jDtG5nIOG6o25oIGjGsOG7n25nIHF1w6Egbmhp4buBdSDEkeG6v24gYmnhur9uIMSR4buZbmcgY+G7p2EgZ2nDoSB2w6BuZy4gTmjhu69uZyBjw7ogc+G7kWMgY+G7p2EgZ2nDoSB2w6BuZyBob+G6t2MgdOG7tyBnacOhIMSR4buBdSBraMO0bmcg4bqjbmggaMaw4bufbmcgxJHhur9uIG5oYXUgcXXDoSBuaGnhu4F1LiBLaGkgcGjDom4gdMOtY2ggduG7gSDEkeG7mSB0aGF5IMSR4buVaSBj4bunYSB04bu3IGdpw6EgdGjDrCB0YSB0aOG6pXkgxJHGsOG7o2MgbeG6t2MgZMO5IMSRw6MgY8OzIHPhu7EgdGhheSDEkeG7lWkga2jDoSBt4bqhbmgg4bufIHRo4budaSDEkWnhu4NtIGN14buRaSBuxINtIDIwMjIgbmjGsG5nIHNhdSDEkcOzIHRow6wgxJHhu5kgdGhheSDEkeG7lWkgY+G7p2EgZ2nDoSB2w6BuZyB24bqrbiB0aeG6v3AgdOG7pWMgxJFpIG5nYW5nLiBU4burIG5o4buvbmcgxJHDoW5oIGdpw6EgdHLDqm4gdGjDrCBiaeG6v24gdOG7tyBnacOhIGtow7RuZyBwaMO5IGjhu6NwIGtoaSB0YSBwaMOibiB0w61jaCB24buBIGdpw6EgdsOgbmcgaGF5IGJp4bq/biDEkeG7mW5nIGPhu6dhIGdpw6EgdsOgbmcgdsOgIGPFqW5nIGtow7RuZyBwaMO5IGjhu6NwIGtoaSBz4butIGThu6VuZyDEkeG7gyBk4buxIGLDoW8gxJHGsOG7o2MgZ2nDoSB2w6BuZyB0cm9uZyB0xrDGoW5nIGxhaS4NCg0KIyMgSOG6oW4gY2jhur8gY+G7p2EgbmdoacOqbiBj4bupdQ0KDQpCw6BpIHZp4bq/dCBuw6B5IGNo4buJIHPhu60gZOG7pW5nIG5o4buvbmcgcGjGsMahbmcgcGjDoXAgdGjhu5FuZyBrw6ogY8ahIGLhuqNuIG7Dqm4gY2jGsGEgdGjhu4MgbmjDrG4gc8OidSDEkcaw4bujYyBjw6FjIHbhuqVuIMSR4buBIGdp4buvYSBoYWkgYmnhur9uLiBC4bufaSB2w6wga2nhur9uIHRo4bupYyBoaeG7h24gZ2nhu50gY+G7p2EgbmfGsOG7nWkgbmdoacOqbiBj4bupdSBjaMawYSB0aeG6v3AgY+G6rW4gxJHGsOG7o2Mgbmjhu69uZyBwaMawxqFuZyBwaMOhcCBwaMOibiB0w61jaCBuw6JuZyBjYW8gaMahbiBuaMawOiBwaMOibiB0w61jaCBo4buTaSBxdXksIG3DtCBow6xuaCBWQVIgaG/hurdjIFZFQ00uIENow61uaCB2w6wgbmjGsCB0aOG6vyBz4bq9IGtow7RuZyB0aOG7gyDEkcOhbmggZ2nDoSDEkcaw4bujYyBi4bqxbmcgY8OhYyBraeG7g20gxJHhu4tuaCB0aOG7kW5nIGvDqiBjaG8gbmjhu69uZyBiaeG6v24gY+G6p24gbmdoacOqbiBj4bupdSB2w6Aga2jDtG5nIMSRw6FuaCBnacOhIMSRxrDhu6NjIGtoaSBjw7Mgbmjhu69uZyBjw7ogc+G7kWMgbeG7m2kgdGjDrCBnacOhIHbDoG5nIGPDsyB0aGF5IMSR4buVaSBoYXkga2jDtG5nLiANCg0KIyMgSMaw4bubbmcgcGjDoXQgdHJp4buDbiBuZ2hpw6puIGPhu6l1DQoNClbhu4EgZ2nDoSB2w6BuZyB0aMOsIHPhur0gY8OzIGdpw6EgdsOgbmcgdHJvbmcgbsaw4bubYyB2w6AgZ2nDoSB2w6BuZyB0aOG6vyBnaeG7m2kgbsOqbiB0YSBjw7MgdGjhu4MgbeG7nyBy4buZbmcgcmEgYuG6sW5nIHZp4buHYyBwaMOibiB0w61jaCBt4buRaSB0xrDGoW5nIHF1YW4gZ2nhu69hIGdpw6EgdsOgbmcgdGjhur8gZ2nhu5tpIHbDoCBnacOhIHbDoG5nIHRyb25nIG7GsOG7m2MgxJFp4buBdSBuw6B5IGPDsyB0aOG7gyBjaG8gdGjhuqV5IMSRxrDhu6NjIGdpw6EgdsOgbmcgdHJvbmcgbsaw4bubYyBjw7MgcGjhu6UgdGh14buZYyB2w6BvIGdpw6EgdsOgbmcgdGjhur8gZ2nhu5tpIGhheSBraMO0bmcuIEPDoWMgbmjDoCDEkeG6p3UgdMawIHRoxrDhu51uZyBxdWFuIHTDom0gxJHhur9uIHThu7cgc3XhuqV0IHNpbmggbOG7nWkgY+G7p2EgY8OhYyBz4bqjbiBwaOG6qW0gdMOgaSBjaMOtbmggdsOgIHRyb25nIGRhbmggbeG7pWMgY+G7p2EgaOG7jSB0aMaw4budbmcgY8OzIG3hu5l0IHBo4bqnbiBwaMOibiBi4buVIGNobyB0aeG7gW4gZ+G7rWkgbmfDom4gaMOgbmcgeGVtIG5oxrAgbMOgIG5ndeG7k24gbMOjaSBzdeG6pXQgcGhpIHLhu6dpIHJvLCB04burIMSRw6J5IHRhIGPDsyB0aOG7gyBwaMOibiB0w61jaCB04bu3IHN14bqldCBs4bujaSBuaHXhuq1uIGPhu6dhIGdpw6EgdsOgbmcgdsOgIGzDo2kgc3XhuqV0IG5nw6JuIGjDoG5nIGPDsyBxdWFuIGjhu4cgbmjGsCB0aOG6vyBuw6BvIMSR4buDIGdpw7pwIGPDoWMgbmjDoCDEkeG6p3UgdMawIHBow6JuIGLhu5Ugbmd14buTbiB24buRbiBj4bunYSBo4buNIMSR4buDIHThu5FpIMawdSBs4bujaSBuaHXhuq1uLiBWw6AgdGEgY8OzIHRo4buDIHPhu60gZOG7pW5nIG5o4buvbmcgcGjGsMahbmcgcGjDoXAgbsOibmcgY2FvIGjGoW4gbmjGsCBwaMOibiB0w61jaCBo4buTaSBxdXkgaG/hurdjIHPhu60gZOG7pW5nIGPDoWMgbcO0IGjDrG5oIHbhu4EgY2h14buXaSB0aOG7nWkgZ2lhbiBuaMawIFZBUiwgVkVDTSDEkeG7gyBwaMOibiB0w61jaCDEkcaw4bujYyBt4buRaSBxdWFuIGjhu4cgY+G7p2EgY8OhYyBiaeG6v24gbmjGsCB0csOqbi4gDQoNCiMgVMOgaSBsaeG7h3UgdGhhbSBraOG6o28NCg0KVMaw4budbmcsIFQuTS4gKDIwMjMpLiAqRGF0YSBtYW5pcHVsYXRpb24qDQoNClTGsOG7nW5nLCBULk0uICgyMDIzKS4gKkRhdGEgVmlzdWFsaXphdGlvbioNCg0KVGjGsCwgVC5OLk4uQSAoMjAyMSkuICpIxrDhu5tuZyBk4bqrbiB04buxIGjhu41jIGtpbmggdOG6vyB2xKkgbcO0KjogQuG7mSBUw6BpIGNow61uaA0KDQpGaW5oYXk7KlbDrCBzYW8gdsOgbmcgY8OzIMSRxrDhu6NjIHZhaSB0csOyIHRp4buBbiB04buHIHRyw6puIHRo4bq/IGdp4bubaT8qIA0KDQooaHR0cHM6Ly93d3cuZmluaGF5LmNvbS52bi9lbi92aS1zYW8tdmFuZy1jby1kdW9jLXZhaS10cm8tdGllbi10ZSM6fjp0ZXh0PVRyb25nJTIwbCVFMSVCQiU4QmNoJTIwcyVFMSVCQiVBRCUyMGtpbmglMjB0JUUxJUJBJUJGJTJDJTIwdGklRTElQkIlODFuJTIwdiVDMyVBMG5nJTIwJUM0JTkxJUMzJUEzLHRpJUUxJUJCJTgxbiUyMHQlRTElQkIlODclMjB0aGFuaCUyMHRvJUMzJUExbiUyQyUyMHRyYW8lMjAlQzQlOTElRTElQkIlOTVpJTIwaCVDMyVBMG5nJTIwaCVDMyVCM2EuKQ0KDQo=