Socialområdet


Arbejdsmarkedsydelser og barsel


SOX006_raw <- 
  statgl_url("SOX006", lang = language) |> 
  statgl_fetch(
    municipality = px_all(),
    unit         = px_all(),
    type         = px_all(),
    time         = px_top(),
    .col_code    = T
  ) |> 
  as_tibble()

SOX006 <- 
  SOX006_raw |> 
  mutate(municipality = municipality |> fct_inorder(),
         type = type |> fct_inorder()) |>
  spread(type, value) |> 
  arrange(unit) 

SOX006 |> 
  select(-c(2, 3)) |> 
  rename(" " = 1) |> 
  statgl_table() |> 
  pack_rows(index = table(SOX006[[3]])) |> 
  pack_rows(index = table(SOX006[2])) |> 
  row_spec(c(1, 7), bold = T)
Arbejdsmarkedsydelser, i alt Arbejdsmarkedsydelse ved ledighed Arbejdsmarkedsydelse ved hjemsendelse Arbejdsmarkedsydelse ved sygdom Barselsdagpenge
2022
Antal
I alt 3.056 757 396 2.197 846
Kommune Kujalleq 472 276 1 250 101
Kommuneqarfik Sermersooq 662 152 2 533 272
Qeqqata Kommunia 736 210 101 520 171
Kommune Qeqertalik 572 80 113 436 103
Avannaata Kommunia 614 39 179 458 199
Beløb (1000 DKK)
I alt 28.314 9.252 3.462 15.600 35.119
Kommune Kujalleq 5.329 3.168 14 2.147 4.317
Kommuneqarfik Sermersooq 7.453 3.080 18 4.355 10.739
Qeqqata Kommunia 5.355 1.783 431 3.142 7.735
Kommune Qeqertalik 5.183 930 1.409 2.844 4.222
Avannaata Kommunia 4.994 291 1.590 3.112 8.107


Se Statistikbankens tabel: SOX006

Familiepleje
SOXPV004_raw <- 
  statgl_url("SOXPV004", lang = language) %>%
  statgl_fetch(
    municipality = px_all(),
    year = px_top(1),
    .col_code = TRUE
  ) %>% 
  as_tibble()



SOXPV004_raw %>% 
  mutate(municipality = municipality %>% fct_inorder()) %>% 
  spread(year, value) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  row_spec(1, bold = TRUE)
2023
I alt 409
Kommuneqarfik Sermersooq 151
Avannaata Kommunia 60
Kommune Qeqertalik 51
Qeqqata Kommunia 71
Kommune Kujalleq 76


Se Statistikbankens tabel: SOXPV004

Offentlig hjælp
SOX004_raw <- 
  statgl_url("SOX004", lang = language) %>% 
  statgl_fetch(
    municipality = px_all(),
    unit         = px_all(),
    type         = 10,
    time         = px_top(),
    .col_code    = TRUE
  ) %>% 
  as_tibble()


SOX004 <- 
  SOX004_raw %>% 
  mutate(municipality = municipality %>% fct_inorder()) %>% 
  spread(unit, value) %>% 
  unite(combi, type, time, sep = ", ")


SOX004 %>% 
  select(-combi) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = SOX004[["combi"]] %>% table()) %>% 
  row_spec(1, bold = TRUE)
Antal Beløb (1000 DKK)
Offentlig hjælp i alt, 2022
I alt 3.323 53.040
Kommune Kujalleq 721 11.531
Kommuneqarfik Sermersooq 1.045 19.953
Qeqqata Kommunia 609 10.504
Kommune Qeqertalik 462 5.857
Avannaata Kommunia 486 5.196


Se Statistikbankens tabel: SOX004

Pensioner
SOXPEN1_raw <- 
  statgl_url("SOXPEN1", lang = language) %>% 
  statgl_fetch(
    gender    = px_all(),
    payment   = px_all(),
    time      = px_top(),
    .col_code = TRUE
  ) %>% 
  as_tibble()


SOXPEN1 <- 
  SOXPEN1_raw %>% 
  mutate(
    gender = gender %>% fct_inorder(),
    payment = payment %>% fct_inorder()
  ) %>% 
  spread(gender, value)

SOXPEN1 %>% 
  select(-time) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = SOXPEN1[["time"]] %>% table()) %>% 
  row_spec(1, bold = TRUE)
I alt Mand Kvinde
2022
I alt 6.322 3.278 3.044
Alderspension 3.859 1.994 1.865
Førtidspension 2.463 1.284 1.179


Se Statistikbankens tabel: SOXPEN1

Social forsorg


SOXFO10_raw <- 
  statgl_url("SOXFO10", lang = language) %>%
  statgl_fetch(
    "age group" = px_all(),
    gender      = px_all(),
    time        = px_top(1),
    .col_code   = TRUE
  ) %>% 
  as_tibble()



SOXFO10 <- 
  SOXFO10_raw %>% 
  filter(time == max(time)) %>% 
  mutate(
    `age group` = `age group` %>% fct_inorder(),
    gender = gender %>% fct_inorder()
  ) %>% 
  spread(gender, value)


SOXFO10 %>% 
  select(-time) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = SOXFO10[["time"]] %>% table()) %>% 
  row_spec(1, bold = TRUE)
I alt Mand Kvinde
2018
I alt 1.131 706 425
0-17 år 199 138 61
18-30 år 292 189 103
31-40 år 175 107 68
41-50 år 143 86 57
51-60 år 238 137 101
61+ år 84 49 35


Se Statistikbankens tabel: SOXFO10

Supplerende tilskudsordninger
SOXBS02_raw <- 
  statgl_url("SOXBS02", lang = language) |> 
  statgl_fetch(
    district  = px_all(),
    unit      = "Antal",
    time      = px_top(7),
    .col_code = T
  ) |> 
  as_tibble()

SOXBS02 <- 
  SOXBS02_raw |> 
  spread(time, value)

SOXBS02 |> 
  select(-unit) |> 
  rename(" " = 1) |> 
  statgl_table() |> 
  pack_rows(index = table(SOXBS02["unit"])) |> 
  row_spec(1, bold = T)
2016 2017 2018 2019 2020 2021 2022
Antal
I alt 4.421 4.115 3.941 3.822 3.729 3.653 3.527
Ilulissat 447 419 374 361 359 317 291
Ittoqotoormiit 25 23 23 32 22 19 25
Kangaatsiaq 45 48 37 35 28 35 32
Maniitsoq 302 291 316 302 293 283 279
Nanortalik 185 151 144 135 105 111 115
Narsaq 215 198 179 172 172 154 162
Nuuk 1.134 1.068 1.015 1.015 1.023 1.000 980
Paamiut 231 191 193 186 183 176 158
Qaqortoq 393 356 306 302 279 281 309
Qasigiannguit 149 140 126 112 106 108 93
Qeqertarsuaq 74 75 72 62 60 68 62
Qaanaaq 64 49 54 51 47 43 43
Sisimiut 545 522 533 499 509 510 495
Tasiilaq 168 153 153 153 142 144 135
Upernavik 43 39 45 38 26 36 29
Uummannaq 91 75 73 71 69 68 52
Aasiaat 310 317 298 296 306 300 267


Se Statistikbankens tabel: SOXBS02

Økonomisk udsatte


SODOU01_raw <- 
  statgl_url("SOXOU01", lang = language) %>% 
  statgl_fetch(
    "inventory variable" = c("Andel50", "Andel60"),
    gender = px_all(),
    year = px_top(1),
    .col_code = TRUE
  ) %>% 
  as_tibble()


SODOU01 <- 
  SODOU01_raw %>% 
  mutate(`inventory variable` = `inventory variable` %>% fct_inorder()) %>% 
  arrange(desc(gender)) %>% 
  mutate(gender = gender %>% fct_inorder() %>% fct_rev()) %>% 
  spread(gender, value)
  

SODOU01 %>% 
  select(-year) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = SODOU01[["year"]] %>% table())
I alt Kvinder Mænd
2022
andel under 50% 4,7 4,3 5,0
andel under 60% 8,8 8,4 9,2


Se Statistikbankens tabel: SOXOU01


Sidst opdateret: 17. april 2024
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQoNCmxhbmd1YWdlICA8LSBwYXJhbXMkbGFuZw0Kb3B0aW9uICAgIDwtIHBhc3RlMCgiP2xhbmc9IiwgbGFuZ3VhZ2UsICImc2VsZWN0IikNCmxvZ28gICAgICA8LSBwYXN0ZTAoZ2V0d2QoKSwiL2FkZC9sb2dvLmdpZiIpDQp0eHQgICAgICAgPC0gcmVhZF95YW1sKHBhc3RlMChnZXR3ZCgpLCAiL2FkZC90eHQueW1sIiksIGZpbGVFbmNvZGluZyA9ICJJU08tODg1OS0xIikNCnNvdXJjZSAgICA8LSB0eHQkc291cmNlW2xhbmd1YWdlXSAlPiUgdW5saXN0KCkNCg0KeGFyaW5nYW5FeHRyYTo6dXNlX2NsaXBib2FyZCgpDQoNCmBgYA0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQoNCi5hY2NvcmRpb24gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5OTAwOw0KICBjb2xvcjogd2hpdGU7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgcGFkZGluZzogMThweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE1cHg7DQogIHRyYW5zaXRpb246IDAuNHM7DQp9DQoNCi5hY3RpdmUsIC5hY2NvcmRpb246aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk3MjQyOw0KfQ0KDQouYWNjb3JkaW9uOmFmdGVyIHsNCiAgY29udGVudDogJ1wwMDJCJzsNCiAgY29sb3I6ICM3Nzc7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmbG9hdDogcmlnaHQ7DQogIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5hY3RpdmU6YWZ0ZXIgew0KICBjb250ZW50OiAiXDIyMTIiOw0KfQ0KDQoucGFuZWwgew0KICBwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBtYXgtaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogYXV0bzsNCiAgb3ZlcmZsb3cteTogaGlkZGVuOw0KICBvdmVyZmxvdy14OiBhdXRvOw0KICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7DQp9DQoNCmRldGFpbHMgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KZGV0YWlscyA+IHN1bW1hcnkgew0KICBwYWRkaW5nOiA0cHggMTJweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOTk7DQogIGJvcmRlcjogc29saWQ7DQogIGJvcmRlci1jb2xvcjogd2hpdGU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBmb250LXNpemU6IDE1cHg7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFhNDFhOw0KfQ0KDQoNCi50aXRsZSB7DQogIGNvbG9yOiAjMWI1NDYzOw0KICBmb250LXNpemU6IDM2cHg7DQp9DQoNCg0KLnBlcnNvbmVyIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDQ0NTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLsO4a29ub21pIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDdGOTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDFweDsNCiAgcGFkZGluZy1ib3R0b206IDAuMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLnR2w6ZyZ8OlZW5kZSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjZmFhNDFhOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXIgew0KICB3aWR0aDogaW5oZXJpdDsNCn0NCg0KLnNjcm9sbC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDA7DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCg0KcHJlIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQogIG92ZXJmbG93LXk6IGF1dG87DQp9DQoNCnByZVtjbGFzc10gew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCn0NCg0KYGBgDQoNCjxicj4NCjxicj4NCg0KPGNlbnRlcj4NCg0KLS0tDQogDQojIFtgciB0eHQkU08kdGl0bGVbbGFuZ3VhZ2VdYF17LnRpdGxlfQ0KIA0KLS0tDQo8L2NlbnRlcj4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkU08kc3ViMVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAxOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIlNPWDAwNiIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIFNPWDAwNn0NCg0KU09YMDA2X3JhdyA8LSANCiAgc3RhdGdsX3VybCgiU09YMDA2IiwgbGFuZyA9IGxhbmd1YWdlKSB8PiANCiAgc3RhdGdsX2ZldGNoKA0KICAgIG11bmljaXBhbGl0eSA9IHB4X2FsbCgpLA0KICAgIHVuaXQgICAgICAgICA9IHB4X2FsbCgpLA0KICAgIHR5cGUgICAgICAgICA9IHB4X2FsbCgpLA0KICAgIHRpbWUgICAgICAgICA9IHB4X3RvcCgpLA0KICAgIC5jb2xfY29kZSAgICA9IFQNCiAgKSB8PiANCiAgYXNfdGliYmxlKCkNCg0KU09YMDA2IDwtIA0KICBTT1gwMDZfcmF3IHw+IA0KICBtdXRhdGUobXVuaWNpcGFsaXR5ID0gbXVuaWNpcGFsaXR5IHw+IGZjdF9pbm9yZGVyKCksDQogICAgICAgICB0eXBlID0gdHlwZSB8PiBmY3RfaW5vcmRlcigpKSB8Pg0KICBzcHJlYWQodHlwZSwgdmFsdWUpIHw+IA0KICBhcnJhbmdlKHVuaXQpIA0KDQpTT1gwMDYgfD4gDQogIHNlbGVjdCgtYygyLCAzKSkgfD4gDQogIHJlbmFtZSgiICIgPSAxKSB8PiANCiAgc3RhdGdsX3RhYmxlKCkgfD4gDQogIHBhY2tfcm93cyhpbmRleCA9IHRhYmxlKFNPWDAwNltbM11dKSkgfD4gDQogIHBhY2tfcm93cyhpbmRleCA9IHRhYmxlKFNPWDAwNlsyXSkpIHw+IA0KICByb3dfc3BlYyhjKDEsIDcpLCBib2xkID0gVCkNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfSBgciBwYXN0ZShzb3VyY2UsICJTT1gwMDYiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxL2IxNmQ2ZGIzLTlmYWItNGRiMi1hMjIyLTA2OTZmYWY4Mzg5NCIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4NCjwvZGV0YWlscz4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkU08kc3ViMltsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMjogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJTT1hQVjAwNCIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIFNPWFBWMDA0fQ0KDQpTT1hQVjAwNF9yYXcgPC0gDQogIHN0YXRnbF91cmwoIlNPWFBWMDA0IiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUNCiAgc3RhdGdsX2ZldGNoKA0KICAgIG11bmljaXBhbGl0eSA9IHB4X2FsbCgpLA0KICAgIHllYXIgPSBweF90b3AoMSksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KDQoNClNPWFBWMDA0X3JhdyAlPiUgDQogIG11dGF0ZShtdW5pY2lwYWxpdHkgPSBtdW5pY2lwYWxpdHkgJT4lIGZjdF9pbm9yZGVyKCkpICU+JSANCiAgc3ByZWFkKHllYXIsIHZhbHVlKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcm93X3NwZWMoMSwgYm9sZCA9IFRSVUUpDQoNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIlNPWFBWMDA0IilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8zNWZmMjk4My1lOTI5LTRjYWMtOWE0NS1jZTdhZmQ0NzJjMWYiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPg0KDQo8ZGV0YWlscz4gPHN1bW1hcnk+IGByIHR4dCRTTyRzdWIzW2xhbmd1YWdlXWAgPC9zdW1tYXJ5PiANCjxicj4NCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAzOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIlNPWDAwNCIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIFNPWDAwNH0NCg0KU09YMDA0X3JhdyA8LSANCiAgc3RhdGdsX3VybCgiU09YMDA0IiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUgDQogIHN0YXRnbF9mZXRjaCgNCiAgICBtdW5pY2lwYWxpdHkgPSBweF9hbGwoKSwNCiAgICB1bml0ICAgICAgICAgPSBweF9hbGwoKSwNCiAgICB0eXBlICAgICAgICAgPSAxMCwNCiAgICB0aW1lICAgICAgICAgPSBweF90b3AoKSwNCiAgICAuY29sX2NvZGUgICAgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQoNClNPWDAwNCA8LSANCiAgU09YMDA0X3JhdyAlPiUgDQogIG11dGF0ZShtdW5pY2lwYWxpdHkgPSBtdW5pY2lwYWxpdHkgJT4lIGZjdF9pbm9yZGVyKCkpICU+JSANCiAgc3ByZWFkKHVuaXQsIHZhbHVlKSAlPiUgDQogIHVuaXRlKGNvbWJpLCB0eXBlLCB0aW1lLCBzZXAgPSAiLCAiKQ0KDQoNClNPWDAwNCAlPiUgDQogIHNlbGVjdCgtY29tYmkpICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKCkgJT4lIA0KICBwYWNrX3Jvd3MoaW5kZXggPSBTT1gwMDRbWyJjb21iaSJdXSAlPiUgdGFibGUoKSkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiU09YMDA0IilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8xNmRjYTg4Ni0zMjY1LTRkNGYtYjUzOS03NzBmZjE5MTM1N2YiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JFNPJHN1YjRbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+IA0KPGJyPg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDQ6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiU09YUEVOMSIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIEFMWEFMSzR9DQoNClNPWFBFTjFfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJTT1hQRU4xIiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUgDQogIHN0YXRnbF9mZXRjaCgNCiAgICBnZW5kZXIgICAgPSBweF9hbGwoKSwNCiAgICBwYXltZW50ICAgPSBweF9hbGwoKSwNCiAgICB0aW1lICAgICAgPSBweF90b3AoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQoNClNPWFBFTjEgPC0gDQogIFNPWFBFTjFfcmF3ICU+JSANCiAgbXV0YXRlKA0KICAgIGdlbmRlciA9IGdlbmRlciAlPiUgZmN0X2lub3JkZXIoKSwNCiAgICBwYXltZW50ID0gcGF5bWVudCAlPiUgZmN0X2lub3JkZXIoKQ0KICApICU+JSANCiAgc3ByZWFkKGdlbmRlciwgdmFsdWUpDQoNClNPWFBFTjEgJT4lIA0KICBzZWxlY3QoLXRpbWUpICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKCkgJT4lIA0KICBwYWNrX3Jvd3MoaW5kZXggPSBTT1hQRU4xW1sidGltZSJdXSAlPiUgdGFibGUoKSkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIlNPWFBFTjEiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzBmYTk0YWNlLTk2OWQtNDI5YS04Yjg3LWNhOWNkMmI1ZGFiNyIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQoNCjwvZGV0YWlscz4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkU08kc3ViNVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4NCjxicj4NCg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDU6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiU09YRk8xMCIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIFNPWEZPMTB9DQoNClNPWEZPMTBfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJTT1hGTzEwIiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUNCiAgc3RhdGdsX2ZldGNoKA0KICAgICJhZ2UgZ3JvdXAiID0gcHhfYWxsKCksDQogICAgZ2VuZGVyICAgICAgPSBweF9hbGwoKSwNCiAgICB0aW1lICAgICAgICA9IHB4X3RvcCgxKSwNCiAgICAuY29sX2NvZGUgICA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCg0KDQpTT1hGTzEwIDwtIA0KICBTT1hGTzEwX3JhdyAlPiUgDQogIGZpbHRlcih0aW1lID09IG1heCh0aW1lKSkgJT4lIA0KICBtdXRhdGUoDQogICAgYGFnZSBncm91cGAgPSBgYWdlIGdyb3VwYCAlPiUgZmN0X2lub3JkZXIoKSwNCiAgICBnZW5kZXIgPSBnZW5kZXIgJT4lIGZjdF9pbm9yZGVyKCkNCiAgKSAlPiUgDQogIHNwcmVhZChnZW5kZXIsIHZhbHVlKQ0KDQoNClNPWEZPMTAgJT4lIA0KICBzZWxlY3QoLXRpbWUpICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKCkgJT4lIA0KICBwYWNrX3Jvd3MoaW5kZXggPSBTT1hGTzEwW1sidGltZSJdXSAlPiUgdGFibGUoKSkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJTT1hGTzEwIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS9lZTFhZGYzMS00NTdjLTQ5YTctOGJjNy01NGEwZTBhOWZjOTAiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KDQo8L2RldGFpbHM+DQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JFNPJHN1YjZbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNjogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJTT1hCUzAyIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCmBgYHtyIFNPWEJTMDJ9DQoNClNPWEJTMDJfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJTT1hCUzAyIiwgbGFuZyA9IGxhbmd1YWdlKSB8PiANCiAgc3RhdGdsX2ZldGNoKA0KICAgIGRpc3RyaWN0ICA9IHB4X2FsbCgpLA0KICAgIHVuaXQgICAgICA9ICJBbnRhbCIsDQogICAgdGltZSAgICAgID0gcHhfdG9wKDcpLA0KICAgIC5jb2xfY29kZSA9IFQNCiAgKSB8PiANCiAgYXNfdGliYmxlKCkNCg0KU09YQlMwMiA8LSANCiAgU09YQlMwMl9yYXcgfD4gDQogIHNwcmVhZCh0aW1lLCB2YWx1ZSkNCg0KU09YQlMwMiB8PiANCiAgc2VsZWN0KC11bml0KSB8PiANCiAgcmVuYW1lKCIgIiA9IDEpIHw+IA0KICBzdGF0Z2xfdGFibGUoKSB8PiANCiAgcGFja19yb3dzKGluZGV4ID0gdGFibGUoU09YQlMwMlsidW5pdCJdKSkgfD4gDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUKQ0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiU09YQlMwMiIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvMzk4OGViYTAtNjc4MC00MzZkLTgxZGEtYmU3M2Y4NzRiMjY3Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2Pg0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JFNPJHN1YjdbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCA3OiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIlNPWE9VMDEiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBTT1hPVTAxfQ0KDQpTT0RPVTAxX3JhdyA8LSANCiAgc3RhdGdsX3VybCgiU09YT1UwMSIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAgImludmVudG9yeSB2YXJpYWJsZSIgPSBjKCJBbmRlbDUwIiwgIkFuZGVsNjAiKSwNCiAgICBnZW5kZXIgPSBweF9hbGwoKSwNCiAgICB5ZWFyID0gcHhfdG9wKDEpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCg0KU09ET1UwMSA8LSANCiAgU09ET1UwMV9yYXcgJT4lIA0KICBtdXRhdGUoYGludmVudG9yeSB2YXJpYWJsZWAgPSBgaW52ZW50b3J5IHZhcmlhYmxlYCAlPiUgZmN0X2lub3JkZXIoKSkgJT4lIA0KICBhcnJhbmdlKGRlc2MoZ2VuZGVyKSkgJT4lIA0KICBtdXRhdGUoZ2VuZGVyID0gZ2VuZGVyICU+JSBmY3RfaW5vcmRlcigpICU+JSBmY3RfcmV2KCkpICU+JSANCiAgc3ByZWFkKGdlbmRlciwgdmFsdWUpDQogIA0KDQpTT0RPVTAxICU+JSANCiAgc2VsZWN0KC15ZWFyKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gU09ET1UwMVtbInllYXIiXV0gJT4lIHRhYmxlKCkpDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiU09YT1UwMSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvYzdiYzlkNGItNGM5Ny00NjJkLWJiZDMtMjdjOTY4ZmM0MDU4Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KPC9kZXRhaWxzPg0KDQoNCjxociBzdHlsZT0iYm9yZGVyOjFweCByaWRnZSBsaWdodGdyYXkiPiA8L2hyPg0KPGNlbnRlcj4gPHNwYW4gc3R5bGU9J2NvbG9yOiNEM0QzRDM7IGZvbnQtc2l6ZTo5MCU7Jz4gYHIgcGFzdGUodHh0JHVwZGF0ZVtsYW5ndWFnZV0sIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQuICVCICVZIikpYCA8L3NwYW4+IDwvY2VudGVyPg0KDQoNCg0KDQo8c2NyaXB0Pg0KdmFyIGFjYyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImFjY29yZGlvbiIpOw0KdmFyIGk7DQoNCmZvciAoaSA9IDA7IGkgPCBhY2MubGVuZ3RoOyBpKyspIHsNCiAgYWNjW2ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7DQogICAgdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiKTsNCiAgICB2YXIgcGFuZWwgPSB0aGlzLm5leHRFbGVtZW50U2libGluZzsNCiAgICBpZiAocGFuZWwuc3R5bGUubWF4SGVpZ2h0KSB7DQogICAgICBwYW5lbC5zdHlsZS5tYXhIZWlnaHQgPSBudWxsOw0KICAgIH0gZWxzZSB7DQogICAgICBwYW5lbC5zdHlsZS5tYXhIZWlnaHQgPSBwYW5lbC5zY3JvbGxIZWlnaHQgKyAicHgiOw0KICAgIH0gDQogIH0pOw0KfQ0KPC9zY3JpcHQ+DQoNCg0K