I.Giới thiệu indicator NY.GDP.MKTP.CD
ind <- WDIsearch('GDP')
p <- WDI(indicator = 'NY.GDP.MKTP.CD', country = c('VNM'))
d <- p %>% select(year,NY.GDP.MKTP.CD)
d <- na.omit(d)
names(d) <- c('year','GDP')
head(d,9)
## year GDP
## 1 2022 408802378905
## 2 2021 366137569122
## 3 2020 346615738538
## 4 2019 334365270497
## 5 2018 310106478395
## 6 2017 281353605987
## 7 2016 257096001178
## 8 2015 239258328382
## 9 2014 233451469643
Câu lệnh R WDI(indicator = ‘NY.GDP.MKTP.CD’, country = c(‘VNM’)) được
sử dụng để truy xuất dữ liệu về Tổng sản phẩm quốc nội (GDP) danh nghĩa
của Việt Nam từ World Development Indicators (WDI).
Cụ thể:
- indicator = ‘NY.GDP.MKTP.CD’ cho biết chỉ báo mà chúng ta muốn truy
xuất là GDP danh nghĩa, được mã hóa là’NY.GDP.MKTP.CD’ trong WDI.
- country = c(‘VNM’) cho biết quốc gia mà chúng ta muốn truy xuất dữ
liệu là Việt Nam, được mã hóa là ‘VNM’ trong WDI.
Tổng sản phẩm quốc nội (GDP) danh nghĩa là giá trị thị trường của tất
cả các hàng hóa và dịch vụ cuối cùng được sản xuất trong một quốc gia
trong một khoảng thời gian nhất định, thường là một năm. GDP danh nghĩa
được tính bằng cách sử dụng giá trị thị trường hiện tại của hàng hóa và
dịch vụ.
II.Phân tích
1.Tốc độ tăng trưởng GDP của Việt Nam qua các
năm
p <- WDI(indicator = 'NY.GDP.MKTP.CD', country = c('VNM'))
d <- p %>% select(year,NY.GDP.MKTP.CD)
d <- na.omit(d)
names(d) <- c('year','GDP')
datatable(p)
Ta có một bộ dữ liệu gồm 5 biến và 63 quan sát
- country : đại diện cho tên quốc gia (chỉ lọc ra Việt Nam)
- iso2c : đây là mã quốc gia 2 chữ cái được sử dụng để đại diện cho
các quốc gia và vùng lãnh thổ trên toàn thế giới, và với Việt Nam có mã
là “VN”
- iso3c : tương tự thì đây là mã quốc gia 3 chữ cái - Việt Nam có mã 3
chữ cái là “VNM”
- year : là đại diện cho năm của số liệu
- NY.GDP.MKTP.CD: tổng sản phmY.GDP.MKTP.CD: tổng sản phẩm quốc
nội
1.1. Giai đoạn 2008-2012
p %>% filter(year >= 2008 & year <= 2012) %>%
ggplot(aes(x=year, y=NY.GDP.MKTP.CD)) +
geom_line(color='navy', linewidth =1) +
labs(title = 'Biểu đồ thể hiện tốc độ tăng trưởng 2008- 2012')

Biểu đồ đường thể hiện tốc độ tăng trưởng của GDP 2008-2012
- Trục tung thể hiện số liệu
- Trục hoành thể hiện năm
- Năm 2009-2010 có sự phát triển vượt bật
- Năm 2012 là năm cao nhất trong 5 năm 2008-2010
1.2.Giai đoạn 2013-2017
p %>% filter(year >= 2013 & year <= 2017 ) %>%
group_by(year, NY.GDP.MKTP.CD) %>% ggplot(aes(x=year,y= NY.GDP.MKTP.CD )) +
geom_col(fill='yellow') +
geom_text(aes(label = round(NY.GDP.MKTP.CD)),vjust = 3, color = 'black') +
labs(title = "Biểu đồ thể hiện tốc độ tăng trưởng GDP từ 2013-2017 ") +
labs(x = 'Năm', y = 'Tốc độ')

- Trục hoành: thể hiện các năm từ 2013 đến 2017.
- Trục tung: thể hiện GDP của Việt Nam (tỷ USD).
Dưới đây là một số điểm chính được thể hiện trên biểu đồ:
- GDP của Việt Nam có xu hướng tăng trong giai đoạn này.
- Tốc độ tăng trưởng GDP cao nhất vào năm 2017
- Tốc độ tăng trưởng GDP thấp nhất vào năm 2013
- GDP của Việt Nam đạt 233,45 tỷ USD vào năm 2014.
1.3.Giai đoạn 2018-2022
p %>% filter(year >= 2018 & year <= 2022 ) %>%
group_by(year, NY.GDP.MKTP.CD) %>% ggplot(aes(x=year,y= NY.GDP.MKTP.CD )) +
geom_col(fill='salmon') +
geom_line(color='black', linewidth =1) +
geom_text(aes(label = round(NY.GDP.MKTP.CD)),vjust = 3, color = 'yellow') +
labs(title = "Biểu đồ thể hiện tốc độ tăng trưởng GDP từ 2018-2022 ") +
labs(x = 'Năm', y = 'Tốc độ')

- Trục hoành: thể hiện các năm từ 2018 đến 2022.
- Trục tung: thể hiện tốc độ tăng trưởng GDP của Việt Nam (%).
Dưới đây là một số điểm chính được thể hiện trên biểu đồ:
- Tốc độ tăng trưởng GDP của Việt Nam có xu hướng tăng trong giai đoạn
này.
- Tốc độ tăng trưởng GDP cao nhất vào năm 2022
- Tốc độ tăng trưởng GDP thấp nhất vào năm 2018
- Năm 2022, tốc độ tăng trưởng GDP đạt 8,02%
Ngoài ra, biểu đồ cũng cho thấy một số biến động trong tốc độ tăng
trưởng GDP của Việt Nam trong giai đoạn này.
- Tốc độ tăng trưởng GDP giảm mạnh vào năm 2020 do ảnh hưởng của đại
dịch COVID-19. Tuy nhiên, tốc độ tăng trưởng GDP đã phục hồi mạnh mẽ vào
năm 2021 và 2022.
- Quy mô GDP Việt Nam tăng trưởng liên tục qua các năm, từ 281.353 tỷ
đồng năm 2017 lên 408.802 tỷ đồng dự kiến năm 2022.
- Quy mô GDP năm 2022 dự kiến tăng gấp 1,45 lần so với năm 2017.
2. Các yếu tố ảnh hưởng GDP của Việt Nam
- Yếu tố nội tại:
Đầu tư:
- Đầu tư công: đóng vai trò quan trọng trong việc thúc đẩy tăng trưởng
kinh tế, đặc biệt là trong giai đoạn đầu của giai đoạn 2013-2022.
- Đầu tư tư nhân: tăng trưởng mạnh mẽ trong giai đoạn này, đóng góp
vào sự gia tăng năng lực sản xuất và cải thiện năng suất lao động.
Cán cân thương mại:
- Xuất khẩu: tăng trưởng mạnh mẽ, là động lực chính cho tăng trưởng
GDP.
- Nhập khẩu: tăng cao, tuy nhiên vẫn thấp hơn mức tăng trưởng xuất
khẩu.
Tiêu dùng:
- Tiêu dùng nội địa: tăng trưởng ổn định, đóng góp vào sự tăng trưởng
của GDP.
- Tiêu dùng của khu vực nhà nước: tăng trưởng chậm hơn so với tiêu
dùng của khu vực tư nhân.
Năng suất lao động:
- Có sự cải thiện: tuy nhiên vẫn còn thấp so với các nước trong khu
vực.
- Cần tiếp tục nâng cao: thông qua việc đầu tư vào giáo dục, đào tạo
và khoa học công nghệ.
- Yếu tố ngoại tại:
Nền kinh tế thế giới:
- Tăng trưởng chậm lại: ảnh hưởng đến nhu cầu xuất khẩu của Việt
Nam.
- Biến động của giá cả hàng hóa trên thị trường thế giới: ảnh hưởng
đến lạm phát và chi phí sản xuất của Việt Nam.
Chính sách tiền tệ và tài khóa của các nước lớn:
- Sự thay đổi của chính sách tiền tệ: ảnh hưởng đến dòng vốn đầu tư
vào Việt Nam.
- Sự thay đổi của chính sách tài khóa: ảnh hưởng đến nhu cầu nhập khẩu
của các nước đối tác thương mại của Việt Nam.
- Một số yếu tố khác:
- Biến đổi khí hậu: ảnh hưởng đến sản xuất nông nghiệp và du lịch của
Việt Nam.
- Dịch bệnh COVID-19: ảnh hưởng nặng nề đến nền kinh tế Việt Nam trong
năm 2020 và 2021.
III.Giới thiệu indicator PCPI_IX
t <- load_datasets('CPI')
cpi <- t$get_series(freq = 'M', ref_area = 'VN', indicator = 'PCPI_IX')
cpi <- na.omit(cpi)
names(cpi) <- c('ThoiGian','NamGoc','CPI')
head(cpi,9)
## ThoiGian NamGoc CPI
## 624 2001-12 2019A 29.4869050755837
## 625 2002-01 2019A 29.7947965871095
## 626 2002-02 2019A 30.4502821120259
## 627 2002-03 2019A 30.2066798551297
## 628 2002-04 2019A 30.2066798551297
## 629 2002-05 2019A 30.2972998946951
## 630 2002-06 2019A 30.3275971945898
## 631 2002-07 2019A 30.2972695973952
## 632 2002-08 2019A 30.3275668669926
Chỉ số PCPI_IX là chỉ số giá tiêu dùng cho người có thu nhập thấp và
trung bình ở khu vực thành thị (PCPI - Urban Lower and Middle Income
Households). Chỉ số này được tính toán dựa trên giá cả của một rổ hàng
hóa và dịch vụ tiêu biểu mà người có thu nhập thấp và trung bình ở khu
vực thành thị thường mua.
PCPI_IX là một trong những chỉ số quan trọng để đo lường mức độ lạm
phát ở Việt Nam. Chỉ số này được sử dụng để theo dõi biến động giá cả
hàng hóa và dịch vụ, từ đó giúp Chính phủ có thể đưa ra các chính sách
phù hợp để kiểm soát lạm phát và bảo vệ đời sống của người dân.
Chỉ số PCPI_IX có thể được sử dụng cho các mục đích sau:
- Đo lường mức độ lạm phát: Theo dõi biến động giá cả hàng hóa và dịch
vụ tiêu dùng của người có thu nhập thấp và trung bình ở khu vực thành
thị.
- So sánh mức sống: So sánh mức sống của người có thu nhập thấp và
trung bình ở khu vực thành thị theo thời gian và giữa các địa phương
khác nhau.
- Đánh giá hiệu quả của các chính sách: Đánh giá hiệu quả của các
chính sách kinh tế và xã hội đối với đời sống của người có thu nhập thấp
và trung bình ở khu vực thành thị.
IV. Phân tích
1.Chỉ số giá tiêu dùng CPI của Việt Nam qua các mốc thời
gian
t <- load_datasets('CPI')
cpi <- t$get_series(freq = 'M', ref_area = 'VN', indicator = 'PCPI_IX')
cpi <- na.omit(cpi)
names(cpi) <- c('year','NamGoc','CPI')
datatable(cpi)
Ta có bộ dữ liệu gồm 3 biến và 267 quan sát
Cho thấy sự thay đổi của Chỉ số giá tiêu dùng (CPI) tại Việt Nam từ
năm 2001 đến đầu năm 2024.
Cụ thể, bộ dữ liệu bao gồm:
- Thời gian: Tháng và năm của mỗi quan sát.
- NĂM GỐC: Năm được sử dụng để tính toán CPI.
- CPI: Chỉ số giá tiêu dùng cho tháng và năm tương ứng.
Bộ dữ liệu này có thể được sử dụng để theo dõi lạm phát tại Việt Nam
theo thời gian. Lạm phát là tốc độ tăng giá cả hàng hóa và dịch vụ trong
một nền kinh tế. Việc theo dõi lạm phát là điều quan trọng đối với các
nhà hoạch định chính sách vì nó có thể ảnh hưởng đến nhiều yếu tố kinh
tế khác, chẳng hạn như lãi suất và tỷ giá hối đoái.
1.1.Giai đoạn 1-5/2021
cpi1 <- cpi %>% filter(year == "2021-01" | year == "2021-02" | year == "2021-03" | year == "2021-04" | year == "2021-05")
ggplot(cpi1, aes(x = year, y = CPI)) +
geom_bar(stat = "identity", fill = "red") +
labs(title = "Biểu đồ thể hiện chỉ số CPI ở Việt Nam ")

Biểu đồ trên cho thấy chỉ số CPI từ 1/2021- 5/2021 không đồng đều
- 2/2021 có chỉ số cao nhất
- 1/2021 có chỉ số thấp nhất
Chỉ số CPI từ tháng 1-5/2021 cho thấy lạm phát được kiểm soát tốt,
với mức tăng thấp nhất trong nhiều năm.
Giá cả hàng hóa và dịch vụ tương đối ổn định, tuy nhiên nhóm giao
thông có biến động mạnh do giá xăng, dầu tăng.
Lạm phát cơ bản thấp hơn mức CPI bình quân chung, cho thấy áp lực lạm
phát từ các yếu tố cốt lõi còn thấp.
1.2.Giai đoạn 6-10/2021
cpi2 <- cpi %>% filter(year == "2021-06" | year == "2021-07" | year == "2021-08" | year == "2021-09" | year == "2021-10")
ggplot(cpi2, aes(x = year, y = CPI)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Biểu đồ thể hiện chỉ số CPI ở Việt Nam ")

Biểu đồ thể hiện chỉ số CPI (Chỉ số giá tiêu dùng) của Việt Nam trong
giai đoạn từ tháng 6 đến tháng 10 năm 2021.
- Trục hoành: Thể hiện thời gian, từ tháng 6 đến tháng 10 năm
2021.
- Trục tung: Thể hiện chỉ số CPI, với giá trị từ 104 đến 105.
- Đường màu xanh da trời: Thể hiện sự thay đổi của chỉ số CPI theo
thời gian.
Cụ thể:
- Tháng 6/2021: Chỉ số CPI là 104,87.
- Tháng 7/2021: Chỉ số CPI tăng lên 105,53.
- Tháng 8/2021: Chỉ số CPI tiếp tục tăng lên 105,79.
- Tháng 9/2021: Chỉ số CPI giảm nhẹ xuống 105,14.
- Tháng 10/2021: Chỉ số CPI tiếp tục giảm xuống 104,92.
2.Các yếu tố ảnh hưởng
Yếu tố tác động:
- Giá nguyên, nhiên, vật liệu: Giá nguyên, nhiên, vật liệu đầu vào
tăng cao do ảnh hưởng của dịch Covid-19 và biến động giá thế giới.
- Giá xăng dầu: Giá xăng dầu tăng 12,08% so với cùng kỳ năm trước do
giá dầu thế giới tăng.
- Giá điện: Giá điện sinh hoạt tăng 3,44% so với cùng kỳ năm trước do
giá than và giá khí đốt tăng.
- Giá lương thực: Giá lương thực giảm 0,06% so với cùng kỳ năm trước
do nguồn cung dồi dào.
- Giá dịch vụ: Giá dịch vụ tăng 1,31% so với cùng kỳ năm trước do nhu
cầu tiêu dùng dịch vụ tăng.
Bên cạnh đó, còn có một số yếu tố khác ảnh hưởng đến CPI như:
- Chính sách tiền tệ: Chính sách tiền tệ nới lỏng có thể dẫn đến lạm
phát tăng.
- Chính sách tài khóa: Chính sách tài khóa kích thích có thể dẫn đến
lạm phát tăng.
- Nhu cầu tiêu dùng: Nhu cầu tiêu dùng tăng cao có thể dẫn đến lạm
phát tăng.
- Giá lương thực giảm.
- Chính sách của Chính phủ kiểm soát giá cả.
LS0tDQp0aXRsZTogIk5oaeG7h20gduG7pSA2Ig0KYXV0aG9yOiAiTMOqIFRo4buLIFRoYW5oIFBow7oiDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclSDolTTolUywgJWQgLSAlbSAtICVZJylgIg0Kb3V0cHV0Og0KICAgIGh0bWxfZG9jdW1lbnQ6IA0KICAgICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCiAgICAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICAgICB0b2M6IHRydWUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmxpYnJhcnkoRFQpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGltZi5kYXRhKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KFdESSkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGdnYW5pbWF0ZSkNCmxpYnJhcnkobWFnaWNrKQ0KbGlicmFyeShnb29nbGVkcml2ZSkNCmBgYA0KDQojIyAqKkkuR2nhu5tpIHRoaeG7h3UgaW5kaWNhdG9yIE5ZLkdEUC5NS1RQLkNEKioNCmBgYHtyfQ0KaW5kIDwtIFdESXNlYXJjaCgnR0RQJykNCnAgPC0gV0RJKGluZGljYXRvciA9ICdOWS5HRFAuTUtUUC5DRCcsIGNvdW50cnkgPSBjKCdWTk0nKSkNCmQgPC0gcCAlPiUgc2VsZWN0KHllYXIsTlkuR0RQLk1LVFAuQ0QpDQpkIDwtIG5hLm9taXQoZCkNCm5hbWVzKGQpIDwtIGMoJ3llYXInLCdHRFAnKQ0KaGVhZChkLDkpDQpgYGANCg0KQ8OidSBs4buHbmggUiBXREkoaW5kaWNhdG9yID0gJ05ZLkdEUC5NS1RQLkNEJywgY291bnRyeSA9IGMoJ1ZOTScpKSDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyB0cnV5IHh14bqldCBk4buvIGxp4buHdSB24buBIFThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpIChHRFApIGRhbmggbmdoxKlhIGPhu6dhIFZp4buHdCBOYW0gdOG7qyBXb3JsZCBEZXZlbG9wbWVudCBJbmRpY2F0b3JzIChXREkpLg0KDQpD4bulIHRo4buDOg0KDQorIGluZGljYXRvciA9ICdOWS5HRFAuTUtUUC5DRCcgY2hvIGJp4bq/dCBjaOG7iSBiw6FvIG3DoCBjaMO6bmcgdGEgbXXhu5FuIHRydXkgeHXhuqV0IGzDoCBHRFAgZGFuaCBuZ2jEqWEsIMSRxrDhu6NjIG3DoyBow7NhIGzDoCdOWS5HRFAuTUtUUC5DRCcgdHJvbmcgV0RJLg0KKyBjb3VudHJ5ID0gYygnVk5NJykgY2hvIGJp4bq/dCBxdeG7kWMgZ2lhIG3DoCBjaMO6bmcgdGEgbXXhu5FuIHRydXkgeHXhuqV0IGThu68gbGnhu4d1IGzDoCBWaeG7h3QgTmFtLCDEkcaw4bujYyBtw6MgaMOzYSBsw6AgJ1ZOTScgdHJvbmcgV0RJLg0KDQpU4buVbmcgc+G6o24gcGjhuqltIHF14buRYyBu4buZaSAoR0RQKSBkYW5oIG5naMSpYSBsw6AgZ2nDoSB0cuG7iyB0aOG7iyB0csaw4budbmcgY+G7p2EgdOG6pXQgY+G6oyBjw6FjIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIGN14buRaSBjw7luZyDEkcaw4bujYyBz4bqjbiB4deG6pXQgdHJvbmcgbeG7mXQgcXXhu5FjIGdpYSB0cm9uZyBt4buZdCBraG/huqNuZyB0aOG7nWkgZ2lhbiBuaOG6pXQgxJHhu4tuaCwgdGjGsOG7nW5nIGzDoCBt4buZdCBuxINtLiBHRFAgZGFuaCBuZ2jEqWEgxJHGsOG7o2MgdMOtbmggYuG6sW5nIGPDoWNoIHPhu60gZOG7pW5nIGdpw6EgdHLhu4sgdGjhu4sgdHLGsOG7nW5nIGhp4buHbiB04bqhaSBj4bunYSBow6BuZyBow7NhIHbDoCBk4buLY2ggduG7pS4NCg0KIyMgKipJSS5QaMOibiB0w61jaCoqDQojIyMgKioxLlThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBHRFAgY+G7p2EgVmnhu4d0IE5hbSBxdWEgY8OhYyBuxINtKioNCmBgYHtyfQ0KcCA8LSBXREkoaW5kaWNhdG9yID0gJ05ZLkdEUC5NS1RQLkNEJywgY291bnRyeSA9IGMoJ1ZOTScpKQ0KZCA8LSBwICU+JSBzZWxlY3QoeWVhcixOWS5HRFAuTUtUUC5DRCkNCmQgPC0gbmEub21pdChkKQ0KbmFtZXMoZCkgPC0gYygneWVhcicsJ0dEUCcpDQpkYXRhdGFibGUocCkNCmBgYA0KDQpUYSBjw7MgbeG7mXQgYuG7mSBk4buvIGxp4buHdSBn4buTbSA1IGJp4bq/biB2w6AgNjMgcXVhbiBzw6F0DQoNCisgY291bnRyeSA6IMSR4bqhaSBkaeG7h24gY2hvIHTDqm4gcXXhu5FjIGdpYSAoY2jhu4kgbOG7jWMgcmEgVmnhu4d0IE5hbSkNCisgaXNvMmMgOiDEkcOieSBsw6AgbcOjIHF14buRYyBnaWEgMiBjaOG7ryBjw6FpIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIMSR4bqhaSBkaeG7h24gY2hvIGPDoWMgcXXhu5FjIGdpYSB2w6AgdsO5bmcgbMOjbmggdGjhu5UgdHLDqm4gdG/DoG4gdGjhur8gZ2nhu5tpLCB2w6AgduG7m2kgVmnhu4d0IE5hbSBjw7MgbcOjIGzDoCDigJxWTuKAnQ0KKyBpc28zYyA6IHTGsMahbmcgdOG7sSB0aMOsIMSRw6J5IGzDoCBtw6MgcXXhu5FjIGdpYSAzIGNo4buvIGPDoWkgLSBWaeG7h3QgTmFtIGPDsyBtw6MgMyBjaOG7ryBjw6FpIGzDoCDigJxWTk3igJ0NCisgeWVhciA6IGzDoCDEkeG6oWkgZGnhu4duIGNobyBuxINtIGPhu6dhIHPhu5EgbGnhu4d1DQorIE5ZLkdEUC5NS1RQLkNEOiB04buVbmcgc+G6o24gcGhtWS5HRFAuTUtUUC5DRDogdOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkNCg0KIyMjICoqMS4xLiBHaWFpIMSRb+G6oW4gMjAwOC0yMDEyKioNCmBgYHtyfQ0KcCAlPiUgZmlsdGVyKHllYXIgPj0gMjAwOCAmIHllYXIgPD0gMjAxMikgJT4lDQogIGdncGxvdChhZXMoeD15ZWFyLCB5PU5ZLkdEUC5NS1RQLkNEKSkgKw0KICBnZW9tX2xpbmUoY29sb3I9J25hdnknLCBsaW5ld2lkdGggPTEpICsNCiAgbGFicyh0aXRsZSA9ICdCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyAyMDA4LSAyMDEyJykNCmBgYA0KDQpCaeG7g3UgxJHhu5MgxJHGsOG7nW5nIHRo4buDIGhp4buHbiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgY+G7p2EgR0RQIDIwMDgtMjAxMg0KDQorIFRy4bulYyB0dW5nIHRo4buDIGhp4buHbiBz4buRIGxp4buHdQ0KKyBUcuG7pWMgaG/DoG5oIHRo4buDIGhp4buHbiBuxINtDQorIE7Eg20gMjAwOS0yMDEwIGPDsyBz4buxIHBow6F0IHRyaeG7g24gdsaw4bujdCBi4bqtdCANCisgTsSDbSAyMDEyIGzDoCBuxINtIGNhbyBuaOG6pXQgdHJvbmcgNSBuxINtIDIwMDgtMjAxMA0KDQojIyMgKioxLjIuR2lhaSDEkW/huqFuIDIwMTMtMjAxNyoqDQpgYGB7cn0NCnAgJT4lIGZpbHRlcih5ZWFyID49IDIwMTMgJiB5ZWFyIDw9IDIwMTcgKSAlPiUNCiAgZ3JvdXBfYnkoeWVhciwgTlkuR0RQLk1LVFAuQ0QpICU+JSAgZ2dwbG90KGFlcyh4PXllYXIseT0gTlkuR0RQLk1LVFAuQ0QgKSkgKw0KICBnZW9tX2NvbChmaWxsPSd5ZWxsb3cnKSArDQogIGdlb21fdGV4dChhZXMobGFiZWwgPSByb3VuZChOWS5HRFAuTUtUUC5DRCkpLHZqdXN0ID0gMywgY29sb3IgPSAnYmxhY2snKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIHThu6sgMjAxMy0yMDE3ICAiKSArDQogIGxhYnMoeCA9ICdOxINtJywgeSA9ICdU4buRYyDEkeG7mScpDQpgYGANCg0KKyBUcuG7pWMgaG/DoG5oOiB0aOG7gyBoaeG7h24gY8OhYyBuxINtIHThu6sgMjAxMyDEkeG6v24gMjAxNy4NCisgVHLhu6VjIHR1bmc6IHRo4buDIGhp4buHbiBHRFAgY+G7p2EgVmnhu4d0IE5hbSAodOG7tyBVU0QpLg0KDQpExrDhu5tpIMSRw6J5IGzDoCBt4buZdCBz4buRIMSRaeG7g20gY2jDrW5oIMSRxrDhu6NjIHRo4buDIGhp4buHbiB0csOqbiBiaeG7g3UgxJHhu5M6DQoNCisgR0RQIGPhu6dhIFZp4buHdCBOYW0gY8OzIHh1IGjGsOG7m25nIHTEg25nIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5Lg0KKyBU4buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIGNhbyBuaOG6pXQgdsOgbyBuxINtIDIwMTcgDQorIFThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBHRFAgdGjhuqVwIG5o4bqldCB2w6BvIG7Eg20gMjAxMyANCisgR0RQIGPhu6dhIFZp4buHdCBOYW0gxJHhuqF0IDIzMyw0NSB04bu3IFVTRCB2w6BvIG7Eg20gMjAxNC4NCg0KIyMjICoqMS4zLkdpYWkgxJFv4bqhbiAyMDE4LTIwMjIqKg0KDQpgYGB7cn0NCnAgJT4lIGZpbHRlcih5ZWFyID49IDIwMTggJiB5ZWFyIDw9IDIwMjIgKSAlPiUNCiAgZ3JvdXBfYnkoeWVhciwgTlkuR0RQLk1LVFAuQ0QpICU+JSAgZ2dwbG90KGFlcyh4PXllYXIseT0gTlkuR0RQLk1LVFAuQ0QgKSkgKw0KICBnZW9tX2NvbChmaWxsPSdzYWxtb24nKSArDQogIGdlb21fbGluZShjb2xvcj0nYmxhY2snLCBsaW5ld2lkdGggPTEpICsNCiAgZ2VvbV90ZXh0KGFlcyhsYWJlbCA9IHJvdW5kKE5ZLkdEUC5NS1RQLkNEKSksdmp1c3QgPSAzLCBjb2xvciA9ICd5ZWxsb3cnKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIHThu6sgMjAxOC0yMDIyICAiKSArDQogIGxhYnMoeCA9ICdOxINtJywgeSA9ICdU4buRYyDEkeG7mScpDQpgYGANCg0KKyBUcuG7pWMgaG/DoG5oOiB0aOG7gyBoaeG7h24gY8OhYyBuxINtIHThu6sgMjAxOCDEkeG6v24gMjAyMi4NCisgVHLhu6VjIHR1bmc6IHRo4buDIGhp4buHbiB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIGPhu6dhIFZp4buHdCBOYW0gKCUpLg0KDQpExrDhu5tpIMSRw6J5IGzDoCBt4buZdCBz4buRIMSRaeG7g20gY2jDrW5oIMSRxrDhu6NjIHRo4buDIGhp4buHbiB0csOqbiBiaeG7g3UgxJHhu5M6DQoNCisgVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIEdEUCBj4bunYSBWaeG7h3QgTmFtIGPDsyB4dSBoxrDhu5tuZyB0xINuZyB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeS4NCisgVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIEdEUCBjYW8gbmjhuqV0IHbDoG8gbsSDbSAyMDIyICANCisgVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIEdEUCB0aOG6pXAgbmjhuqV0IHbDoG8gbsSDbSAyMDE4ICANCisgTsSDbSAyMDIyLCB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIMSR4bqhdCA4LDAyJQ0KDQpOZ2/DoGkgcmEsIGJp4buDdSDEkeG7kyBjxaluZyBjaG8gdGjhuqV5IG3hu5l0IHPhu5EgYmnhur9uIMSR4buZbmcgdHJvbmcgdOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIEdEUCBj4bunYSBWaeG7h3QgTmFtIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5Lg0KDQorIFThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBHRFAgZ2nhuqNtIG3huqFuaCB2w6BvIG7Eg20gMjAyMCBkbyDhuqNuaCBoxrDhu59uZyBj4bunYSDEkeG6oWkgZOG7i2NoIENPVklELTE5LiBUdXkgbmhpw6puLCB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIMSRw6MgcGjhu6VjIGjhu5NpIG3huqFuaCBt4bq9IHbDoG8gbsSDbSAyMDIxIHbDoCAyMDIyLg0KKyBRdXkgbcO0IEdEUCBWaeG7h3QgTmFtIHTEg25nIHRyxrDhu59uZyBsacOqbiB04bulYyBxdWEgY8OhYyBuxINtLCB04burIDI4MS4zNTMgdOG7tyDEkeG7k25nIG7Eg20gMjAxNyBsw6puIDQwOC44MDIgdOG7tyDEkeG7k25nIGThu7Ega2nhur9uIG7Eg20gMjAyMi4NCisgUXV5IG3DtCBHRFAgbsSDbSAyMDIyIGThu7Ega2nhur9uIHTEg25nIGfhuqVwIDEsNDUgbOG6p24gc28gduG7m2kgbsSDbSAyMDE3Lg0KDQojIyMgKioyLiBDw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgR0RQIGPhu6dhIFZp4buHdCBOYW0qKg0KIA0KMS4gWeG6v3UgdOG7kSBu4buZaSB04bqhaToNCg0KxJDhuqd1IHTGsDoNCg0KKyDEkOG6p3UgdMawIGPDtG5nOiDEkcOzbmcgdmFpIHRyw7IgcXVhbiB0cuG7jW5nIHRyb25nIHZp4buHYyB0aMO6YyDEkeG6qXkgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vywgxJHhurdjIGJp4buHdCBsw6AgdHJvbmcgZ2lhaSDEkW/huqFuIMSR4bqndSBj4bunYSBnaWFpIMSRb+G6oW4gMjAxMy0yMDIyLg0KKyDEkOG6p3UgdMawIHTGsCBuaMOibjogdMSDbmcgdHLGsOG7n25nIG3huqFuaCBt4bq9IHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LCDEkcOzbmcgZ8OzcCB2w6BvIHPhu7EgZ2lhIHTEg25nIG7Eg25nIGzhu7FjIHPhuqNuIHh14bqldCB2w6AgY+G6o2kgdGhp4buHbiBuxINuZyBzdeG6pXQgbGFvIMSR4buZbmcuDQoNCkPDoW4gY8OibiB0aMawxqFuZyBt4bqhaToNCg0KKyBYdeG6pXQga2jhuql1OiB0xINuZyB0csaw4bufbmcgbeG6oW5oIG3hur0sIGzDoCDEkeG7mW5nIGzhu7FjIGNow61uaCBjaG8gdMSDbmcgdHLGsOG7n25nIEdEUC4NCisgTmjhuq1wIGto4bqpdTogdMSDbmcgY2FvLCB0dXkgbmhpw6puIHbhuqtuIHRo4bqlcCBoxqFuIG3hu6ljIHTEg25nIHRyxrDhu59uZyB4deG6pXQga2jhuql1Lg0KDQpUacOqdSBkw7luZzoNCg0KKyBUacOqdSBkw7luZyBu4buZaSDEkeG7i2E6IHTEg25nIHRyxrDhu59uZyDhu5VuIMSR4buLbmgsIMSRw7NuZyBnw7NwIHbDoG8gc+G7sSB0xINuZyB0csaw4bufbmcgY+G7p2EgR0RQLg0KKyBUacOqdSBkw7luZyBj4bunYSBraHUgduG7sWMgbmjDoCBuxrDhu5tjOiB0xINuZyB0csaw4bufbmcgY2jhuq1tIGjGoW4gc28gduG7m2kgdGnDqnUgZMO5bmcgY+G7p2Ega2h1IHbhu7FjIHTGsCBuaMOibi4NCg0KTsSDbmcgc3XhuqV0IGxhbyDEkeG7mW5nOg0KDQorIEPDsyBz4buxIGPhuqNpIHRoaeG7h246IHR1eSBuaGnDqm4gduG6q24gY8OybiB0aOG6pXAgc28gduG7m2kgY8OhYyBuxrDhu5tjIHRyb25nIGtodSB24buxYy4NCisgQ+G6p24gdGnhur9wIHThu6VjIG7Dom5nIGNhbzogdGjDtG5nIHF1YSB2aeG7h2MgxJHhuqd1IHTGsCB2w6BvIGdpw6FvIGThu6VjLCDEkcOgbyB04bqhbyB2w6Aga2hvYSBo4buNYyBjw7RuZyBuZ2jhu4cuDQoNCjIuIFnhur91IHThu5Egbmdv4bqhaSB04bqhaToNCg0KTuG7gW4ga2luaCB04bq/IHRo4bq/IGdp4bubaToNCg0KKyBUxINuZyB0csaw4bufbmcgY2jhuq1tIGzhuqFpOiDhuqNuaCBoxrDhu59uZyDEkeG6v24gbmh1IGPhuqd1IHh14bqldCBraOG6qXUgY+G7p2EgVmnhu4d0IE5hbS4NCisgQmnhur9uIMSR4buZbmcgY+G7p2EgZ2nDoSBj4bqjIGjDoG5nIGjDs2EgdHLDqm4gdGjhu4sgdHLGsOG7nW5nIHRo4bq/IGdp4bubaTog4bqjbmggaMaw4bufbmcgxJHhur9uIGzhuqFtIHBow6F0IHbDoCBjaGkgcGjDrSBz4bqjbiB4deG6pXQgY+G7p2EgVmnhu4d0IE5hbS4NCg0KQ2jDrW5oIHPDoWNoIHRp4buBbiB04buHIHbDoCB0w6BpIGtow7NhIGPhu6dhIGPDoWMgbsaw4bubYyBs4bubbjoNCg0KKyBT4buxIHRoYXkgxJHhu5VpIGPhu6dhIGNow61uaCBzw6FjaCB0aeG7gW4gdOG7hzog4bqjbmggaMaw4bufbmcgxJHhur9uIGTDsm5nIHbhu5FuIMSR4bqndSB0xrAgdsOgbyBWaeG7h3QgTmFtLg0KKyBT4buxIHRoYXkgxJHhu5VpIGPhu6dhIGNow61uaCBzw6FjaCB0w6BpIGtow7NhOiDhuqNuaCBoxrDhu59uZyDEkeG6v24gbmh1IGPhuqd1IG5o4bqtcCBraOG6qXUgY+G7p2EgY8OhYyBuxrDhu5tjIMSR4buRaSB0w6FjIHRoxrDGoW5nIG3huqFpIGPhu6dhIFZp4buHdCBOYW0uDQoNCjMuIE3hu5l0IHPhu5EgeeG6v3UgdOG7kSBraMOhYzoNCg0KKyBCaeG6v24gxJHhu5VpIGtow60gaOG6rXU6IOG6o25oIGjGsOG7n25nIMSR4bq/biBz4bqjbiB4deG6pXQgbsO0bmcgbmdoaeG7h3AgdsOgIGR1IGzhu4tjaCBj4bunYSBWaeG7h3QgTmFtLg0KKyBE4buLY2ggYuG7h25oIENPVklELTE5OiDhuqNuaCBoxrDhu59uZyBu4bq3bmcgbuG7gSDEkeG6v24gbuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0gdHJvbmcgbsSDbSAyMDIwIHbDoCAyMDIxLg0KDQojIyAqKklJSS5HaeG7m2kgdGhp4buHdSBpbmRpY2F0b3IgUENQSV9JWCoqDQpgYGB7cn0NCnQgPC0gbG9hZF9kYXRhc2V0cygnQ1BJJykNCmNwaSA8LSB0JGdldF9zZXJpZXMoZnJlcSA9ICdNJywgcmVmX2FyZWEgPSAnVk4nLCBpbmRpY2F0b3IgPSAnUENQSV9JWCcpDQpjcGkgPC0gbmEub21pdChjcGkpDQpuYW1lcyhjcGkpIDwtIGMoJ1Rob2lHaWFuJywnTmFtR29jJywnQ1BJJykNCmhlYWQoY3BpLDkpDQpgYGANCg0KQ2jhu4kgc+G7kSBQQ1BJX0lYIGzDoCBjaOG7iSBz4buRIGdpw6EgdGnDqnUgZMO5bmcgY2hvIG5nxrDhu51pIGPDsyB0aHUgbmjhuq1wIHRo4bqlcCB2w6AgdHJ1bmcgYsOsbmgg4bufIGtodSB24buxYyB0aMOgbmggdGjhu4sgKFBDUEkgLSBVcmJhbiBMb3dlciBhbmQgTWlkZGxlIEluY29tZSBIb3VzZWhvbGRzKS4gQ2jhu4kgc+G7kSBuw6B5IMSRxrDhu6NjIHTDrW5oIHRvw6FuIGThu7FhIHRyw6puIGdpw6EgY+G6oyBj4bunYSBt4buZdCBy4buVIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIHRpw6p1IGJp4buDdSBtw6AgbmfGsOG7nWkgY8OzIHRodSBuaOG6rXAgdGjhuqVwIHbDoCB0cnVuZyBiw6xuaCDhu58ga2h1IHbhu7FjIHRow6BuaCB0aOG7iyB0aMaw4budbmcgbXVhLg0KDQpQQ1BJX0lYIGzDoCBt4buZdCB0cm9uZyBuaOG7r25nIGNo4buJIHPhu5EgcXVhbiB0cuG7jW5nIMSR4buDIMSRbyBsxrDhu51uZyBt4bupYyDEkeG7mSBs4bqhbSBwaMOhdCDhu58gVmnhu4d0IE5hbS4gQ2jhu4kgc+G7kSBuw6B5IMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIHRoZW8gZMO1aSBiaeG6v24gxJHhu5luZyBnacOhIGPhuqMgaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UsIHThu6sgxJHDsyBnacO6cCBDaMOtbmggcGjhu6cgY8OzIHRo4buDIMSRxrBhIHJhIGPDoWMgY2jDrW5oIHPDoWNoIHBow7kgaOG7o3AgxJHhu4Mga2nhu4NtIHNvw6F0IGzhuqFtIHBow6F0IHbDoCBi4bqjbyB24buHIMSR4budaSBz4buRbmcgY+G7p2EgbmfGsOG7nWkgZMOibi4NCg0KQ2jhu4kgc+G7kSBQQ1BJX0lYIGPDsyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyBjaG8gY8OhYyBt4bulYyDEkcOtY2ggc2F1Og0KDQorIMSQbyBsxrDhu51uZyBt4bupYyDEkeG7mSBs4bqhbSBwaMOhdDogVGhlbyBkw7VpIGJp4bq/biDEkeG7mW5nIGdpw6EgY+G6oyBow6BuZyBow7NhIHbDoCBk4buLY2ggduG7pSB0acOqdSBkw7luZyBj4bunYSBuZ8aw4budaSBjw7MgdGh1IG5o4bqtcCB0aOG6pXAgdsOgIHRydW5nIGLDrG5oIOG7nyBraHUgduG7sWMgdGjDoG5oIHRo4buLLg0KKyBTbyBzw6FuaCBt4bupYyBz4buRbmc6IFNvIHPDoW5oIG3hu6ljIHPhu5FuZyBj4bunYSBuZ8aw4budaSBjw7MgdGh1IG5o4bqtcCB0aOG6pXAgdsOgIHRydW5nIGLDrG5oIOG7nyBraHUgduG7sWMgdGjDoG5oIHRo4buLIHRoZW8gdGjhu51pIGdpYW4gdsOgIGdp4buvYSBjw6FjIMSR4buLYSBwaMawxqFuZyBraMOhYyBuaGF1Lg0KKyDEkMOhbmggZ2nDoSBoaeG7h3UgcXXhuqMgY+G7p2EgY8OhYyBjaMOtbmggc8OhY2g6IMSQw6FuaCBnacOhIGhp4buHdSBxdeG6oyBj4bunYSBjw6FjIGNow61uaCBzw6FjaCBraW5oIHThur8gdsOgIHjDoyBo4buZaSDEkeG7kWkgduG7m2kgxJHhu51pIHPhu5FuZyBj4bunYSBuZ8aw4budaSBjw7MgdGh1IG5o4bqtcCB0aOG6pXAgdsOgIHRydW5nIGLDrG5oIOG7nyBraHUgduG7sWMgdGjDoG5oIHRo4buLLg0KDQojIyAqKklWLiBQaMOibiB0w61jaCoqDQojIyMgKioxLkNo4buJIHPhu5EgZ2nDoSB0acOqdSBkw7luZyBDUEkgY+G7p2EgVmnhu4d0IE5hbSBxdWEgY8OhYyBt4buRYyB0aOG7nWkgZ2lhbioqDQpgYGB7cn0NCnQgPC0gbG9hZF9kYXRhc2V0cygnQ1BJJykNCmNwaSA8LSB0JGdldF9zZXJpZXMoZnJlcSA9ICdNJywgcmVmX2FyZWEgPSAnVk4nLCBpbmRpY2F0b3IgPSAnUENQSV9JWCcpDQpjcGkgPC0gbmEub21pdChjcGkpDQpuYW1lcyhjcGkpIDwtIGMoJ3llYXInLCdOYW1Hb2MnLCdDUEknKQ0KZGF0YXRhYmxlKGNwaSkNCmBgYA0KDQpUYSBjw7MgYuG7mSBk4buvIGxp4buHdSBn4buTbSAzIGJp4bq/biB2w6AgMjY3IHF1YW4gc8OhdA0KDQpDaG8gdGjhuqV5IHPhu7EgdGhheSDEkeG7lWkgY+G7p2EgQ2jhu4kgc+G7kSBnacOhIHRpw6p1IGTDuW5nIChDUEkpIHThuqFpIFZp4buHdCBOYW0gdOG7qyBuxINtIDIwMDEgxJHhur9uIMSR4bqndSBuxINtIDIwMjQuDQoNCkPhu6UgdGjhu4MsIGLhu5kgZOG7ryBsaeG7h3UgYmFvIGfhu5NtOg0KDQorIFRo4budaSBnaWFuOiBUaMOhbmcgdsOgIG7Eg20gY+G7p2EgbeG7l2kgcXVhbiBzw6F0Lg0KKyBOxIJNIEfhu5BDOiBOxINtIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIHTDrW5oIHRvw6FuIENQSS4NCisgQ1BJOiBDaOG7iSBz4buRIGdpw6EgdGnDqnUgZMO5bmcgY2hvIHRow6FuZyB2w6AgbsSDbSB0xrDGoW5nIOG7qW5nLg0KDQpC4buZIGThu68gbGnhu4d1IG7DoHkgY8OzIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIHRoZW8gZMO1aSBs4bqhbSBwaMOhdCB04bqhaSBWaeG7h3QgTmFtIHRoZW8gdGjhu51pIGdpYW4uIEzhuqFtIHBow6F0IGzDoCB04buRYyDEkeG7mSB0xINuZyBnacOhIGPhuqMgaMOgbmcgaMOzYSB2w6AgZOG7i2NoIHbhu6UgdHJvbmcgbeG7mXQgbuG7gW4ga2luaCB04bq/LiBWaeG7h2MgdGhlbyBkw7VpIGzhuqFtIHBow6F0IGzDoCDEkWnhu4F1IHF1YW4gdHLhu41uZyDEkeG7kWkgduG7m2kgY8OhYyBuaMOgIGhv4bqhY2ggxJHhu4tuaCBjaMOtbmggc8OhY2ggdsOsIG7DsyBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIG5oaeG7gXUgeeG6v3UgdOG7kSBraW5oIHThur8ga2jDoWMsIGNo4bqzbmcgaOG6oW4gbmjGsCBsw6NpIHN14bqldCB2w6AgdOG7tyBnacOhIGjhu5FpIMSRb8OhaS4NCg0KIyMjICoqMS4xLkdpYWkgxJFv4bqhbiAxLTUvMjAyMSoqDQpgYGB7cn0NCmNwaTEgPC0gY3BpICU+JSBmaWx0ZXIoeWVhciA9PSAiMjAyMS0wMSIgfCB5ZWFyICA9PSAiMjAyMS0wMiIgfCB5ZWFyID09ICIyMDIxLTAzIiB8IHllYXIgPT0gIjIwMjEtMDQiIHwgeWVhciA9PSAiMjAyMS0wNSIpDQpnZ3Bsb3QoY3BpMSwgYWVzKHggPSB5ZWFyLCB5ID0gQ1BJKSkgKw0KICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IiwgZmlsbCA9ICJyZWQiKSArDQogIGxhYnModGl0bGUgPSAiQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBjaOG7iSBz4buRIENQSSDhu58gVmnhu4d0IE5hbSAiKQ0KYGBgDQoNCkJp4buDdSDEkeG7kyB0csOqbiBjaG8gdGjhuqV5IGNo4buJIHPhu5EgQ1BJIHThu6sgMS8yMDIxLSA1LzIwMjEga2jDtG5nIMSR4buTbmcgxJHhu4F1IA0KDQorIDIvMjAyMSBjw7MgY2jhu4kgc+G7kSBjYW8gbmjhuqV0IA0KKyAxLzIwMjEgY8OzIGNo4buJIHPhu5EgdGjhuqVwIG5o4bqldA0KDQpDaOG7iSBz4buRIENQSSB04burIHRow6FuZyAxLTUvMjAyMSBjaG8gdGjhuqV5IGzhuqFtIHBow6F0IMSRxrDhu6NjIGtp4buDbSBzb8OhdCB04buRdCwgduG7m2kgbeG7qWMgdMSDbmcgdGjhuqVwIG5o4bqldCB0cm9uZyBuaGnhu4F1IG7Eg20uDQoNCkdpw6EgY+G6oyBow6BuZyBow7NhIHbDoCBk4buLY2ggduG7pSB0xrDGoW5nIMSR4buRaSDhu5VuIMSR4buLbmgsIHR1eSBuaGnDqm4gbmjDs20gZ2lhbyB0aMO0bmcgY8OzIGJp4bq/biDEkeG7mW5nIG3huqFuaCBkbyBnacOhIHjEg25nLCBk4bqndSB0xINuZy4NCg0KTOG6oW0gcGjDoXQgY8ahIGLhuqNuIHRo4bqlcCBoxqFuIG3hu6ljIENQSSBiw6xuaCBxdcOibiBjaHVuZywgY2hvIHRo4bqleSDDoXAgbOG7sWMgbOG6oW0gcGjDoXQgdOG7qyBjw6FjIHnhur91IHThu5EgY+G7kXQgbMO1aSBjw7JuIHRo4bqlcC4NCg0KIyMjICoqMS4yLkdpYWkgxJFv4bqhbiA2LTEwLzIwMjEqKg0KYGBge3J9DQpjcGkyIDwtIGNwaSAlPiUgZmlsdGVyKHllYXIgPT0gIjIwMjEtMDYiIHwgeWVhciAgPT0gIjIwMjEtMDciIHwgeWVhciA9PSAiMjAyMS0wOCIgfCB5ZWFyID09ICIyMDIxLTA5IiB8IHllYXIgPT0gIjIwMjEtMTAiKQ0KZ2dwbG90KGNwaTIsIGFlcyh4ID0geWVhciwgeSA9IENQSSkpICsNCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIsIGZpbGwgPSAic2t5Ymx1ZSIpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgdGjhu4MgaGnhu4duIGNo4buJIHPhu5EgQ1BJIOG7nyBWaeG7h3QgTmFtICIpDQpgYGANCg0KQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBjaOG7iSBz4buRIENQSSAoQ2jhu4kgc+G7kSBnacOhIHRpw6p1IGTDuW5nKSBj4bunYSBWaeG7h3QgTmFtIHRyb25nIGdpYWkgxJFv4bqhbiB04burIHRow6FuZyA2IMSR4bq/biB0aMOhbmcgMTAgbsSDbSAyMDIxLg0KDQorIFRy4bulYyBob8Ogbmg6IFRo4buDIGhp4buHbiB0aOG7nWkgZ2lhbiwgdOG7qyB0aMOhbmcgNiDEkeG6v24gdGjDoW5nIDEwIG7Eg20gMjAyMS4NCisgVHLhu6VjIHR1bmc6IFRo4buDIGhp4buHbiBjaOG7iSBz4buRIENQSSwgduG7m2kgZ2nDoSB0cuG7iyB04burIDEwNCDEkeG6v24gMTA1Lg0KKyDEkMaw4budbmcgbcOgdSB4YW5oIGRhIHRy4budaTogVGjhu4MgaGnhu4duIHPhu7EgdGhheSDEkeG7lWkgY+G7p2EgY2jhu4kgc+G7kSBDUEkgdGhlbyB0aOG7nWkgZ2lhbi4NCg0KQ+G7pSB0aOG7gzoNCg0KKyBUaMOhbmcgNi8yMDIxOiBDaOG7iSBz4buRIENQSSBsw6AgMTA0LDg3Lg0KKyBUaMOhbmcgNy8yMDIxOiBDaOG7iSBz4buRIENQSSB0xINuZyBsw6puIDEwNSw1My4NCisgVGjDoW5nIDgvMjAyMTogQ2jhu4kgc+G7kSBDUEkgdGnhur9wIHThu6VjIHTEg25nIGzDqm4gMTA1LDc5Lg0KKyBUaMOhbmcgOS8yMDIxOiBDaOG7iSBz4buRIENQSSBnaeG6o20gbmjhurkgeHXhu5FuZyAxMDUsMTQuDQorIFRow6FuZyAxMC8yMDIxOiBDaOG7iSBz4buRIENQSSB0aeG6v3AgdOG7pWMgZ2nhuqNtIHh14buRbmcgMTA0LDkyLg0KDQojIyMgKioyLkPDoWMgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyoqDQoNClnhur91IHThu5EgdMOhYyDEkeG7mW5nOg0KDQorIEdpw6Egbmd1ecOqbiwgbmhpw6puLCB24bqtdCBsaeG7h3U6IEdpw6Egbmd1ecOqbiwgbmhpw6puLCB24bqtdCBsaeG7h3UgxJHhuqd1IHbDoG8gdMSDbmcgY2FvIGRvIOG6o25oIGjGsOG7n25nIGPhu6dhIGThu4tjaCBDb3ZpZC0xOSB2w6AgYmnhur9uIMSR4buZbmcgZ2nDoSB0aOG6vyBnaeG7m2kuDQorIEdpw6EgeMSDbmcgZOG6p3U6IEdpw6EgeMSDbmcgZOG6p3UgdMSDbmcgMTIsMDglIHNvIHbhu5tpIGPDuW5nIGvhu7MgbsSDbSB0csaw4bubYyBkbyBnacOhIGThuqd1IHRo4bq/IGdp4bubaSB0xINuZy4NCisgR2nDoSDEkWnhu4duOiBHacOhIMSRaeG7h24gc2luaCBob+G6oXQgdMSDbmcgMyw0NCUgc28gduG7m2kgY8O5bmcga+G7syBuxINtIHRyxrDhu5tjIGRvIGdpw6EgdGhhbiB2w6AgZ2nDoSBraMOtIMSR4buRdCB0xINuZy4NCisgR2nDoSBsxrDGoW5nIHRo4buxYzogR2nDoSBsxrDGoW5nIHRo4buxYyBnaeG6o20gMCwwNiUgc28gduG7m2kgY8O5bmcga+G7syBuxINtIHRyxrDhu5tjIGRvIG5ndeG7k24gY3VuZyBk4buTaSBkw6BvLg0KKyBHacOhIGThu4tjaCB24bulOiBHacOhIGThu4tjaCB24bulIHTEg25nIDEsMzElIHNvIHbhu5tpIGPDuW5nIGvhu7MgbsSDbSB0csaw4bubYyBkbyBuaHUgY+G6p3UgdGnDqnUgZMO5bmcgZOG7i2NoIHbhu6UgdMSDbmcuDQoNCkLDqm4gY+G6oW5oIMSRw7MsIGPDsm4gY8OzIG3hu5l0IHPhu5EgeeG6v3UgdOG7kSBraMOhYyDhuqNuaCBoxrDhu59uZyDEkeG6v24gQ1BJIG5oxrA6DQoNCisgQ2jDrW5oIHPDoWNoIHRp4buBbiB04buHOiBDaMOtbmggc8OhY2ggdGnhu4FuIHThu4cgbuG7m2kgbOG7j25nIGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gbOG6oW0gcGjDoXQgdMSDbmcuDQorIENow61uaCBzw6FjaCB0w6BpIGtow7NhOiBDaMOtbmggc8OhY2ggdMOgaSBraMOzYSBrw61jaCB0aMOtY2ggY8OzIHRo4buDIGThuqtuIMSR4bq/biBs4bqhbSBwaMOhdCB0xINuZy4NCisgTmh1IGPhuqd1IHRpw6p1IGTDuW5nOiBOaHUgY+G6p3UgdGnDqnUgZMO5bmcgdMSDbmcgY2FvIGPDsyB0aOG7gyBk4bqrbiDEkeG6v24gbOG6oW0gcGjDoXQgdMSDbmcuDQorIEdpw6EgbMawxqFuZyB0aOG7sWMgZ2nhuqNtLg0KKyBDaMOtbmggc8OhY2ggY+G7p2EgQ2jDrW5oIHBo4bunIGtp4buDbSBzb8OhdCBnacOhIGPhuqMuDQoNCg==