Energy


Energy
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/EN/EN20/ENX1ACT.px")

ENX1ACT_raw <- 
  url |> 
  statgl_fetch(
    type      = 0,
    product   = px_all(),
    use       = 0,
    time      = px_top(5),
    .col_code = T
  ) |> 
  as_tibble()

ENX1ACT <- 
  ENX1ACT_raw |> 
  unite(combi, use, type, sep = " ") |> 
  mutate(product = product |> fct_inorder()) |> 
  spread(time, value)

ENX1ACT |> 
  select(-1) |> 
  rename(" " = 1) |> 
  statgl_table() |> 
  row_spec(1, bold = T) |> 
  add_footnote(ENX1ACT_raw[[1]][1], notation = "symbol")
2017 2018 2019 2020 2021
Total 8.741 8.885 8.998 8.827 9.258
Gas oil 5.090 5.266 5.086 5.463 6.035
Gasoline 690 730 820 815 856
Kerosene / Jet Fuel 818 817 850 468 561
Diesel Fuel Arctic 190 189 170 170 170
LPG 3 3 3 3 3
Aviation Gasoline 1 1 1 0 0
Fueloil 498 302 515 282 1
Wasteoil 9 9 9 9 9
Waste heat 94 98 110 103 102
Hydropower 1.349 1.469 1.434 1.513 1.521
* Actual energy consumption


See the table in our Statbank: ENX1ACT

url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/EN/EN20/ENX2CO2.px")

ENX2CO2_raw <- 
  url |> 
  statgl_fetch(
    type      = 0,
    gas       = px_all(),
    time      = px_top(5),
    .col_code = T
  ) |> 
  as_tibble()

ENX2CO2 <- 
  ENX2CO2_raw |> 
  spread(gas, value)

ENX2CO2 |> 
  select(-1) |> 
  rename(" " = 1) |> 
  statgl_table() |> 
  add_footnote(ENX2CO2[[1]][1], notation = "symbol")
Carbon dioxide (CO2) Methane (CH4) Nitrous oxide (N2O)
2017 539.657,0 50,520 8,539
2018 540.255,4 50,933 8,675
2019 550.960,9 52,111 9,147
2020 532.903,5 52,043 8,392
2021 562.527,1 53,512 8,902
* Actual emission


See the table in our Statbank: ENX2CO2

Climate
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/EN/EN30/ENX1MID.px")

ENX1MID_raw <- 
  url |> 
  statgl_fetch(
    measuring         = px_all(),
    time              = px_top(),
    "weather station" = 5,
    month             = px_all(),
    .col_code         = T
  ) |> 
  as_tibble()

ENX1MID <- 
  ENX1MID_raw |> 
  mutate(month = month |> fct_inorder(),
         measuring = measuring |> fct_inorder()) |> 
  spread(measuring, value) |> 
  unite(combi, `weather station`, time, sep = " ")
  
ENX1MID |> 
  select(-1) |> 
  rename(" " = 1) |> 
  statgl_table() |> 
  add_footnote(ENX1MID[[1]][1], notation = "symbol")
Average Maximum temperature Minimum temperature
January -4,0 2,6 -9,8
February -7,6 3,9 -14,8
March -6,2 7,3 -22,2
April -1,4 7,6 -11,8
May 1,6 12,3 -3,8
June 4,9 14,9 0,0
July 7,9 18,1 0,5
August 7,9 16,6 2,8
September 2,8 12,2 -2,3
October 0,8 7,8 -6,1
November -3,2 6,6 -11,2
December -1,9 12,2 -9,0
* Nuuk 2021


See the table in our Statbank: ENX1MID

Motor vehicles
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/EN/EN40/ENXMO1HI.px")

ENXMO1HI_raw <- 
  url |> 
  statgl_fetch(
    ownership = 1:2,
    category  = px_all(),
    time      = px_top(),
    .col_code = T
  ) |> 
  as_tibble()

ENXMO1HI <- 
  ENXMO1HI_raw |> 
  mutate_all(~replace(., is.na(.), 0)) |> 
  mutate(category = category |> fct_inorder()) |> 
  spread(ownership, value)

ENXMO1HI |> 
  select(-time) |> 
  rename(" " = 1) |> 
  statgl_table() |> 
  row_spec(1, bold = T) |> 
  add_footnote(ENXMO1HI[[2]][1], notation = "symbol")
Businesses Private households
Motor vehicles total 6.763 7.748
Taxis 175 0
Rental cars 0 0
Cars 2.250 4.299
Buser 108 0
Emergency vehicles total 216 0
  • Of which Fire-engines
216 0
  • Of which Ambulances
0 0
Vans and Trucks total 1.609 90
  • Of which Vans
1.161 90
  • Of which Trucks
448 0
Motorcycles 0 4
Construction machineries 1.186 0
Trailers 338 121
Snowmobiles 459 2.848
ATV and 4-wheeler 354 384
Other motor vehicles 68 2
* 2023

See the table in our Statbank: ENXMO1HI

Last updated: 06. juni 2023
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGFuY2hvcl9zZWN0aW9uczogZmFsc2UNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQplZGl0b3Jfb3B0aW9uczogDQogIGNodW5rX291dHB1dF90eXBlOiBjb25zb2xlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQoNCmtuaXRyOjpvcHRzX2NodW5rJHNldCgNCgllY2hvICAgID0gVFJVRSwNCgltZXNzYWdlID0gRkFMU0UsDQoJd2FybmluZyA9IEZBTFNFLA0KCWNsYXNzLm91dHB1dCA9ICJzY3JvbGwtMTAwIg0KKQ0KDQpsaWJyYXJ5KCJ0aWR5dmVyc2UiKQ0KbGlicmFyeSgic3RhdGdsIikNCmxpYnJhcnkoImthYmxlRXh0cmEiKQ0KbGlicmFyeSgibHVicmlkYXRlIikNCmxpYnJhcnkoInlhbWwiKQ0KDQpsYW5ndWFnZSAgPC0gcGFyYW1zJGxhbmcNCm9wdGlvbiAgICA8LSBwYXN0ZTAoIj9sYW5nPSIsIGxhbmd1YWdlLCAiJnNlbGVjdCIpDQpsb2dvICAgICAgPC0gcGFzdGUwKGdldHdkKCksIi9hZGQvbG9nby5naWYiKQ0KdHh0ICAgICAgIDwtIHJlYWRfeWFtbChwYXN0ZTAoZ2V0d2QoKSwgIi9hZGQvdHh0LnltbCIpLCBmaWxlRW5jb2RpbmcgPSAiSVNPLTg4NTktMSIpDQpzb3VyY2UgICAgPC0gdHh0JHNvdXJjZVtsYW5ndWFnZV0gJT4lIHVubGlzdCgpDQoNCnhhcmluZ2FuRXh0cmE6OnVzZV9jbGlwYm9hcmQoKQ0KDQpgYGANCg0KYGBge2NzcywgZWNobyA9IEZBTFNFfQ0KDQouYWNjb3JkaW9uIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzkxOTkwMDsNCiAgY29sb3I6IHdoaXRlOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIHBhZGRpbmc6IDE4cHg7DQogIHdpZHRoOiAxMDAlOw0KICBib3JkZXI6IG5vbmU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgb3V0bGluZTogbm9uZTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICB0cmFuc2l0aW9uOiAwLjRzOw0KfQ0KDQouYWN0aXZlLCAuYWNjb3JkaW9uOmhvdmVyIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5NzI0MjsNCn0NCg0KLmFjY29yZGlvbjphZnRlciB7DQogIGNvbnRlbnQ6ICdcMDAyQic7DQogIGNvbG9yOiAjNzc3Ow0KICBmb250LXdlaWdodDogYm9sZDsNCiAgZmxvYXQ6IHJpZ2h0Ow0KICBtYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQouYWN0aXZlOmFmdGVyIHsNCiAgY29udGVudDogIlwyMjEyIjsNCn0NCg0KLnBhbmVsIHsNCiAgcGFkZGluZzogMHB4IDVweCAwcHggNXB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgbWF4LWhlaWdodDogMDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2Utb3V0Ow0KfQ0KDQpkZXRhaWxzIHsNCiAgd2lkdGg6IDEwMCU7DQp9DQoNCmRldGFpbHMgPiBzdW1tYXJ5IHsNCiAgcGFkZGluZzogNHB4IDEycHg7DQogIHdpZHRoOiAxMDAlOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3Zjk5Ow0KICBib3JkZXI6IHNvbGlkOw0KICBib3JkZXItY29sb3I6IHdoaXRlOw0KICBib3JkZXItcmFkaXVzOiA1cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBjb2xvcjogd2hpdGU7DQp9DQoNCmRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5IHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhYTQxYTsNCn0NCg0KDQoudGl0bGUgew0KICBjb2xvcjogIzFiNTQ2MzsNCiAgZm9udC1zaXplOiAzNnB4Ow0KfQ0KDQoNCi5wZXJzb25lciB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjMDA0NDU5Ow0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi7DuGtvbm9taSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjMDA3Rjk5Ow0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAxcHg7DQogIHBhZGRpbmctYm90dG9tOiAwLjFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi50dsOmcmfDpWVuZGUgew0KICBib3gtc2hhZG93OiAzcHggM3B4IDRweCBibGFjazsNCiAgYmFja2dyb3VuZDogI2ZhYTQxYTsNCiAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgcGFkZGluZy1sZWZ0OiAxNnB4Ow0KICBwYWRkaW5nLXRvcDogMC4xcHg7DQogIHBhZGRpbmctYm90dG9tOiAxcHg7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgY29sb3I6IHdoaXRlOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KDQouY29udGFpbmVyIHsNCiAgd2lkdGg6IGluaGVyaXQ7DQp9DQoNCi5zY3JvbGwtMTAwIHsNCiAgbWF4LWhlaWdodDogMTAwOw0KICBvdmVyZmxvdy15OiBhdXRvOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0Ow0KfQ0KDQoNCnByZSB7DQogIG1heC1oZWlnaHQ6IDMwMHB4Ow0KICBvdmVyZmxvdy15OiBhdXRvOw0KfQ0KDQpwcmVbY2xhc3NdIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQp9DQoNCmBgYA0KDQo8YnI+DQo8YnI+DQoNCjxjZW50ZXI+DQoNCi0tLSANCg0KIyBbYHIgdHh0JEVOJHRpdGxlW2xhbmd1YWdlXWBdey50aXRsZX0NCg0KLS0tDQoNCjwvY2VudGVyPg0KDQo8ZGV0YWlscz4gPHN1bW1hcnk+IGByIHR4dCRFTiRzdWIxW2xhbmd1YWdlXWAgPC9zdW1tYXJ5Pg0KPGJyPg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgJypUYWJlbCAxOioge3N0YXRnbF9tZXRhKGdsdWU6OmdsdWUoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS97bGFuZ3VhZ2V9L0dyZWVubGFuZC9FTi9FTjIwL0VOWDFBQ1QucHgiKSkgfD4gcGx1Y2soInRpdGxlIil9JyB8PiBnbHVlOjpnbHVlKCkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBFTlgxQUNUfQ0KDQp1cmwgPC0gcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbC9hcGkvdjEvIiwgbGFuZ3VhZ2UsICIvR3JlZW5sYW5kL0VOL0VOMjAvRU5YMUFDVC5weCIpDQoNCkVOWDFBQ1RfcmF3IDwtIA0KICB1cmwgfD4gDQogIHN0YXRnbF9mZXRjaCgNCiAgICB0eXBlICAgICAgPSAwLA0KICAgIHByb2R1Y3QgICA9IHB4X2FsbCgpLA0KICAgIHVzZSAgICAgICA9IDAsDQogICAgdGltZSAgICAgID0gcHhfdG9wKDUpLA0KICAgIC5jb2xfY29kZSA9IFQNCiAgKSB8PiANCiAgYXNfdGliYmxlKCkNCg0KRU5YMUFDVCA8LSANCiAgRU5YMUFDVF9yYXcgfD4gDQogIHVuaXRlKGNvbWJpLCB1c2UsIHR5cGUsIHNlcCA9ICIgIikgfD4gDQogIG11dGF0ZShwcm9kdWN0ID0gcHJvZHVjdCB8PiBmY3RfaW5vcmRlcigpKSB8PiANCiAgc3ByZWFkKHRpbWUsIHZhbHVlKQ0KDQpFTlgxQUNUIHw+IA0KICBzZWxlY3QoLTEpIHw+IA0KICByZW5hbWUoIiAiID0gMSkgfD4gDQogIHN0YXRnbF90YWJsZSgpIHw+IA0KICByb3dfc3BlYygxLCBib2xkID0gVCkgfD4gDQogIGFkZF9mb290bm90ZShFTlgxQUNUX3Jhd1tbMV1dWzFdLCBub3RhdGlvbiA9ICJzeW1ib2wiKQ0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRU5YMUFDVCIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvM2M1NDdlZjktNWM4Yi00N2E1LTkxYjktMjU5YzVmMGFkMTQ2Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgJypUYWJlbCAyOioge3N0YXRnbF9tZXRhKGdsdWU6OmdsdWUoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS97bGFuZ3VhZ2V9L0dyZWVubGFuZC9FTi9FTjIwL0VOWDJDTzIucHgiKSkgfD4gcGx1Y2soInRpdGxlIil9JyB8PiBnbHVlOjpnbHVlKCkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBFTlgyQ08yfQ0KDQp1cmwgPC0gcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbC9hcGkvdjEvIiwgbGFuZ3VhZ2UsICIvR3JlZW5sYW5kL0VOL0VOMjAvRU5YMkNPMi5weCIpDQoNCkVOWDJDTzJfcmF3IDwtIA0KICB1cmwgfD4gDQogIHN0YXRnbF9mZXRjaCgNCiAgICB0eXBlICAgICAgPSAwLA0KICAgIGdhcyAgICAgICA9IHB4X2FsbCgpLA0KICAgIHRpbWUgICAgICA9IHB4X3RvcCg1KSwNCiAgICAuY29sX2NvZGUgPSBUDQogICkgfD4gDQogIGFzX3RpYmJsZSgpDQoNCkVOWDJDTzIgPC0gDQogIEVOWDJDTzJfcmF3IHw+IA0KICBzcHJlYWQoZ2FzLCB2YWx1ZSkNCg0KRU5YMkNPMiB8PiANCiAgc2VsZWN0KC0xKSB8PiANCiAgcmVuYW1lKCIgIiA9IDEpIHw+IA0KICBzdGF0Z2xfdGFibGUoKSB8PiANCiAgYWRkX2Zvb3Rub3RlKEVOWDJDTzJbWzFdXVsxXSwgbm90YXRpb24gPSAic3ltYm9sIikNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkVOWDJDTzIiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzNjNTQ3ZWY5LTVjOGItNDdhNS05MWI5LTI1OWM1ZjBhZDE0NiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQoNCg0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEVOJHN1YjJbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciAnKlRhYmVsIDM6KiB7c3RhdGdsX21ldGEoZ2x1ZTo6Z2x1ZSgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2wvYXBpL3YxL3tsYW5ndWFnZX0vR3JlZW5sYW5kL0VOL0VOMzAvRU5YMU1JRC5weCIpKSB8PiBwbHVjaygidGl0bGUiKX0nIHw+IGdsdWU6OmdsdWUoKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIEVOWDFNSUR9DQoNCnVybCA8LSBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS8iLCBsYW5ndWFnZSwgIi9HcmVlbmxhbmQvRU4vRU4zMC9FTlgxTUlELnB4IikNCg0KRU5YMU1JRF9yYXcgPC0gDQogIHVybCB8PiANCiAgc3RhdGdsX2ZldGNoKA0KICAgIG1lYXN1cmluZyAgICAgICAgID0gcHhfYWxsKCksDQogICAgdGltZSAgICAgICAgICAgICAgPSBweF90b3AoKSwNCiAgICAid2VhdGhlciBzdGF0aW9uIiA9IDUsDQogICAgbW9udGggICAgICAgICAgICAgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgICAgICAgICA9IFQNCiAgKSB8PiANCiAgYXNfdGliYmxlKCkNCg0KRU5YMU1JRCA8LSANCiAgRU5YMU1JRF9yYXcgfD4gDQogIG11dGF0ZShtb250aCA9IG1vbnRoIHw+IGZjdF9pbm9yZGVyKCksDQogICAgICAgICBtZWFzdXJpbmcgPSBtZWFzdXJpbmcgfD4gZmN0X2lub3JkZXIoKSkgfD4gDQogIHNwcmVhZChtZWFzdXJpbmcsIHZhbHVlKSB8PiANCiAgdW5pdGUoY29tYmksIGB3ZWF0aGVyIHN0YXRpb25gLCB0aW1lLCBzZXAgPSAiICIpDQogIA0KRU5YMU1JRCB8PiANCiAgc2VsZWN0KC0xKSB8PiANCiAgcmVuYW1lKCIgIiA9IDEpIHw+IA0KICBzdGF0Z2xfdGFibGUoKSB8PiANCiAgYWRkX2Zvb3Rub3RlKEVOWDFNSURbWzFdXVsxXSwgbm90YXRpb24gPSAic3ltYm9sIikNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJFTlgxTUlEIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8zYjA3OTFiOC00N2UyLTQxODMtYjZkNC1lZDlhMzMwZTc4ZWEiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KDQoNCjwvZGV0YWlscz4NCg0KDQo8ZGV0YWlscz4gPHN1bW1hcnk+IGByIHR4dCRFTiRzdWIzW2xhbmd1YWdlXWAgPC9zdW1tYXJ5Pg0KPGJyPg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgJypUYWJlbCA0Oioge3N0YXRnbF9tZXRhKGdsdWU6OmdsdWUoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS97bGFuZ3VhZ2V9L0dyZWVubGFuZC9FTi9FTjQwL0VOWE1PMUhJLnB4IikpIHw+IHBsdWNrKCJ0aXRsZSIpfScgfD4gZ2x1ZTo6Z2x1ZSgpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCmBgYHtyIEVOWE1PMUhJfQ0KDQp1cmwgPC0gcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbC9hcGkvdjEvIiwgbGFuZ3VhZ2UsICIvR3JlZW5sYW5kL0VOL0VONDAvRU5YTU8xSEkucHgiKQ0KDQpFTlhNTzFISV9yYXcgPC0gDQogIHVybCB8PiANCiAgc3RhdGdsX2ZldGNoKA0KICAgIG93bmVyc2hpcCA9IDE6MiwNCiAgICBjYXRlZ29yeSAgPSBweF9hbGwoKSwNCiAgICB0aW1lICAgICAgPSBweF90b3AoKSwNCiAgICAuY29sX2NvZGUgPSBUDQogICkgfD4gDQogIGFzX3RpYmJsZSgpDQoNCkVOWE1PMUhJIDwtIA0KICBFTlhNTzFISV9yYXcgfD4gDQogIG11dGF0ZV9hbGwofnJlcGxhY2UoLiwgaXMubmEoLiksIDApKSB8PiANCiAgbXV0YXRlKGNhdGVnb3J5ID0gY2F0ZWdvcnkgfD4gZmN0X2lub3JkZXIoKSkgfD4gDQogIHNwcmVhZChvd25lcnNoaXAsIHZhbHVlKQ0KDQpFTlhNTzFISSB8PiANCiAgc2VsZWN0KC10aW1lKSB8PiANCiAgcmVuYW1lKCIgIiA9IDEpIHw+IA0KICBzdGF0Z2xfdGFibGUoKSB8PiANCiAgcm93X3NwZWMoMSwgYm9sZCA9IFQpIHw+IA0KICBhZGRfZm9vdG5vdGUoRU5YTU8xSElbWzJdXVsxXSwgbm90YXRpb24gPSAic3ltYm9sIikNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJFTlhNTzFISSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvODIxMDliOWEtNmYyMS00YjkxLWFiNGUtMjY1MTcxODc5OGQ1Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KPC9kZXRhaWxzPg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KPGhyIHN0eWxlPSJib3JkZXI6MXB4IHJpZGdlIGxpZ2h0Z3JheSI+IDwvaHI+DQo8Y2VudGVyPiA8c3BhbiBzdHlsZT0nY29sb3I6I0QzRDNEMzsgZm9udC1zaXplOjkwJTsnPiBgciBwYXN0ZSh0eHQkdXBkYXRlW2xhbmd1YWdlXSwgZm9ybWF0KFN5cy5EYXRlKCksICIlZC4gJUIgJVkiKSlgIDwvc3Bhbj4gPC9jZW50ZXI+DQoNCg0KDQoNCjxzY3JpcHQ+DQp2YXIgYWNjID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiYWNjb3JkaW9uIik7DQp2YXIgaTsNCg0KZm9yIChpID0gMDsgaSA8IGFjYy5sZW5ndGg7IGkrKykgew0KICBhY2NbaV0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpIHsNCiAgICB0aGlzLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIpOw0KICAgIHZhciBwYW5lbCA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nOw0KICAgIGlmIChwYW5lbC5zdHlsZS5tYXhIZWlnaHQpIHsNCiAgICAgIHBhbmVsLnN0eWxlLm1heEhlaWdodCA9IG51bGw7DQogICAgfSBlbHNlIHsNCiAgICAgIHBhbmVsLnN0eWxlLm1heEhlaWdodCA9IHBhbmVsLnNjcm9sbEhlaWdodCArICJweCI7DQogICAgfSANCiAgfSk7DQp9DQo8L3NjcmlwdD4NCg0KDQoNCg0K