yandex-money-sdk 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +13 -0
  5. data/Gemfile +11 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +263 -0
  8. data/Rakefile +7 -0
  9. data/lib/yandex_money/api.rb +261 -0
  10. data/lib/yandex_money/api/version.rb +5 -0
  11. data/spec/account_info_spec.rb +54 -0
  12. data/spec/auth_spec.rb +58 -0
  13. data/spec/cards_spec.rb +53 -0
  14. data/spec/fixtures/vcr_cassettes/accept_incoming_transfer_with_protection_code.yml +42 -0
  15. data/spec/fixtures/vcr_cassettes/accept_incoming_transfer_with_protection_code_with_wrong_code.yml +42 -0
  16. data/spec/fixtures/vcr_cassettes/get_account_info.yml +40 -0
  17. data/spec/fixtures/vcr_cassettes/get_instance_id_fail.yml +876 -0
  18. data/spec/fixtures/vcr_cassettes/get_instance_id_success.yml +874 -0
  19. data/spec/fixtures/vcr_cassettes/get_operation_details.yml +50 -0
  20. data/spec/fixtures/vcr_cassettes/get_operation_history.yml +187 -0
  21. data/spec/fixtures/vcr_cassettes/get_operation_history_with_params.yml +46 -0
  22. data/spec/fixtures/vcr_cassettes/get_token_from_authorization_code.yml +875 -0
  23. data/spec/fixtures/vcr_cassettes/get_wrong_operation_details.yml +40 -0
  24. data/spec/fixtures/vcr_cassettes/init_with_client_secret.yml +839 -0
  25. data/spec/fixtures/vcr_cassettes/init_without_client_secret.yml +835 -0
  26. data/spec/fixtures/vcr_cassettes/initialize_with_token.yml +911 -0
  27. data/spec/fixtures/vcr_cassettes/obtain_token_for_get_account_info.yml +877 -0
  28. data/spec/fixtures/vcr_cassettes/obtain_token_for_making_payments_to_an_account.yml +875 -0
  29. data/spec/fixtures/vcr_cassettes/obtain_token_for_payments_from_bank_cards_without_authorization.yml +839 -0
  30. data/spec/fixtures/vcr_cassettes/process_external_payment.yml +40 -0
  31. data/spec/fixtures/vcr_cassettes/process_payment_to_an_account_with_failure.yml +43 -0
  32. data/spec/fixtures/vcr_cassettes/reject_payment.yml +42 -0
  33. data/spec/fixtures/vcr_cassettes/reject_payment_fail.yml +42 -0
  34. data/spec/fixtures/vcr_cassettes/request_external_payment.yml +46 -0
  35. data/spec/fixtures/vcr_cassettes/request_payment_to_an_account_with_failure.yml +43 -0
  36. data/spec/fixtures/vcr_cassettes/success_process_payment_to_an_account.yml +42 -0
  37. data/spec/fixtures/vcr_cassettes/success_request_payment_to_an_account.yml +43 -0
  38. data/spec/fixtures/vcr_cassettes/token_with_client_secret.yml +874 -0
  39. data/spec/payments_spec.rb +96 -0
  40. data/spec/spec_helper.rb +17 -0
  41. data/spec/support/constants.rb +6 -0
  42. data/yandex-money-sdk.gemspec +30 -0
  43. metadata +230 -0
@@ -0,0 +1,5 @@
1
+ module YandexMoney
2
+ class Api
3
+ VERSION = "0.9.0"
4
+ end
5
+ end
@@ -0,0 +1,54 @@
1
+ require "spec_helper"
2
+
3
+ describe "get account info" do
4
+ before :all do
5
+ VCR.use_cassette "obtain token for get account info" do
6
+ @api = YandexMoney::Api.new(
7
+ client_id: CLIENT_ID,
8
+ redirect_uri: REDIRECT_URI,
9
+ scope: "account-info operation-history operation-details"
10
+ )
11
+ @api.code = "39041180F6631E2B56DD0058F75A34C7504226178A45D624313495ECD417DCC3AA6CBF1B010E65BB09F3F9EB5AE63452129BAE2B732B7457C33BE6B2039B7B60A8058D2A387729A601DC817BBFB27CB0CC2D65E3C70997D981AC0E31F18CF32C0675DFD461E2F5C5639B75AC0E5074CE64FCF4546447BBDC566E3459FB1B3C3B"
12
+ @api.obtain_token
13
+ end
14
+ end
15
+
16
+ # http://api.yandex.ru/money/doc/dg/reference/account-info.xml
17
+ it "should return account info" do
18
+ VCR.use_cassette "get account info" do
19
+ info = @api.account_info
20
+ expect(info.account).to eq("41001565326286")
21
+ end
22
+ end
23
+
24
+ # http://api.yandex.com/money/doc/dg/reference/operation-history.xml
25
+ it "should return operation history" do
26
+ VCR.use_cassette "get operation history" do
27
+ history = @api.operation_history
28
+ expect(history.operations.count).to eq 30
29
+ end
30
+ end
31
+
32
+ it "should return operation history with params" do
33
+ VCR.use_cassette "get operation history with params" do
34
+ history = @api.operation_history(records: 1)
35
+ expect(history.operations.count).to eq 1
36
+ end
37
+ end
38
+
39
+ # http://api.yandex.com/money/doc/dg/reference/operation-details.xml
40
+ describe "operation details" do
41
+ it "should return valid operation details" do
42
+ VCR.use_cassette "get operation details" do
43
+ details = @api.operation_details "462449992116028008"
44
+ expect(details.status).to eq "success"
45
+ end
46
+ end
47
+
48
+ it "should raise exception if operation_id is wrong" do
49
+ VCR.use_cassette "get wrong operation details" do
50
+ expect { @api.operation_details "unknown" }.to raise_error "Illegal param operation id"
51
+ end
52
+ end
53
+ end
54
+ end
data/spec/auth_spec.rb ADDED
@@ -0,0 +1,58 @@
1
+ require "spec_helper"
2
+
3
+ describe "Application authorization flow" do
4
+ # http://api.yandex.ru/money/doc/dg/reference/request-access-token.xml
5
+ it "should properly initialize without client_secret" do
6
+ VCR.use_cassette "init without client secret" do
7
+ api = YandexMoney::Api.new(
8
+ client_id: CLIENT_ID,
9
+ redirect_uri: REDIRECT_URI,
10
+ scope: "account-info operation-history"
11
+ )
12
+ expect(api.client_url).to start_with("https://money.yandex.ru/select-wallet.xml?requestid=")
13
+ end
14
+ end
15
+
16
+ # http://api.yandex.ru/money/doc/dg/reference/request-access-token.xml
17
+ it "should get token with usage of client_secret" do
18
+ VCR.use_cassette "token with client secret" do
19
+ api = YandexMoney::Api.new(
20
+ client_id: "2CB2BBF0788E79A1537437CFD37B15A3E21DAAEE5CD0AE8981118C1CFC6F376A",
21
+ redirect_uri: REDIRECT_URI,
22
+ scope: "account-info operation-history",
23
+ client_secret: "6FAFA896BD2C77E21E240081CDFF3B007451876AB9C186DE2AD2EDDCE29CE3E1BCC1A2789B53583F3398ACD8127A61851357C5D3F444D58F8B5F0AA4F78F088D"
24
+ )
25
+ api.code = "94D93C28E1B27B02A36D495B01BB410EB415EF0152FA30837DEAF307773EDB9734B46954292458D3E5B0E8ABD70C1AF1EE71D64648FB65E7DA8ADAC961970709C3BEBA1AF949F73BAEA2134D386D2ED31CA3F001A45EA05A614432A196A6BEA7B042A0ABDA6E62BA108F864FC400286F388A41454DD961A4A782BF32A80F3816"
26
+ api.obtain_token
27
+ expect(api.token).to start_with("41001565326286")
28
+ end
29
+ end
30
+
31
+ # http://api.yandex.ru/money/doc/dg/reference/obtain-access-token.xml
32
+ it "should get token from code" do
33
+ VCR.use_cassette "get token from authorization code" do
34
+ api = YandexMoney::Api.new(
35
+ client_id: CLIENT_ID,
36
+ redirect_uri: REDIRECT_URI,
37
+ scope: "account-info operation-history"
38
+ )
39
+ api.code = "736557BEBF03A1867FFF179F8FADF0F33841471B31BD9ECF2AC59480D0F123475E6261300B1FED6CDB7C067EF4C5E9CC860A31839D52FA5950B5CAFD18C29FE0A31D2F53618D000BAA7C733B2A143C148C4631EFDEAB29151A5EA92B6B099AAEE31A82BF9F7C13EC2E8EAFF44F62D1326EDEBDA4668631ACC367967DDA57F875"
40
+ api.obtain_token
41
+ expect(api.token).to start_with("41001565326286.D206A82773387134BB25CF89A85256EA")
42
+ end
43
+ end
44
+
45
+ it "could be initialized with token" do
46
+ VCR.use_cassette "initialize with token" do
47
+ token_api = YandexMoney::Api.new(
48
+ client_id: CLIENT_ID,
49
+ redirect_uri: REDIRECT_URI,
50
+ scope: "account-info"
51
+ )
52
+ token_api.code = "7E0C87AE3AFAE96E87FDD780A034FD696264A68CEE8CD9BFDD9F247D32AF6AD1FABC6733D1AFAD65FD08C8112C9D1E8BE80D996F6CF026916154A7A59B431D7A2D02E5845192A2956348C46D85799622DCFEDF4F2DEB80EA81BC1EA5D8874065D0E3828C556754CA60D3B281A1F530DED7B74F415EE8C6B703D34F4A53AE5F90"
53
+ token_api.obtain_token
54
+ api = YandexMoney::Api.new(token: token_api.token)
55
+ expect(api.account_info.account).to eq("41001565326286")
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,53 @@
1
+ require "spec_helper"
2
+
3
+ describe "Payments from bank cards without authorization" do
4
+ before :all do
5
+ VCR.use_cassette "obtain token for payments from bank cards without authorization" do
6
+ end
7
+ end
8
+ it "should fail when try to register an instance of application without connected market" do
9
+ VCR.use_cassette "get instance id fail" do
10
+ @api = YandexMoney::Api.new(
11
+ client_id: nil
12
+ )
13
+ expect { @api.get_instance_id }.to raise_exception("Illegal param client id")
14
+ end
15
+ end
16
+
17
+ it "should register an instance of application" do
18
+ VCR.use_cassette "get instance id success" do
19
+ @api = YandexMoney::Api.new(
20
+ client_id: CLIENT_ID
21
+ )
22
+ expect(@api.get_instance_id).to eq(INSTANCE_ID)
23
+ end
24
+ end
25
+
26
+ it "should request external payment" do
27
+ VCR.use_cassette "request external payment" do
28
+ @api = YandexMoney::Api.new(
29
+ client_id: CLIENT_ID,
30
+ instance_id: INSTANCE_ID
31
+ )
32
+ expect(@api.request_external_payment({
33
+ pattern_id: "p2p",
34
+ to: "410011285611534",
35
+ amount_due: "1.00",
36
+ message: "test"
37
+ }).status).to eq("success")
38
+ end
39
+ end
40
+
41
+ it "should process external payment" do
42
+ VCR.use_cassette "process external payment" do
43
+ @api = YandexMoney::Api.new(
44
+ instance_id: INSTANCE_ID
45
+ )
46
+ expect(@api.process_external_payment({
47
+ request_id: REQUEST_ID,
48
+ ext_auth_success_uri: "http://drakmail.ru/success",
49
+ ext_auth_fail_uri: "http://drakmail.ru/fail"
50
+ }).status).to eq("ext_auth_required")
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://money.yandex.ru/api/incoming-transfer-accept
6
+ body:
7
+ encoding: UTF-8
8
+ string: operation_id=463937708331015004&protection_code=0208
9
+ headers:
10
+ Cookie:
11
+ - yandexuid=4504946371409241364
12
+ Authorization:
13
+ - Bearer 41001565326286.F231B646B62994F492C42942769B28211D996082FB0E553BF7D8783D91D6A2FF8CB9C83EA2E7A6A1DC303369916D25A8B60F63E52F6C19784F3F703B54332655CF59964ADFEF6D188F74E912617D7B0954A7BDEF83A683C09DAB35BC189785C3A1E6D0D7168F980875A67962C6119E87A18442E600F0ADB431DD1BCF33C905D3
14
+ Content-Type:
15
+ - application/x-www-form-urlencoded
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 13 Sep 2014 15:36:13 GMT
25
+ Content-Type:
26
+ - application/json;charset=UTF-8
27
+ Content-Length:
28
+ - '20'
29
+ Connection:
30
+ - keep-alive
31
+ Keep-Alive:
32
+ - timeout=120
33
+ Vary:
34
+ - Accept-Encoding
35
+ Cache-Control:
36
+ - no-cache
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"status":"success"}'
40
+ http_version:
41
+ recorded_at: Sat, 13 Sep 2014 15:36:13 GMT
42
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://money.yandex.ru/api/incoming-transfer-accept
6
+ body:
7
+ encoding: UTF-8
8
+ string: operation_id=463937921796020004&protection_code=6377
9
+ headers:
10
+ Cookie:
11
+ - yandexuid=4504946371409241364
12
+ Authorization:
13
+ - Bearer 41001565326286.F231B646B62994F492C42942769B28211D996082FB0E553BF7D8783D91D6A2FF8CB9C83EA2E7A6A1DC303369916D25A8B60F63E52F6C19784F3F703B54332655CF59964ADFEF6D188F74E912617D7B0954A7BDEF83A683C09DAB35BC189785C3A1E6D0D7168F980875A67962C6119E87A18442E600F0ADB431DD1BCF33C905D3
14
+ Content-Type:
15
+ - application/x-www-form-urlencoded
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 13 Sep 2014 15:39:06 GMT
25
+ Content-Type:
26
+ - application/json;charset=UTF-8
27
+ Content-Length:
28
+ - '99'
29
+ Connection:
30
+ - keep-alive
31
+ Keep-Alive:
32
+ - timeout=120
33
+ Vary:
34
+ - Accept-Encoding
35
+ Cache-Control:
36
+ - no-cache
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"status":"refused","error":"illegal_param_protection_code","protection_code_attempts_available":2}'
40
+ http_version:
41
+ recorded_at: Sat, 13 Sep 2014 15:39:06 GMT
42
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://money.yandex.ru/api/account-info
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer 41001565326286.42598500AE42A3672ED59463D02EC424B7CD31B416309A392125FA45E79290F3FCFA2CF178D314A0B396659EEAC938BDF8480229BC55CDFD039E66AFFCF5109B44F306D80B6B88FFEF8E87C2C1199949B5CD43B422BB6C2AD857CB9B0AB0FAF316B864F5870BB19C37B08CAEDDB6642401119F1CE8A1D3C23F54EE145A4933A3
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - nginx
21
+ Date:
22
+ - Sat, 30 Aug 2014 13:11:08 GMT
23
+ Content-Type:
24
+ - application/json;charset=UTF-8
25
+ Content-Length:
26
+ - '282'
27
+ Connection:
28
+ - keep-alive
29
+ Keep-Alive:
30
+ - timeout=120
31
+ Vary:
32
+ - Accept-Encoding
33
+ Cache-Control:
34
+ - no-cache
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"account":"41001565326286","balance":48.98,"currency":"643","avatar":{"ts":"2012-05-02T17:22:59.000+04:00","url":"https://avatars.yandex.net/get-yamoney-profile/yamoney-profile-56809635-2/normal?1335964979000"},"account_type":"personal","identified":false,"account_status":"named"}'
38
+ http_version:
39
+ recorded_at: Sat, 30 Aug 2014 13:11:08 GMT
40
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,876 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://sp-money.yandex.ru/oauth/authorize
6
+ body:
7
+ encoding: UTF-8
8
+ string: client_id=&response_type=code&redirect_uri=&scope=
9
+ headers:
10
+ Cookie:
11
+ - yandexuid=4504946371409241364
12
+ response:
13
+ status:
14
+ code: 302
15
+ message: Found
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Sat, 13 Sep 2014 15:14:57 GMT
21
+ Content-Type:
22
+ - text/html
23
+ Transfer-Encoding:
24
+ - chunked
25
+ Connection:
26
+ - keep-alive
27
+ Keep-Alive:
28
+ - timeout=120
29
+ Cache-Control:
30
+ - max-age=0, proxy-revalidate
31
+ Expires:
32
+ - Sat, 13 Sep 2014 15:19:57 GMT
33
+ Location:
34
+ - https://money.yandex.ru/select-wallet.xml?requestid=313230393538343234375f30613035386162376337643333323036343534663831393534393938666335653536353238386136
35
+ body:
36
+ encoding: UTF-8
37
+ string: ''
38
+ http_version:
39
+ recorded_at: Sat, 13 Sep 2014 15:14:57 GMT
40
+ - request:
41
+ method: get
42
+ uri: https://money.yandex.ru/select-wallet.xml?requestid=313230393538343234375f30613035386162376337643333323036343534663831393534393938666335653536353238386136
43
+ body:
44
+ encoding: UTF-8
45
+ string: client_id=&response_type=code&redirect_uri=&scope=
46
+ headers:
47
+ Cookie:
48
+ - yandexuid=4504946371409241364
49
+ response:
50
+ status:
51
+ code: 200
52
+ message: OK
53
+ headers:
54
+ Server:
55
+ - nginx
56
+ Date:
57
+ - Sat, 13 Sep 2014 15:14:58 GMT
58
+ Content-Type:
59
+ - text/html; charset=utf-8
60
+ Transfer-Encoding:
61
+ - chunked
62
+ Connection:
63
+ - keep-alive
64
+ Keep-Alive:
65
+ - timeout=120
66
+ Vary:
67
+ - Accept-Encoding
68
+ Cache-Control:
69
+ - max-age=0, proxy-revalidate
70
+ Expires:
71
+ - Sat, 13 Sep 2014 15:19:58 GMT
72
+ X-Frame-Options:
73
+ - deny
74
+ Set-Cookie:
75
+ - yamoney_sw_1=true; path=/; expires=Tue, 19 Jan 2038 03:14:07 GMT
76
+ - yamoney_ur=GIdQIgimYFIEowKIGkCSYTIOIwBLwIGVlkwUdg8DdlhJkbpNUqcQZiBVDZTq9iEkiRgATVrIAgtmwx0YYIirIOuSTBXs%2BbDvDCToMI4xiDwCpfiWEY4abEakqx0sDhAA;
77
+ domain=money.yandex.ru; path=/; expires=Sun, 13 Sep 2015 15:14:59 GMT; secure;
78
+ HttpOnly
79
+ body:
80
+ encoding: ASCII-8BIT
81
+ string: !binary |-
82
+ PCFET0NUWVBFIGh0bWwgU1lTVEVNICJhYm91dDpsZWdhY3ktY29tcGF0Ij4K
83
+ PGh0bWwgY2xhc3M9ImktdWFfanNfbm8gaS11YV9jc3Nfc3RhbmRhcnQiPgo8
84
+ aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50
85
+ PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgo8dGl0bGU+0K/QvdC00LXQ
86
+ utGBLtCU0LXQvdGM0LPQuDwvdGl0bGU+CjxtZXRhIG5hbWU9IlNLWVBFX1RP
87
+ T0xCQVIiIGNvbnRlbnQ9IlNLWVBFX1RPT0xCQVJfUEFSU0VSX0NPTVBBVElC
88
+ TEUiPgo8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRl
89
+ bnQ9IklFPUVtdWxhdGVJRTcsIElFPWVkZ2UiPgo8IS0tW2lmIGd0IElFIDld
90
+ PjwhLS0+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL21vbmV5Lnlh
91
+ bmRleC5ydS9sZWdvL2Nzcy9fbW9uZXkuY3NzP2J1aWxkPTMyMiI+CjwhLS08
92
+ IVtlbmRpZl0tLT48IS0tW2lmIElFIDZdPjxsaW5rIHJlbD1zdHlsZXNoZWV0
93
+ IGhyZWY9Imh0dHBzOi8vbW9uZXkueWFuZGV4LnJ1L2xlZ28vY3NzL19tb25l
94
+ eS5pZTYuY3NzP2J1aWxkPTMyMiI+PCFbZW5kaWZdLS0+PCEtLVtpZiBJRSA3
95
+ XT48bGluayByZWw9c3R5bGVzaGVldCBocmVmPSJodHRwczovL21vbmV5Lnlh
96
+ bmRleC5ydS9sZWdvL2Nzcy9fbW9uZXkuaWU3LmNzcz9idWlsZD0zMjIiPjwh
97
+ W2VuZGlmXS0tPjwhLS1baWYgSUUgOF0+PGxpbmsgcmVsPXN0eWxlc2hlZXQg
98
+ aHJlZj0iaHR0cHM6Ly9tb25leS55YW5kZXgucnUvbGVnby9jc3MvX21vbmV5
99
+ LmllOC5jc3M/YnVpbGQ9MzIyIj48IVtlbmRpZl0tLT48IS0tW2lmIElFIDld
100
+ PjxsaW5rIHJlbD1zdHlsZXNoZWV0IGhyZWY9Ii8vbW9uZXkueWFuZGV4LnJ1
101
+ L2xlZ28vY3NzL19tb25leS5pZTkuY3NzP2J1aWxkPTMyMiI+PCFbZW5kaWZd
102
+ LS0+PCEtLVtpZiBndCBJRSA3XT48IS0tPjxsaW5rIHJlbD0ic3R5bGVzaGVl
103
+ dCIgaHJlZj0iLy9tb25leS55YW5kZXgucnUvbGVnby9jc3MvX2xlZ28uY3Nz
104
+ P2J1aWxkPTMyMiI+CjwhLS08IVtlbmRpZl0tLT48IS0tW2lmIGx0IElFIDhd
105
+ PjxsaW5rIHJlbD1zdHlsZXNoZWV0IGhyZWY9Ii8vbW9uZXkueWFuZGV4LnJ1
106
+ L2xlZ28vY3NzL19sZWdvLmllLmNzcz9idWlsZD0zMjIiPjwhW2VuZGlmXS0t
107
+ PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy9tb25leS55YW5kZXgu
108
+ cnUvY3NzL3VpL3VpLmNzcz9idWlsZD0zMjIiPgo8c2NyaXB0IHR5cGU9InRl
109
+ eHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiIHNyYz0iLy95YW5kZXgu
110
+ c3QvanF1ZXJ5LzEuNy4wL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PjxzY3Jp
111
+ cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCIgc3Jj
112
+ PSIvL21vbmV5LnlhbmRleC5ydS9sZWdvL2pzL19tb25leS5qcz9idWlsZD0z
113
+ MjIiPjwvc2NyaXB0PjxzY3JpcHQgY2hhcnNldD0idXRmLTgiIHNyYz0iLy9t
114
+ b25leS55YW5kZXgucnUvbGVnby9qcy9fbGVnby5qcz9idWlsZD0zMjIiPjwv
115
+ c2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0
116
+ PSJ1dGYtOCIgc3JjPSIvL21vbmV5LnlhbmRleC5ydS9qcy91aS91aS5ydS5q
117
+ cz9idWlsZD0zMjIiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
118
+ c2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCIgc3JjPSIvL21vbmV5LnlhbmRleC5y
119
+ dS9qcy91aS91aS5qcz9idWlsZD0zMjIiPjwvc2NyaXB0PjxzY3JpcHQgdHlw
120
+ ZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhLS0KOyhmdW5jdGlvbihkLGUsYyxy
121
+ KXtlPWQuZG9jdW1lbnRFbGVtZW50O2M9ImNsYXNzTmFtZSI7cj0icmVwbGFj
122
+ ZSI7ZVtjXT1lW2NdW3JdKCJpLXVhX2pzX25vIiwiaS11YV9qc195ZXMiKTtp
123
+ ZihkLmNvbXBhdE1vZGUhPSJDU1MxQ29tcGF0IillW2NdPWVbY11bcl0oImkt
124
+ dWFfY3NzX3N0YW5kYXJ0IiwiaS11YV9jc3NfcXVpcmtzIil9KGRvY3VtZW50
125
+ KSk7Ci8vLS0+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
126
+ cHQiPi8vPCEtLQpMZWdvLmluaXQoe2xvZ2luOicnLGxvY2FsZToncnUnLGxh
127
+ bmc6J3J1JywnY29udGVudC1yZWdpb24nOidydScsaWQ6J21vbmV5JywnbGVn
128
+ by1zdGF0aWMtaG9zdCc6J1wvXC95YW5kZXguc3RcL2xlZ29cLzIuMTAtMTEy
129
+ JywnY2xpY2staG9zdCc6J1wvXC9jbGNrLnlhbmRleC5ydScsJ3Bhc3MtaG9z
130
+ dCc6J1wvXC9wYXNzLnlhbmRleC5ydScsJ2V4cG9ydC1ob3N0JzonXC9cL2V4
131
+ cG9ydC55YW5kZXgucnUnLCdsZWdvLXBhdGgnOidcL2xlZ28nLCd1c2VyLXJl
132
+ Z2lvbic6J3J1JywneWFuZGV4dWlkJzonNDUwNDk0NjM3MTQwOTI0MTM2NCcs
133
+ J3JldHBhdGgnOidodHRwczpcL1wvbW9uZXkueWFuZGV4LnJ1XC9zZWxlY3Qt
134
+ d2FsbGV0LnhtbD9yZXF1ZXN0aWQ9MzEzMjMwMzkzNTM4MzQzMjM0Mzc1ZjMw
135
+ NjEzMDM1Mzg2MTYyMzc2MzM3NjQzMzMzMzIzMDM2MzQzNTM0NjYzODMxMzkz
136
+ NTM0MzkzOTM4NjY2MzM1NjUzNTM2MzUzMjM4Mzg2MTM2JywncGFzc3BvcnQt
137
+ bXNnJzonbW9uZXknLCdwYXNzcG9ydC1ob3N0JzonaHR0cHM6XC9cL3Bhc3Nw
138
+ b3J0LnlhbmRleC5ydScsJ3NvY2lhbC1ob3N0JzonaHR0cHM6XC9cL3NvY2lh
139
+ bC55YW5kZXgucnUnLCBvZnJhbWVidXN0OiB7fX0pCi8vLS0+PC9zY3JpcHQ+
140
+ PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciB5bSA9IHltIHx8
141
+ IHt9OyB5bS5pMThuID0geW0uaTE4biB8fCB7fTsgeW0uaTE4bi5sYW5nID0g
142
+ J3J1Jzs8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
143
+ c3JjPSIvL2Nzcy55YW5kZXgucnUvY3NzL2luYm94LmpzIj48L3NjcmlwdD48
144
+ c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJCShmdW5jdGlvbigk
145
+ KSB7CgkJCQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKCQkJCQl2
146
+ YXIgcnVuT25Ib3N0ID0gJ21vbmV5LnlhbmRleC5ydSc7CgkJCQkJJCgnLmNv
147
+ bnRlbnQgYVtocmVmXj0iaHR0cCJdJykKCQkJCQkJLmZpbHRlcihmdW5jdGlv
148
+ bigpIHsKCQkJCQkJCXJldHVybiAoISQodGhpcykuYXR0cignb25jbGljaycp
149
+ KSAmJgoJCQkJCQkJCQkoJCh0aGlzKS5hdHRyKCdocmVmJykuaW5kZXhPZign
150
+ Y2xjay55YW5kZXgucnUnKSA9PSAtMSkgJiYgKAoJCQkJCQkJCQkoJCh0aGlz
151
+ KS5hdHRyKCdocmVmJykuaW5kZXhPZihydW5Pbkhvc3QpID09IC0xKSB8fAoJ
152
+ CQkJCQkJCQkoJCh0aGlzKS5hdHRyKCdocmVmJykuaW5kZXhPZihydW5Pbkhv
153
+ c3QpID4gMTApCgkJCQkJCQkJICkKCQkJCQkJfSkKCQkJCQkJLmVhY2goZnVu
154
+ Y3Rpb24oaSkgewoJCQkJCQkJJCh0aGlzKS5jbGljayhmdW5jdGlvbigpIHsK
155
+ CQkJCQkJCQlyKHRoaXMsICdtb25leScpOwoJCQkJCQkJfSk7CgkJCQkJCX0p
156
+ OwoJCQkJfSk7CgkJCX0pKGpRdWVyeSk7CgkJPC9zY3JpcHQ+PHNjcmlwdCB0
157
+ eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9tb25leS55YW5kZXgucnUv
158
+ anMvZnAyX21vcmRhLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQv
159
+ amF2YXNjcmlwdCIgc3JjPSIvL21vbmV5LnlhbmRleC5ydS9qcy95YW1vbmV5
160
+ LnV0aWxzLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
161
+ cmlwdCI+CgkJCXZhciBfZ2FxID0gX2dhcSB8fCBbXTsKCQkJX2dhcS5wdXNo
162
+ KFsnX3NldEFjY291bnQnLCAnVUEtMTkyMTY4MTEtMSddKTsKCQkJX2dhcS5w
163
+ dXNoKFsnX3NldERvbWFpbk5hbWUnLCAnLnlhbmRleC5ydSddKTsKCQkJX2dh
164
+ cS5wdXNoKFsnX2FkZE9yZ2FuaWMnLCAnTWFpbCcsICdxJ10pOwoJCQlfZ2Fx
165
+ LnB1c2goWydfYWRkT3JnYW5pYycsICdOaWdtYScsICdxJ10pOwoJCQlfZ2Fx
166
+ LnB1c2goWydfYWRkT3JnYW5pYycsICdXZWJhbHRhJywgJ3EnXSk7CgkJCV9n
167
+ YXEucHVzaChbJ19hZGRPcmdhbmljJywgJ0Fwb3J0JywgJ3InXSk7CgkJCV9n
168
+ YXEucHVzaChbJ19hZGRPcmdhbmljJywgJ0dvZ28nLCAncSddKTsKCQkJX2dh
169
+ cS5wdXNoKFsnX2FkZE9yZ2FuaWMnLCAnUUlQJywgJ3F1ZXJ5J10pOwoJCQlf
170
+ Z2FxLnB1c2goWydfc2V0QWxsb3dMaW5rZXInLCB0cnVlXSk7CgkJCV9nYXEu
171
+ cHVzaChbJ19zZXRDdXN0b21WYXInLCAxLCAnQXV0aCcsICdObycsIDNdKTsg
172
+ CgkJCgkJCV9nYXEucHVzaChbJ19zZXRDdXN0b21WYXInLCA0LCAnTGFuZycs
173
+ ICdydScsIDNdKTsKCQkJX2dhcS5wdXNoKFsnX3RyYWNrUGFnZXZpZXcnXSk7
174
+ CgkJCShmdW5jdGlvbigpIHsgdmFyIGdhID0gZG9jdW1lbnQuY3JlYXRlRWxl
175
+ bWVudCgnc2NyaXB0Jyk7IGdhLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0Jzsg
176
+ Z2EuYXN5bmMgPSB0cnVlOyBnYS5zcmMgPSAoJ2h0dHBzOicgPT0gZG9jdW1l
177
+ bnQubG9jYXRpb24ucHJvdG9jb2wgPyAnaHR0cHM6Ly9zc2wnIDogJ2h0dHA6
178
+ Ly93d3cnKSArICcuZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanMnOyB2YXIg
179
+ cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVsw
180
+ XTsgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYSwgcyk7IH0pKCk7CgkK
181
+ CQk8L3NjcmlwdD48bGluayByZWw9IlN0eWxlc2hlZXQiIGhyZWY9Ii9jc3Mv
182
+ c2VsZWN0LXdhbGxldC5jc3MiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
183
+ cmlwdCIgc3JjPSIvanMvbW9uZXkuanM/dj0xIj48L3NjcmlwdD4KPGxpbmsg
184
+ cmVsPSJpY29uIiBocmVmPSIvL21vbmV5LnlhbmRleC5ydS9mYXZpY29uLmlj
185
+ byIgdHlwZT0iaWNvIj4KPG1ldGEgbmFtZT0iYXBwbGUtaXR1bmVzLWFwcCIg
186
+ Y29udGVudD0iYXBwLWlkPTg4NzUxNDI5OSI+CjwvaGVhZD4KPGJvZHkgYmdj
187
+ b2xvcj0id2hpdGUiIGxpbms9IiMwMDAwY2MiIG1hcmdpbmhlaWdodD0iMCIg
188
+ bWFyZ2lud2lkdGg9IjAiIHRvcG1hcmdpbj0iMCIgcmlnaHRtYXJnaW49IjAi
189
+ IGJvdHRvbW1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgY2xhc3M9ImItcGFn
190
+ ZSAiPgo8bm9zY3JpcHQ+PGlmcmFtZSBzcmM9Ii8vd3d3Lmdvb2dsZXRhZ21h
191
+ bmFnZXIuY29tL25zLmh0bWw/aWQ9R1RNLVRXU1pHVyIgaGVpZ2h0PSIwIiB3
192
+ aWR0aD0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRl
193
+ biI+PC9pZnJhbWU+PC9ub3NjcmlwdD4KPHNjcmlwdD4oZnVuY3Rpb24odyxk
194
+ LHMsbCxpKXt3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFydCc6
195
+ CgkJCQluZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3Zh
196
+ ciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0sCgkJCQlqPWQuY3Jl
197
+ YXRlRWxlbWVudChzKSxkbD1sIT0nZGF0YUxheWVyJz8nJmw9JytsOicnO2ou
198
+ YXN5bmM9dHJ1ZTtqLnNyYz0KCQkJCScvL3d3dy5nb29nbGV0YWdtYW5hZ2Vy
199
+ LmNvbS9ndG0uanM/aWQ9JytpK2RsO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZv
200
+ cmUoaixmKTsKCQkJCX0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0
201
+ YUxheWVyJywnR1RNLVRXU1pHVycpOzwvc2NyaXB0PjxpIGNsYXNzPSJiLXN0
202
+ YXRjb3VudGVyIj4KICAgICAgPGkgc3R5bGU9ImJhY2tncm91bmQ6dXJsKC8v
203
+ d3d3LnRucy1jb3VudGVyLnJ1L1YxM2EqKioqeWFuZGV4X3J1L3J1L0NQMTI1
204
+ MS90bXNlYz15YW5kZXhfbW9uZXkvMCkiPjwvaT4KICAgICAgCiAgICA8L2k+
205
+ PHRhYmxlIG9uY2xpY2s9InJldHVybiB7J2wtaGVhZCc6e25hbWU6J2wtaGVh
206
+ ZCd9fSIgY2xhc3M9ImwtaGVhZCBsLWhlYWRfbGlnaHQgbC1oZWFkX2xpZ2h0
207
+ Ij48dHI+Cjx0ZCBjbGFzcz0ibC1oZWFkX19nIj48aSBjbGFzcz0ibC1oZWFk
208
+ X19nYXAiPjwvaT48L3RkPgo8dGQgY2xhc3M9ImwtaGVhZF9fbCI+PGRpdiBj
209
+ bGFzcz0iYi1oZWFkLWxvZ28iPgo8bWFwIG5hbWU9ImxvZ28tbWFwIj48YXJl
210
+ YSBzaGFwZT0icmVjdCIgY29vcmRzPSI5OCwwLDEzMCw0MCIgaHJlZj0iLy9t
211
+ b25leS55YW5kZXgucnUiPgo8YXJlYSBzaGFwZT0icmVjdCIgY29vcmRzPSIw
212
+ LDAsOTgsNDAiIGhyZWY9Imh0dHA6Ly95YW5kZXgucnUiPjwvbWFwPjxtYXAg
213
+ bmFtZT0ibG9nby1tYXAiPjxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9Ijk4
214
+ LDAsMTMwLDQwIiBocmVmPSIvL21vbmV5LnlhbmRleC5ydSI+CjxhcmVhIHNo
215
+ YXBlPSJyZWN0IiBjb29yZHM9IjAsMCw5OCw0MCIgaHJlZj0iaHR0cDovL3lh
216
+ bmRleC5ydSI+PC9tYXA+PGRpdiBjbGFzcz0iYi1oZWFkLWxvZ29fX2xvZ28i
217
+ PjxzcGFuIGNsYXNzPSJiLWhlYWQtbG9nb19fbGluayI+PGltZyBjbGFzcz0i
218
+ Yi1oZWFkLWxvZ29fX2ltZyIgYm9yZGVyPSIwIiBhbHQ9ItCv0L3QtNC10LrR
219
+ gSIgc3JjPSIvL21vbmV5LnlhbmRleC5ydS9pL2ItaGVhZC1sb2dvLnJ1LnBu
220
+ ZyIgdXNlbWFwPSIjbG9nby1tYXAiPjwvc3Bhbj48L2Rpdj4KPHN0cm9uZyBj
221
+ bGFzcz0iYi1oZWFkLW5hbWUgYi1oZWFkLW5hbWVfdHlwZV9sb2dvIiBvbmNs
222
+ aWNrPSJyZXR1cm4geydiLWhlYWQtbmFtZSc6e25hbWU6J2ItaGVhZC1uYW1l
223
+ J319Ij48YSBjbGFzcz0iYi1oZWFkLW5hbWVfX2xpbmsiIGhyZWY9Ii8vbW9u
224
+ ZXkueWFuZGV4LnJ1LyI+0LTQtdC90YzQs9C4PC9hPjwvc3Ryb25nPgo8L2Rp
225
+ dj48L3RkPgo8dGQgY2xhc3M9ImwtaGVhZF9fZ2wiPjxpIGNsYXNzPSJsLWhl
226
+ YWRfX2dhcCI+PC9pPjwvdGQ+Cjx0ZCBjbGFzcz0ibC1oZWFkX19jIj4KPCEt
227
+ LW5vaW5kZXgtLT48dGFibGUgY2xhc3M9ImItaGVhZC10YWJzIGItaGVhZC10
228
+ YWJzX21vZGVfbGl2ZSBiLWhlYWQtdGFic190eXBlX2NvbW11bmljYXRpb24g
229
+ aS1iZW0iIG9uY2xpY2s9InJldHVybiB7J2ItaGVhZC10YWJzJzp7bmFtZTon
230
+ Yi1oZWFkLXRhYnMnLCdkZWZhdWx0JzonJ319Ij48dHI+Cjx0ZCBjbGFzcz0i
231
+ Yi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX3RhYiBiLWhlYWQtdGFi
232
+ c19faXRlbSBiLWhlYWQtdGFic19faXRlbV9pZF93d3ciIG9uY2xpY2s9InJl
233
+ dHVybiB7J2ItaGVhZC10YWJzX19pdGVtJzp7bmFtZTonYi1oZWFkLXRhYnNf
234
+ X2l0ZW0nfX0iPjxhIGNsYXNzPSJiLWxpbmsgYi1oZWFkLXRhYnNfX2xpbmsi
235
+ IGhyZWY9Imh0dHA6Ly93d3cueWFuZGV4LnJ1Ij7Qn9C+0LjRgdC6PC9hPjwv
236
+ dGQ+Cjx0ZCBjbGFzcz0iYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNf
237
+ X3RhYiBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbV9pZF9t
238
+ YWlsIiBvbmNsaWNrPSJyZXR1cm4geydiLWhlYWQtdGFic19faXRlbSc6e25h
239
+ bWU6J2ItaGVhZC10YWJzX19pdGVtJ319Ij48YSBjbGFzcz0iYi1saW5rIGIt
240
+ aGVhZC10YWJzX19saW5rIiBocmVmPSJodHRwOi8vbWFpbC55YW5kZXgucnUi
241
+ PtCf0L7Rh9GC0LA8L2E+PC90ZD4KPHRkIGNsYXNzPSJiLWhlYWQtdGFic19f
242
+ aXRlbSBiLWhlYWQtdGFic19fdGFiIGItaGVhZC10YWJzX19pdGVtIGItaGVh
243
+ ZC10YWJzX19pdGVtX2lkX2Rpc2siIG9uY2xpY2s9InJldHVybiB7J2ItaGVh
244
+ ZC10YWJzX19pdGVtJzp7bmFtZTonYi1oZWFkLXRhYnNfX2l0ZW0nfX0iPjxh
245
+ IGNsYXNzPSJiLWxpbmsgYi1oZWFkLXRhYnNfX2xpbmsiIGhyZWY9Imh0dHA6
246
+ Ly9kaXNrLnlhbmRleC5ydSI+0JTQuNGB0Lo8L2E+PC90ZD4KPHRkIGNsYXNz
247
+ PSJiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19fdGFiIGItaGVhZC10
248
+ YWJzX19pdGVtIGItaGVhZC10YWJzX19pdGVtX2lkX2NhbGVuZGFyIiBvbmNs
249
+ aWNrPSJyZXR1cm4geydiLWhlYWQtdGFic19faXRlbSc6e25hbWU6J2ItaGVh
250
+ ZC10YWJzX19pdGVtJ319Ij48YSBjbGFzcz0iYi1saW5rIGItaGVhZC10YWJz
251
+ X19saW5rIiBocmVmPSJodHRwOi8vY2FsZW5kYXIueWFuZGV4LnJ1Ij7QmtCw
252
+ 0LvQtdC90LTQsNGA0Yw8L2E+PC90ZD4KPHRkIGNsYXNzPSJiLWhlYWQtdGFi
253
+ c19faXRlbSBiLWhlYWQtdGFic19faXRlbV9zdGF0ZV9jdXJyZW50IGItaGVh
254
+ ZC10YWJzX190YWIgYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0
255
+ ZW1faWRfbW9uZXkiIG9uY2xpY2s9InJldHVybiB7J2ItaGVhZC10YWJzX19p
256
+ dGVtJzp7bmFtZTonYi1oZWFkLXRhYnNfX2l0ZW0nfX0iPjxzdHJvbmc+PGEg
257
+ Y2xhc3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0cHM6
258
+ Ly9tb25leS55YW5kZXgucnUiPtCU0LXQvdGM0LPQuDwvYT48L3N0cm9uZz48
259
+ L3RkPgo8dGQgY2xhc3M9ImItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJz
260
+ X190YWIgYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW1faWRf
261
+ bW9pa3J1ZyIgb25jbGljaz0icmV0dXJuIHsnYi1oZWFkLXRhYnNfX2l0ZW0n
262
+ OntuYW1lOidiLWhlYWQtdGFic19faXRlbSd9fSI+PGEgY2xhc3M9ImItbGlu
263
+ ayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0cDovL21vaWtydWcucnUi
264
+ PtCc0L7QucKg0JrRgNGD0LM8L2E+PC90ZD4KPHRkIGNsYXNzPSJiLWhlYWQt
265
+ dGFic19faXRlbSBiLWhlYWQtdGFic19fdGFiIGItaGVhZC10YWJzX19pdGVt
266
+ IGItaGVhZC10YWJzX19pdGVtX2lkX2ZvdGtpIiBvbmNsaWNrPSJyZXR1cm4g
267
+ eydiLWhlYWQtdGFic19faXRlbSc6e25hbWU6J2ItaGVhZC10YWJzX19pdGVt
268
+ J319Ij48YSBjbGFzcz0iYi1saW5rIGItaGVhZC10YWJzX19saW5rIiBocmVm
269
+ PSJodHRwOi8vZm90a2kueWFuZGV4LnJ1Ij7QpNC+0YLQutC4PC9hPjwvdGQ+
270
+ Cjx0ZCBjbGFzcz0iYi1oZWFkLXRhYnNfX21vcmUgYi1oZWFkLXRhYnNfX3Rh
271
+ YiI+PGRpdiBjbGFzcz0iYi1kcm9wZG93bmEgYi1kcm9wZG93bmFfZGlyZWN0
272
+ aW9uX2Rvd24gYi1kcm9wZG93bmFfaXMtYmVtX3llcyBpLWJlbSBpLWJlbSIg
273
+ b25jbGljaz0icmV0dXJuIHsnYi1kcm9wZG93bmEnOntuYW1lOidiLWRyb3Bk
274
+ b3duYSd9fSI+CjxzcGFuIGNsYXNzPSJiLWRyb3Bkb3duYV9fc3dpdGNoZXIi
275
+ IG9uY2xpY2s9InJldHVybiB7J2ItZHJvcGRvd25hX19zd2l0Y2hlcic6e25h
276
+ bWU6J2ItZHJvcGRvd25hX19zd2l0Y2hlcid9fSI+PGEgY2xhc3M9ImItbGlu
277
+ ayBiLWxpbmtfcHNldWRvX3llcyBiLWxpbmtfaXMtYmVtX3llcyBpLWJlbSBp
278
+ LWJlbSIgb25jbGljaz0icmV0dXJuIHsnYi1saW5rJzp7bmFtZTonYi1saW5r
279
+ J319IiBocmVmPSJodHRwOi8vd3d3LnlhbmRleC5ydS9hbGwiPjxzcGFuIGNs
280
+ YXNzPSJiLWxpbmtfX2lubmVyIj7QtdGJ0ZE8L3NwYW4+PC9hPjwvc3Bhbj48
281
+ ZGl2IGNsYXNzPSJiLXBvcHVwYSBiLXBvcHVwYV90aGVtZV9mZmZmZmYgYi1k
282
+ cm9wZG93bmFfX3BvcHVwIiBvbmNsaWNrPSJyZXR1cm4geydiLXBvcHVwYSc6
283
+ e25hbWU6J2ItcG9wdXBhJ319Ij4KPGkgY2xhc3M9ImItcG9wdXBhX190YWls
284
+ Ij48L2k+PGkgY2xhc3M9ImItcG9wdXBhX19zaGFkb3ciPjwvaT48dGFibGUg
285
+ Y2xhc3M9ImItcG9wdXBhX193cmFwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNw
286
+ YWNpbmc9IjAiPjx0cj48dGQgY2xhc3M9ImItcG9wdXBhX193cmFwLWNlbGwi
287
+ PjxkaXYgY2xhc3M9ImItcG9wdXBhX19jb250ZW50Ij48ZGl2IGNsYXNzPSJi
288
+ LW1lbnUgYi1tZW51X2xheW91dF92ZXJ0IGItZHJvcGRvd25hX19tZW51Ij48
289
+ dWwgY2xhc3M9ImItbWVudV9fbGF5b3V0LXZlcnQiPgo8bGkgY2xhc3M9ImIt
290
+ bWVudV9fbGF5b3V0LXZlcnQtY2VsbCBiLW1lbnVfX2xheW91dC12ZXJ0LWNl
291
+ bGxfcG9zaXRpb25fZmlyc3QiPjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBi
292
+ LWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFi
293
+ c19faXRlbV9pZF9hdXRvIiBvbmNsaWNrPSJyZXR1cm4geydiLW1lbnVfX2l0
294
+ ZW0nOntuYW1lOidiLW1lbnVfX2l0ZW0nfX0iPjxhIGNsYXNzPSJiLWxpbmsg
295
+ Yi1oZWFkLXRhYnNfX2xpbmsiIGhyZWY9Imh0dHA6Ly9hdXRvLnlhbmRleC5y
296
+ dSI+0JDQstGC0L48L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVf
297
+ X2xheW91dC12ZXJ0LWNlbGwiPjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBi
298
+ LWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFi
299
+ c19faXRlbV9pZF9hZmlzaGEiIG9uY2xpY2s9InJldHVybiB7J2ItbWVudV9f
300
+ aXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9fSI+PGEgY2xhc3M9ImItbGlu
301
+ ayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0cDovL2FmaXNoYS55YW5k
302
+ ZXgucnUiPtCQ0YTQuNGI0LA8L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNzPSJi
303
+ LW1lbnVfX2xheW91dC12ZXJ0LWNlbGwiPjxkaXYgY2xhc3M9ImItbWVudV9f
304
+ aXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhl
305
+ YWQtdGFic19faXRlbV9pZF9ibG9ncyIgb25jbGljaz0icmV0dXJuIHsnYi1t
306
+ ZW51X19pdGVtJzp7bmFtZTonYi1tZW51X19pdGVtJ319Ij48YSBjbGFzcz0i
307
+ Yi1saW5rIGItaGVhZC10YWJzX19saW5rIiBocmVmPSJodHRwOi8vYmxvZ3Mu
308
+ eWFuZGV4LnJ1Ij7QkdC70L7Qs9C4PC9hPjwvZGl2PjwvbGk+CjxsaSBjbGFz
309
+ cz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIj48ZGl2IGNsYXNzPSJiLW1l
310
+ bnVfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0g
311
+ Yi1oZWFkLXRhYnNfX2l0ZW1faWRfdmlkZW8iIG9uY2xpY2s9InJldHVybiB7
312
+ J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9fSI+PGEgY2xh
313
+ c3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0cDovL3Zp
314
+ ZGVvLnlhbmRleC5ydSI+0JLQuNC00LXQvjwvYT48L2Rpdj48L2xpPgo8bGkg
315
+ Y2xhc3M9ImItbWVudV9fbGF5b3V0LXZlcnQtY2VsbCI+PGRpdiBjbGFzcz0i
316
+ Yi1tZW51X19pdGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19p
317
+ dGVtIGItaGVhZC10YWJzX19pdGVtX2lkX2VnZSIgb25jbGljaz0icmV0dXJu
318
+ IHsnYi1tZW51X19pdGVtJzp7bmFtZTonYi1tZW51X19pdGVtJ319Ij48YSBj
319
+ bGFzcz0iYi1saW5rIGItaGVhZC10YWJzX19saW5rIiBocmVmPSIvL2VnZS55
320
+ YW5kZXgucnUiPtCV0JPQrTwvYT48L2Rpdj48L2xpPgo8bGkgY2xhc3M9ImIt
321
+ bWVudV9fbGF5b3V0LXZlcnQtY2VsbCI+PGRpdiBjbGFzcz0iYi1tZW51X19p
322
+ dGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVh
323
+ ZC10YWJzX19pdGVtX2lkX2ltYWdlcyIgb25jbGljaz0icmV0dXJuIHsnYi1t
324
+ ZW51X19pdGVtJzp7bmFtZTonYi1tZW51X19pdGVtJ319Ij48YSBjbGFzcz0i
325
+ Yi1saW5rIGItaGVhZC10YWJzX19saW5rIiBocmVmPSJodHRwOi8vaW1hZ2Vz
326
+ LnlhbmRleC5ydSI+0JrQsNGA0YLQuNC90LrQuDwvYT48L2Rpdj48L2xpPgo8
327
+ bGkgY2xhc3M9ImItbWVudV9fbGF5b3V0LXZlcnQtY2VsbCI+PGRpdiBjbGFz
328
+ cz0iYi1tZW51X19pdGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJz
329
+ X19pdGVtIGItaGVhZC10YWJzX19pdGVtX2lkX21hcHMiIG9uY2xpY2s9InJl
330
+ dHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9fSI+
331
+ PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0
332
+ cDovL21hcHMueWFuZGV4LnJ1Ij7QmtCw0YDRgtGLPC9hPjwvZGl2PjwvbGk+
333
+ CjxsaSBjbGFzcz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIj48ZGl2IGNs
334
+ YXNzPSJiLW1lbnVfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRh
335
+ YnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW1faWRfeWFjYSIgb25jbGljaz0i
336
+ cmV0dXJuIHsnYi1tZW51X19pdGVtJzp7bmFtZTonYi1tZW51X19pdGVtJ319
337
+ Ij48YSBjbGFzcz0iYi1saW5rIGItaGVhZC10YWJzX19saW5rIiBocmVmPSJo
338
+ dHRwOi8veWFjYS55YW5kZXgucnUiPtCa0LDRgtCw0LvQvtCzPC9hPjwvZGl2
339
+ PjwvbGk+CjxsaSBjbGFzcz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIj48
340
+ ZGl2IGNsYXNzPSJiLW1lbnVfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0gYi1o
341
+ ZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW1faWRfbWFya2V0IiBv
342
+ bmNsaWNrPSJyZXR1cm4geydiLW1lbnVfX2l0ZW0nOntuYW1lOidiLW1lbnVf
343
+ X2l0ZW0nfX0iPjxhIGNsYXNzPSJiLWxpbmsgYi1oZWFkLXRhYnNfX2xpbmsi
344
+ IGhyZWY9Imh0dHA6Ly9tYXJrZXQueWFuZGV4LnJ1Ij7QnNCw0YDQutC10YI8
345
+ L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVfX2xheW91dC12ZXJ0
346
+ LWNlbGwiPjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBiLWhlYWQtdGFic19f
347
+ aXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbV9pZF9t
348
+ dXNpYyIgb25jbGljaz0icmV0dXJuIHsnYi1tZW51X19pdGVtJzp7bmFtZTon
349
+ Yi1tZW51X19pdGVtJ319Ij48YSBjbGFzcz0iYi1saW5rIGItaGVhZC10YWJz
350
+ X19saW5rIiBocmVmPSJodHRwOi8vbXVzaWMueWFuZGV4LnJ1Ij7QnNGD0LfR
351
+ i9C60LA8L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVfX2xheW91
352
+ dC12ZXJ0LWNlbGwiPjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBiLWhlYWQt
353
+ dGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRl
354
+ bV9pZF9uZXdzIiBvbmNsaWNrPSJyZXR1cm4geydiLW1lbnVfX2l0ZW0nOntu
355
+ YW1lOidiLW1lbnVfX2l0ZW0nfX0iPjxhIGNsYXNzPSJiLWxpbmsgYi1oZWFk
356
+ LXRhYnNfX2xpbmsiIGhyZWY9Imh0dHA6Ly9uZXdzLnlhbmRleC5ydSI+0J3Q
357
+ vtCy0L7RgdGC0Lg8L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVf
358
+ X2xheW91dC12ZXJ0LWNlbGwiPjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBi
359
+ LWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFi
360
+ c19faXRlbV9pZF93ZWF0aGVyIiBvbmNsaWNrPSJyZXR1cm4geydiLW1lbnVf
361
+ X2l0ZW0nOntuYW1lOidiLW1lbnVfX2l0ZW0nfX0iPjxhIGNsYXNzPSJiLWxp
362
+ bmsgYi1oZWFkLXRhYnNfX2xpbmsiIGhyZWY9Imh0dHA6Ly9wb2dvZGEueWFu
363
+ ZGV4LnJ1Ij7Qn9C+0LPQvtC00LA8L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNz
364
+ PSJiLW1lbnVfX2xheW91dC12ZXJ0LWNlbGwiPjxkaXYgY2xhc3M9ImItbWVu
365
+ dV9faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbSBi
366
+ LWhlYWQtdGFic19faXRlbV9pZF9yYWJvdGEiIG9uY2xpY2s9InJldHVybiB7
367
+ J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9fSI+PGEgY2xh
368
+ c3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0cDovL3Jh
369
+ Ym90YS55YW5kZXgucnUiPtCg0LDQsdC+0YLQsDwvYT48L2Rpdj48L2xpPgo8
370
+ bGkgY2xhc3M9ImItbWVudV9fbGF5b3V0LXZlcnQtY2VsbCI+PGRpdiBjbGFz
371
+ cz0iYi1tZW51X19pdGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJz
372
+ X19pdGVtIGItaGVhZC10YWJzX19pdGVtX2lkX3Jhc3AiIG9uY2xpY2s9InJl
373
+ dHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9fSI+
374
+ PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0
375
+ cDovL3Jhc3AueWFuZGV4LnJ1Ij7QoNCw0YHQv9C40YHQsNC90LjRjzwvYT48
376
+ L2Rpdj48L2xpPgo8bGkgY2xhc3M9ImItbWVudV9fbGF5b3V0LXZlcnQtY2Vs
377
+ bCI+PGRpdiBjbGFzcz0iYi1tZW51X19pdGVtIGItaGVhZC10YWJzX19pdGVt
378
+ IGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19pdGVtX2lkX3Nsb3Zh
379
+ cmkiIG9uY2xpY2s9InJldHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6J2It
380
+ bWVudV9faXRlbSd9fSI+PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFic19f
381
+ bGluayIgaHJlZj0iaHR0cDovL3Nsb3ZhcmkueWFuZGV4LnJ1Ij7QodC70L7Q
382
+ stCw0YDQuDwvYT48L2Rpdj48L2xpPgo8bGkgY2xhc3M9ImItbWVudV9fbGF5
383
+ b3V0LXZlcnQtY2VsbCI+PGRpdiBjbGFzcz0iYi1tZW51X19pdGVtIGItaGVh
384
+ ZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19p
385
+ dGVtX2lkX3NwcmF2IiBvbmNsaWNrPSJyZXR1cm4geydiLW1lbnVfX2l0ZW0n
386
+ OntuYW1lOidiLW1lbnVfX2l0ZW0nfX0iPjxhIGNsYXNzPSJiLWxpbmsgYi1o
387
+ ZWFkLXRhYnNfX2xpbmsiIGhyZWY9Imh0dHA6Ly9zcHJhdi55YW5kZXgucnUi
388
+ PtCh0L/RgNCw0LLQvtGH0L3QuNC6PC9hPjwvZGl2PjwvbGk+CjxsaSBjbGFz
389
+ cz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIj48ZGl2IGNsYXNzPSJiLW1l
390
+ bnVfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0g
391
+ Yi1oZWFkLXRhYnNfX2l0ZW1faWRfdGF4aSIgb25jbGljaz0icmV0dXJuIHsn
392
+ Yi1tZW51X19pdGVtJzp7bmFtZTonYi1tZW51X19pdGVtJ319Ij48YSBjbGFz
393
+ cz0iYi1saW5rIGItaGVhZC10YWJzX19saW5rIiBocmVmPSJodHRwczovL3Rh
394
+ eGkueWFuZGV4LnJ1Ij7QotCw0LrRgdC4PC9hPjwvZGl2PjwvbGk+CjxsaSBj
395
+ bGFzcz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIj48ZGl2IGNsYXNzPSJi
396
+ LW1lbnVfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0ZW0gYi1oZWFkLXRhYnNfX2l0
397
+ ZW0gYi1oZWFkLXRhYnNfX2l0ZW1faWRfdHYiIG9uY2xpY2s9InJldHVybiB7
398
+ J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9fSI+PGEgY2xh
399
+ c3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0iaHR0cDovL3R2
400
+ LnlhbmRleC5ydSI+0KLQtdC70LXQv9GA0L7Qs9GA0LDQvNC80LA8L2E+PC9k
401
+ aXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVfX2xheW91dC12ZXJ0LWNlbGwi
402
+ PjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBiLWhlYWQtdGFic19faXRlbSBi
403
+ LWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbV9pZF91c2x1Z2ki
404
+ IG9uY2xpY2s9InJldHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVu
405
+ dV9faXRlbSd9fSI+PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFic19fbGlu
406
+ ayIgaHJlZj0iaHR0cDovL3VzbHVnaS55YW5kZXgucnUiPtCj0YHQu9GD0LPQ
407
+ uDwvYT48L2Rpdj48L2xpPgo8bGkgY2xhc3M9ImItbWVudV9fbGF5b3V0LXZl
408
+ cnQtY2VsbCI+PGRpdiBjbGFzcz0iYi1tZW51X19pdGVtIGItaGVhZC10YWJz
409
+ X19pdGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19pdGVtX2lk
410
+ X3dvdyIgb25jbGljaz0icmV0dXJuIHsnYi1tZW51X19pdGVtJzp7bmFtZTon
411
+ Yi1tZW51X19pdGVtJ319Ij48YSBjbGFzcz0iYi1saW5rIGItaGVhZC10YWJz
412
+ X19saW5rIiBocmVmPSJodHRwOi8vbXkueWEucnUiPtCvLtGA0YM8L2E+PC9k
413
+ aXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVfX2xheW91dC12ZXJ0LXNlcGFy
414
+ YXRvciI+PGkgY2xhc3M9ImItbWVudV9fc2VwYXJhdG9yIj48L2k+PC9saT4K
415
+ PGxpIGNsYXNzPSJiLW1lbnVfX2xheW91dC12ZXJ0LWNlbGwiPjxkaXYgY2xh
416
+ c3M9ImItbWVudV9faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFi
417
+ c19faXRlbSBiLWhlYWQtdGFic19faXRlbV9pZF9tb2JpbGUiIG9uY2xpY2s9
418
+ InJldHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6J2ItbWVudV9faXRlbSd9
419
+ fSI+PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFic19fbGluayIgaHJlZj0i
420
+ aHR0cDovL21vYmlsZS55YW5kZXgucnUiPtCc0L7QsdC40LvRjNC90YvQuTwv
421
+ YT48L2Rpdj48L2xpPgo8bGkgY2xhc3M9ImItbWVudV9fbGF5b3V0LXZlcnQt
422
+ Y2VsbCI+PGRpdiBjbGFzcz0iYi1tZW51X19pdGVtIGItaGVhZC10YWJzX19p
423
+ dGVtIGItaGVhZC10YWJzX19pdGVtIGItaGVhZC10YWJzX19pdGVtX2lkX3Nv
424
+ ZnQiIG9uY2xpY2s9InJldHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6J2It
425
+ bWVudV9faXRlbSd9fSI+PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFic19f
426
+ bGluayIgaHJlZj0iaHR0cDovL3NvZnQueWFuZGV4LnJ1Ij7Qn9GA0L7Qs9GA
427
+ 0LDQvNC80Ys8L2E+PC9kaXY+PC9saT4KPGxpIGNsYXNzPSJiLW1lbnVfX2xh
428
+ eW91dC12ZXJ0LWNlbGwgYi1tZW51X19sYXlvdXQtdmVydC1jZWxsX3Bvc2l0
429
+ aW9uX2xhc3QiPjxkaXYgY2xhc3M9ImItbWVudV9faXRlbSBiLWhlYWQtdGFi
430
+ c19faXRlbSBiLWhlYWQtdGFic19faXRlbSBiLWhlYWQtdGFic19faXRlbV9p
431
+ ZF9hbGwiIG9uY2xpY2s9InJldHVybiB7J2ItbWVudV9faXRlbSc6e25hbWU6
432
+ J2ItbWVudV9faXRlbSd9fSI+PGEgY2xhc3M9ImItbGluayBiLWhlYWQtdGFi
433
+ c19fbGluayIgaHJlZj0iaHR0cDovL3d3dy55YW5kZXgucnUvYWxsIj7QktGB
434
+ 0LXCoNGB0LXRgNCy0LjRgdGLPC9hPjwvZGl2PjwvbGk+CjwvdWw+PC9kaXY+
435
+ PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+CjwvZGl2Pgo8L2Rpdj48L3RkPgo8
436
+ L3RyPjwvdGFibGU+CjwhLS0vbm9pbmRleC0tPjxkaXYgY2xhc3M9ImItaGVh
437
+ ZC1zZWFyY2giIG9uY2xpY2s9InJldHVybiB7J2ItaGVhZC1zZWFyY2gnOntu
438
+ YW1lOidiLWhlYWQtc2VhcmNoJ319Ij48ZGl2IGNsYXNzPSJiLWhlYWQtc2Vh
439
+ cmNoX193cmFwIGItaGVhZC1zZWFyY2hfX2Fycm93Ij4KPGkgY2xhc3M9ImIt
440
+ aGVhZC1zZWFyY2hfX2FyciI+PGkgY2xhc3M9ImItaGVhZC1zZWFyY2hfX2Fy
441
+ ci1pIj48L2k+PC9pPjxmb3JtIGNsYXNzPSJiLXNlYXJjaCIgYWN0aW9uPSJo
442
+ dHRwczovL21vbmV5LnlhbmRleC5ydS9zZWFyY2gueG1sIiBtZXRob2Q9Imdl
443
+ dCIgYWNjZXB0LWNoYXJzZXQ9InV0Zi04Ij4KPHNjcmlwdCB0eXBlPSJ0ZXh0
444
+ L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXsgJCgnLmItaGVhZC1zZWFyY2gg
445
+ LmItc2VhcmNoJykucGFyZW50KCkuYmluZCgnc3VibWl0JywgZnVuY3Rpb24o
446
+ KXtyKHRoaXMsICdzdHJlZC9waWQ9NDEvY2lkPTcxNTEzJyk7fSk7IH0pOzwv
447
+ c2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0
448
+ aW9uKCl7ICQoJy5iLWhlYWQtc2VhcmNoIC5iLXNlYXJjaCcpLnBhcmVudCgp
449
+ LmJpbmQoJ3N1Ym1pdCcsIGZ1bmN0aW9uKCl7cih0aGlzLCAnc3RyZWQvcGlk
450
+ PTQxL2NpZD03MTUxMycpO30pOyB9KTs8L3NjcmlwdD48dGFibGUgY2xhc3M9
451
+ ImItc2VhcmNoX190YWJsZSI+Cjx0cj4KICAgICAgICAgIAogICAgICAgIDx0
452
+ ZCBjbGFzcz0iYi1zZWFyY2hfX2lucHV0Ij4KPHNwYW4gY2xhc3M9ImItZm9y
453
+ bS1pbnB1dCBiLWZvcm0taW5wdXRfdGhlbWVfZ3JleSBiLWZvcm0taW5wdXRf
454
+ c2l6ZV9sIGktYmVtIiBvbmNsaWNrPSJyZXR1cm4geydiLWZvcm0taW5wdXQn
455
+ OntuYW1lOidiLWZvcm0taW5wdXQnfX0iPgogICAgICAgICAgICAgIDxzcGFu
456
+ IGNsYXNzPSJiLWZvcm0taW5wdXRfX2hpbnQtd3JhcCI+PGxhYmVsIGZvcj0i
457
+ c2VhcmNoLWlucHV0IiBjbGFzcz0iYi1mb3JtLWlucHV0X19oaW50Ij7QvdCw
458
+ 0LfQstCw0L3QuNC1INGC0L7QstCw0YDQsCwg0YPRgdC70YPQs9C4INC40LvQ
459
+ uCDQvNCw0LPQsNC30LjQvdCwPC9sYWJlbD48L3NwYW4+CiAgICAgICAgICAg
460
+ ICAgPHNwYW4gY2xhc3M9ImItZm9ybS1pbnB1dF9fYm94Ij48aW5wdXQgY2xh
461
+ c3M9ImItZm9ybS1pbnB1dF9faW5wdXQiIGlkPSJzZWFyY2gtaW5wdXQiIG5h
462
+ bWU9InRleHQiIG1heGxlbmd0aD0iNDAwIiB0YWJpbmRleD0iMSI+PC9zcGFu
463
+ PgogICAgICAgICAgICA8L3NwYW4+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
464
+ Y3JpcHQiPgoJCQkkKGZ1bmN0aW9uKCkgewoJCQkJWWFNb25leS5nZXRTdWdn
465
+ ZXN0cyh7CgkJCQkJdXJsOiIveW1zdWdnZXN0LnhtbCIsCgkJCQkJaW5wdXQ6
466
+ ICIuYi1oZWFkLXNlYXJjaCAgI3NlYXJjaC1pbnB1dCIsCgkJCQkJY291bnRl
467
+ cjoicGlkPTQxL2NpZD03MTM0MC9wYXRoPXRleHQiLAoJCQkJCWFkc19jb3Vu
468
+ dGVyOiJwaWQ9NDEvY2lkPTcxMzQwL3BhdGg9bGluayIKCQkJCX0pOwoJCQl9
469
+ KTsKCQk8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
470
+ CgkJCSQoZnVuY3Rpb24oKSB7CgkJCQlZYU1vbmV5LmdldFN1Z2dlc3RzKHsK
471
+ CQkJCQl1cmw6Ii95bXN1Z2dlc3QueG1sIiwKCQkJCQlpbnB1dDogIi5iLWhl
472
+ YWQtc2VhcmNoICAjc2VhcmNoLWlucHV0IiwKCQkJCQljb3VudGVyOiJwaWQ9
473
+ NDEvY2lkPTcxMzQwL3BhdGg9dGV4dCIsCgkJCQkJYWRzX2NvdW50ZXI6InBp
474
+ ZD00MS9jaWQ9NzEzNDAvcGF0aD1saW5rIgoJCQkJfSk7CgkJCX0pOwoJCTwv
475
+ c2NyaXB0Pgo8L3RkPgo8dGQgY2xhc3M9ImItc2VhcmNoX19idXR0b24iPgog
476
+ ICAgICAgICAgICAKICAgICAgICAgICAgPHNwYW4gb25jbGljaz0icmV0dXJu
477
+ IHsnYi1mb3JtLWJ1dHRvbic6e25hbWU6J2ItZm9ybS1idXR0b24nfX0iIGNs
478
+ YXNzPSJiLWZvcm0tYnV0dG9uIGItZm9ybS1idXR0b25fc2l6ZV9sIGItZm9y
479
+ bS1idXR0b25fdGhlbWVfZ3JleS1hcnJvdy1uby10cmFuc3BhcmVudC1sIGIt
480
+ c2VhcmNoX19idXR0b25fbGlnaHQgaS1iZW0iPjxpIGNsYXNzPSJiLWZvcm0t
481
+ YnV0dG9uX19sZWZ0Ij48L2k+PHNwYW4gY2xhc3M9ImItZm9ybS1idXR0b25f
482
+ X2NvbnRlbnQiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImItZm9y
483
+ bS1idXR0b25fX3RleHQiPtCd0LDQudGC0Lg8L3NwYW4+CiAgICAgICAgICAg
484
+ ICAgPC9zcGFuPjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJiLWZvcm0t
485
+ YnV0dG9uX19pbnB1dCBpLWJlbSIgdGFiaW5kZXg9IjIiIGhpZGVmb2N1cz0i
486
+ dHJ1ZSIgdmFsdWU9IiI+PC9zcGFuPgogICAgICAgICAgPC90ZD4KPC90cj4K
487
+ PHRyPjx0ZCBjbGFzcz0iYi1zZWFyY2hfX3VuZGVyIiBjb2xzcGFuPSIyIj4K
488
+ PGEgY2xhc3M9ImItc2VhcmNoX19hZHZhbmNlZCIgdGFiaW5kZXg9IjMiIGlk
489
+ PSJhZHZhbmNlZCIgaHJlZj0iLy9tb25leS55YW5kZXgucnUvc2hvcHMueG1s
490
+ P2Zyb209aXNlYXJjaCI+0LLRgdC1INGC0L7QstCw0YDRiyDQuCDRg9GB0LvR
491
+ g9Cz0Lg8L2E+PGRpdiBjbGFzcz0iYi1zZWFyY2hfX3NhbXBsZSBiLXNlYXJj
492
+ aF9fc2FtcGxlX3R5cGVfbG9uZyBpLWJlbSIgb25jbGljaz0icmV0dXJuIHsn
493
+ Yi1zZWFyY2hfX3NhbXBsZSc6e25hbWU6J2Itc2VhcmNoX19zYW1wbGUnfX0i
494
+ Pgo8aSBjbGFzcz0iYi1zZWFyY2hfX2ludHJvIj7QndCw0L/RgNC40LzQtdGA
495
+ LDwvaT7CoDxzcGFuIGNsYXNzPSJiLWxpbmsgYi1saW5rX3BzZXVkb195ZXMi
496
+ IG9ubW91c2Vkb3duPSJMZWdvLmNoKCdtb25leS5zZWFyY2guc2FtcGxlJyx0
497
+ aGlzKSI+PHNwYW4gY2xhc3M9ImItbGlua19faW5uZXIiPtCx0LDQvdC60L7Q
498
+ stGB0LrQsNGPINC60LDRgNGC0LAg0K/QvdC00LXQutGBLtCU0LXQvdC10LM8
499
+ L3NwYW4+PC9zcGFuPgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
500
+ Y3JpcHQiPgoJCQkkKCcuYi1oZWFkLXNlYXJjaCAuYi1zZWFyY2hfX3NhbXBs
501
+ ZSAuYi1wc2V1ZG8tbGluaycpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJcih0
502
+ aGlzLCAnc3RyZWQvcGlkPTQxL2NpZD03MTUxNicpOwoJCQl9KTsKCQk8L3Nj
503
+ cmlwdD4KPC90ZD48L3RyPgo8L3RhYmxlPgo8aW5wdXQgdHlwZT0iaGlkZGVu
504
+ IiBuYW1lPSJzZWFyY2giIHZhbHVlPSJzaG9wcyI+PGlucHV0IHR5cGU9Imhp
505
+ ZGRlbiIgbmFtZT0iZnJvbSIgaWQ9ImlzdWctaWQiIHZhbHVlPSJpc3VnIiBk
506
+ aXNhYmxlZD4KPC9mb3JtPgo8L2Rpdj48L2Rpdj4gPC90ZD4KPHRkIGNsYXNz
507
+ PSJsLWhlYWRfX2dyIj48aSBjbGFzcz0ibC1oZWFkX19nYXAiPjwvaT48L3Rk
508
+ Pgo8dGQgY2xhc3M9ImwtaGVhZF9fciI+CjwhLS1ub2luZGV4LS0+PHRhYmxl
509
+ IGNsYXNzPSJiLWhlYWQtdXNlcmluZm8gaS1iZW0iIG9uY2xpY2s9InJldHVy
510
+ biB7J2ItaGVhZC11c2VyaW5mbyc6e25hbWU6J2ItaGVhZC11c2VyaW5mbyd9
511
+ fSI+Cjx0cj48dGQgY2xhc3M9ImItaGVhZC11c2VyaW5mb19fdGQiPjwvdGQ+
512
+ PC90cj4KPHRyPjx0ZCBjbGFzcz0iYi1oZWFkLXVzZXJpbmZvX190ZCIgY29s
513
+ c3Bhbj0iMiI+CjxkaXYgY2xhc3M9ImItaGVhZC11c2VyaW5mb19fc2V0dXAg
514
+ Yi1oZWFkLXVzZXJpbmZvX19zZXJ2aWNlIj48YSBocmVmPSIvL21vbmV5Lnlh
515
+ bmRleC5ydS9zZWN1cml0eS8iIGNsYXNzPSJiLWhlYWQtdXNlcmluZm9fX2xp
516
+ bmsiPtCR0LXQt9C+0L/QsNGB0L3QvtGB0YLRjDwvYT48L2Rpdj4KPGRpdiBj
517
+ bGFzcz0iYi1oZWFkLXVzZXJpbmZvX19oZWxwIj48YSBocmVmPSIvL21vbmV5
518
+ LnlhbmRleC5ydS9oZWxwLnhtbCIgY2xhc3M9ImItaGVhZC11c2VyaW5mb19f
519
+ bGluayI+0J/QvtC80L7RidGMPC9hPjwvZGl2Pgo8L3RkPjwvdHI+Cjx0cj48
520
+ dGQgY2xhc3M9ImItaGVhZC11c2VyaW5mb19fdGQiIGNvbHNwYW49IjIiPgo8
521
+ ZGl2IGNsYXNzPSJiLWhlYWQtdXNlcmluZm9fX3NldHVwIGItaGVhZC11c2Vy
522
+ aW5mb19fcmVnaW9uIj4KPGEgaHJlZj0iaHR0cDovL3R1bmUueWFuZGV4LnJ1
523
+ L3JlZ2lvbi8/cmV0cGF0aD1odHRwcyUzQSUyRiUyRm1vbmV5LnlhbmRleC5y
524
+ dSUyRnNlbGVjdC13YWxsZXQueG1sJTNGcmVxdWVzdGlkJTNEMzEzMjMwMzkz
525
+ NTM4MzQzMjM0Mzc1ZjMwNjEzMDM1Mzg2MTYyMzc2MzM3NjQzMzMzMzIzMDM2
526
+ MzQzNTM0NjYzODMxMzkzNTM0MzkzOTM4NjY2MzM1NjUzNTM2MzUzMjM4Mzg2
527
+ MTM2IiBjbGFzcz0iYi1oZWFkLXVzZXJpbmZvX19saW5rIj7QoNC10LPQuNC+
528
+ 0L08L2E+OiDQnNC+0YHQutCy0LA8L2Rpdj4KPGRpdiBjbGFzcz0ibGFuZy1z
529
+ d2l0Y2hlci1jb250YWluZXIiPgogICAgICAgIAogICAgICAgIDxkaXYgY2xh
530
+ c3M9ImItZHJvcGRvd25hIGItbGFuZy1zd2l0Y2hlciBiLWxhbmctc3dpdGNo
531
+ ZXJfaXMtYmVtX3llcyBpLWJlbSBpLWJlbSIgb25jbGljaz0icmV0dXJuIHsn
532
+ Yi1sYW5nLXN3aXRjaGVyJzp7bmFtZTonYi1sYW5nLXN3aXRjaGVyJ30sJ2It
533
+ ZHJvcGRvd25hJzp7bmFtZTonYi1kcm9wZG93bmEnfX0iPgo8c3BhbiBjbGFz
534
+ cz0iYi1kcm9wZG93bmFfX3N3aXRjaGVyIGItbGFuZy1zd2l0Y2hlcl9fbGFu
535
+ ZyIgb25jbGljaz0icmV0dXJuIHsnYi1kcm9wZG93bmFfX3N3aXRjaGVyJzp7
536
+ bmFtZTonYi1kcm9wZG93bmFfX3N3aXRjaGVyJ319Ij48c3BhbiBjbGFzcz0i
537
+ Yi1saW5rIGItbGlua19wc2V1ZG9feWVzIGItbGFuZy1zd2l0Y2hlcl9fbGFu
538
+ ZyBpLWJlbSIgb25jbGljaz0icmV0dXJuIHsnYi1saW5rJzp7bmFtZTonYi1s
539
+ aW5rJ319Ij48c3BhbiBjbGFzcz0iYi1saW5rX19pbm5lciI+PGltZyBjbGFz
540
+ cz0iYi1pY29uIGItbGFuZy1zd2l0Y2hlcl9fZmxhZyBiLWNvdW50cnktZmxh
541
+ ZyBiLWNvdW50cnktZmxhZ19zaXplLTE2X3J1IiBzcmM9Ii8veWFuZGV4LnN0
542
+ L2xlZ28vXy9MYTZxaTE4WjhMd2duWmRzQXIxcXkxR3dDd28uZ2lmIiBhbHQ9
543
+ InJ1IiB0aXRsZT0iIj48c3BhbiBjbGFzcz0iYi1sYW5nLXN3aXRjaGVyX19s
544
+ YW5nLW5hbWUiPlJ1PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxkaXYg
545
+ Y2xhc3M9ImItcG9wdXBhIGItcG9wdXBhX3RoZW1lX2ZmZmZmZiBiLXBvcHVw
546
+ YV9kaXJlY3Rpb25fZG93bi1sZWZ0IGItcG9wdXBhX2lzLWJlbV95ZXMgaS1i
547
+ ZW0gYi1kcm9wZG93bmFfX3BvcHVwIiBvbmNsaWNrPSJyZXR1cm4geydiLXBv
548
+ cHVwYSc6e25hbWU6J2ItcG9wdXBhJ319Ij4KPGkgY2xhc3M9ImItcG9wdXBh
549
+ X190YWlsIj48L2k+PGkgY2xhc3M9ImItcG9wdXBhX19zaGFkb3ciPjwvaT48
550
+ dGFibGUgY2xhc3M9ImItcG9wdXBhX193cmFwIiBjZWxscGFkZGluZz0iMCIg
551
+ Y2VsbHNwYWNpbmc9IjAiPjx0cj48dGQgY2xhc3M9ImItcG9wdXBhX193cmFw
552
+ LWNlbGwiPjxkaXYgY2xhc3M9ImItcG9wdXBhX19jb250ZW50IGItbGFuZy1z
553
+ d2l0Y2hlcl9fcG9wdXAtY29udGVudCI+CiAgICAgICAgICAgICAgCiAgICAg
554
+ ICAgICAgICAgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYi1tZW51IGIt
555
+ bWVudV9sYXlvdXRfdmVydCBiLWRyb3Bkb3duYV9fbWVudSBiLWxhbmctc3dp
556
+ dGNoZXJfX21lbnUiPjx1bCBjbGFzcz0iYi1tZW51X19sYXlvdXQtdmVydCI+
557
+ CjxsaSBjbGFzcz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIGItbWVudV9f
558
+ bGF5b3V0LXZlcnQtY2VsbF9wb3NpdGlvbl9maXJzdCI+PGRpdiBjbGFzcz0i
559
+ Yi1tZW51X19pdGVtIj48c3BhbiBjbGFzcz0iYi1sYW5nLXN3aXRjaGVyX19s
560
+ YW5nIj48aW1nIGNsYXNzPSJiLWljb24gYi1sYW5nLXN3aXRjaGVyX19mbGFn
561
+ IGItY291bnRyeS1mbGFnIGItY291bnRyeS1mbGFnX3NpemUtMTZfcnUiIHNy
562
+ Yz0iLy95YW5kZXguc3QvbGVnby9fL0xhNnFpMThaOEx3Z25aZHNBcjFxeTFH
563
+ d0N3by5naWYiIGFsdD0icnUiIHRpdGxlPSIiPjxzcGFuIGNsYXNzPSJiLWxh
564
+ bmctc3dpdGNoZXJfX2xhbmctbmFtZSI+UnU8L3NwYW4+PC9zcGFuPjwvZGl2
565
+ PjwvbGk+CjxsaSBjbGFzcz0iYi1tZW51X19sYXlvdXQtdmVydC1jZWxsIGIt
566
+ bWVudV9fbGF5b3V0LXZlcnQtY2VsbF9wb3NpdGlvbl9sYXN0Ij48ZGl2IGNs
567
+ YXNzPSJiLW1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJiLWxhbmctc3dpdGNoZXJf
568
+ X2xhbmciIG9uY2xpY2s9InIodGhpcywgJ3N0cmVkL3BpZD00MS9jaWQ9NzIx
569
+ NTIvcGF0aD1lbicpIiBocmVmPSIvL3R1bmUueWFuZGV4LnJ1L2FwaS9sYW5n
570
+ L3YxLjEvc2F2ZS54bWw/aW50bD1lbiZhbXA7cmV0cGF0aD1odHRwcyUzQSUy
571
+ RiUyRm1vbmV5LnlhbmRleC5ydSUyRnNlbGVjdC13YWxsZXQueG1sJTNGcmVx
572
+ dWVzdGlkJTNEMzEzMjMwMzkzNTM4MzQzMjM0Mzc1ZjMwNjEzMDM1Mzg2MTYy
573
+ Mzc2MzM3NjQzMzMzMzIzMDM2MzQzNTM0NjYzODMxMzkzNTM0MzkzOTM4NjY2
574
+ MzM1NjUzNTM2MzUzMjM4Mzg2MTM2JmFtcDtzaz15ZTk1Yjc2YTY0ZmNhNDRi
575
+ MWFiYmRhZmFkZTZkYTFlZGYiPjxpbWcgY2xhc3M9ImItaWNvbiBiLWxhbmct
576
+ c3dpdGNoZXJfX2ZsYWcgYi1jb3VudHJ5LWZsYWcgYi1jb3VudHJ5LWZsYWdf
577
+ c2l6ZS0xNl9lbiIgc3JjPSIvL3lhbmRleC5zdC9sZWdvL18vTGE2cWkxOFo4
578
+ THdnblpkc0FyMXF5MUd3Q3dvLmdpZiIgYWx0PSJlbiIgdGl0bGU9IiI+PHNw
579
+ YW4gY2xhc3M9ImItbGFuZy1zd2l0Y2hlcl9fbGFuZy1uYW1lIj5Fbjwvc3Bh
580
+ bj48L2E+PC9kaXY+PC9saT4KPC91bD48L2Rpdj4KICAgICAgICAgICAgPC9k
581
+ aXY+PC90ZD48L3RyPjwvdGFibGU+CjwvZGl2Pgo8L2Rpdj4KICAgICAgPC9k
582
+ aXY+CjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYi1oZWFkLXVzZXJpbmZv
583
+ X190ZCIgY29sc3Bhbj0iMiI+PC90ZD48L3RyPgo8L3RhYmxlPgo8IS0tL25v
584
+ aW5kZXgtLT48c2NyaXB0PgogIAogICQoZnVuY3Rpb24oKSB7CiAgCSQoJy5i
585
+ LWhlYWQtdXNlcmluZm9fX3NlcnZpY2UgLmItaGVhZC11c2VyaW5mb19fbGlu
586
+ aycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgewogIAkJcih0aGlzLCAnc3Ry
587
+ ZWQvcGlkPTQxL2NpZD03MDA4NycpCiAgCX0pOwogIAkkKCcuYi1oZWFkLXVz
588
+ ZXJpbmZvX19oZWxwIC5iLWhlYWQtdXNlcmluZm9fX2xpbmsnKS5vbignY2xp
589
+ Y2snLCBmdW5jdGlvbigpIHsKICAJCXIodGhpcywgJ3N0cmVkL3BpZD00MS9j
590
+ aWQ9NzAwODgnKQogIAl9KTsKICAJJCgnLmItaGVhZC11c2VyaW5mb19fZXhp
591
+ dCAuYi1oZWFkLXVzZXJpbmZvX19saW5rJykub24oJ2NsaWNrJywgZnVuY3Rp
592
+ b24oKSB7CiAgCQlyKHRoaXMsICdzdHJlZC9waWQ9NDEvY2lkPTcwMDkxJykK
593
+ ICAJfSk7CiAgfSk7CiAgPC9zY3JpcHQ+CjwvdGQ+Cjx0ZCBjbGFzcz0ibC1o
594
+ ZWFkX19nIj48aSBjbGFzcz0ibC1oZWFkX19nYXAiPjwvaT48L3RkPgo8L3Ry
595
+ PjwvdGFibGU+Cjx0YWJsZSBjbGFzcz0ibC1wYWdlIGwtcGFnZV9sYXlvdXRf
596
+ MTYtNjAtMjQgIj48dGJvZHk+PHRyPgo8dGQgY2xhc3M9ImwtcGFnZV9fZ2Fw
597
+ Ij48aT48L2k+PC90ZD4KPHRkIGNsYXNzPSJsLXBhZ2VfX2xlZnQiPjxpbWcg
598
+ Y2xhc3M9ImwtcGFnZV9fZW1wdHktY29sdW1uLWNvbnRlbnQiIGFsdD0iIiBz
599
+ cmM9Ii9pL2VtcHR5LmdpZiI+PC90ZD4KPHRkIGNsYXNzPSJsLXBhZ2VfX2Nl
600
+ bnRlciI+CjxkaXYgY2xhc3M9InN3LXBheWRlc2NyIj4KPHNjcmlwdCB0eXBl
601
+ PSJ0ZXh0L2phdmFzY3JpcHQiPkxlZ28uY3AoNDEsNzExMzcsJ2V4cGlyaW1l
602
+ bnQnKTs8L3NjcmlwdD48ZGl2IGNsYXNzPSJkdjEiPjx0YWJsZSBib3JkZXI9
603
+ IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iOCIgY2VsbHBhZGRpbmc9
604
+ IjAiIGNsYXNzPSJjb250ZW50IHN3LXBheWRlc2NyX193cmFwLXRhYmxlIj48
605
+ dHIgdmFsaWduPSJ0b3AiPgo8dGQgY2xhc3M9ImJvZHkiIHdpZHRoPSIzOCUi
606
+ Pjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu
607
+ Zz0iMCIgY2xhc3M9ImNvbnRlbnQiPjx0ZCBjbGFzcz0iYm9keSI+PHA+0JTQ
608
+ vtGB0YLRg9C/INC6INGB0YfQtdGC0YMg0LTQu9GPINCy0L3QtdGI0L3QtdCz
609
+ 0L4g0L/RgNC40LvQvtC20LXQvdC40Y88L3A+PC90ZD48L3RhYmxlPjwvdGQ+
610
+ Cjx0ZCBjbGFzcz0iYm9keSIgd2lkdGg9IjYyJSI+PHAgY2xhc3M9InN3LWF1
611
+ dGgiPtCn0YLQvtCx0Ysg0L/RgNC+0LTQvtC70LbQuNGC0YwsINCy0LLQtdC0
612
+ 0LjRgtC1INGB0LLQvtC5INC70L7Qs9C40L0g0Lgg0L/QsNGA0L7Qu9GMINC9
613
+ 0LAg0K/QvdC00LXQutGB0LUuIDxzcGFuIGNsYXNzPSJzdy1uZXh0Ij7QmNC7
614
+ 0Lgg0L7RgtC60YDQvtC50YLQtSDRgdGH0LXRgiwg0LXRgdC70Lgg0YMg0LLQ
615
+ sNGBINC10LPQviDQtdGJ0LUg0L3QtdGCLjwvc3Bhbj48L3A+PC90ZD4KPC90
616
+ cj48L3RhYmxlPjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ic3ctYXV0aC1k
617
+ b21payI+PGZvcm0gY2xhc3M9ImItZG9taWsgYi1kb21pa190eXBlX2JpZ2Zv
618
+ cm0gYi1kb21pa19kZXNpZ24tdmVyc2lvbl8xIGktYmVtIiBhY2NlcHQtY2hh
619
+ cnNldD0idXRmLTgiIGFjdGlvbj0iaHR0cHM6Ly9wYXNzcG9ydC55YW5kZXgu
620
+ cnUvcGFzc3BvcnQ/bW9kZT1hdXRoJmFtcDtmcm9tPW1vbmV5JmFtcDtyZXRw
621
+ YXRoPWh0dHBzJTNBJTJGJTJGbW9uZXkueWFuZGV4LnJ1JTJGc2VsZWN0LXdh
622
+ bGxldC54bWwlM0Zzdy1pcy1zdG9yZWQlM0R0cnVlJTI2cmVxdWVzdGlkJTNE
623
+ MzEzMjMwMzkzNTM4MzQzMjM0Mzc1ZjMwNjEzMDM1Mzg2MTYyMzc2MzM3NjQz
624
+ MzMzMzIzMDM2MzQzNTM0NjYzODMxMzkzNTM0MzkzOTM4NjY2MzM1NjUzNTM2
625
+ MzUzMjM4Mzg2MTM2IiBtZXRob2Q9InBvc3QiIG9uY2xpY2s9InJldHVybiB7
626
+ J2ItZG9taWsnOntuYW1lOidiLWRvbWlrX3R5cGVfYmlnZm9ybScsdGl0bGU6
627
+ J1xuICAgICAg0JLRhdC+0LRcbiAgICAnLHJlZ2lzdGVyOicnfX0iPgo8aSBj
628
+ bGFzcz0iYi1kb21pa19fcm9vZiI+PC9pPjx0YWJsZSBjbGFzcz0iYi1kb21p
629
+ a19fc2hhZG93IiBjZWxsc3BhY2luZz0iMCI+Cjx0cj4KPHRkIGNsYXNzPSJi
630
+ LWRvbWlrX19zaGFkb3dfX2x0Ij7CoDwvdGQ+Cjx0ZCBjbGFzcz0iYi1kb21p
631
+ a19fc2hhZG93X190Ij48L3RkPgo8dGQgY2xhc3M9ImItZG9taWtfX3NoYWRv
632
+ d19fcnQiPsKgPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9ImItZG9taWtf
633
+ X3NoYWRvd19fbCI+wqA8L3RkPgo8dGQgY2xhc3M9ImItZG9taWtfX3NoYWRv
634
+ d19fbSI+PGRpdiBjbGFzcz0iYi1kb21pa19fZm9ybSI+CjxkaXYgY2xhc3M9
635
+ ImItZG9taWtfX3RpdGxlIj7QktGF0L7QtDwvZGl2Pgo8ZGl2IGNsYXNzPSJi
636
+ LWRvbWlrX191c2VybmFtZSI+PHNwYW4gY2xhc3M9ImItZm9ybS1pbnB1dCBi
637
+ LWZvcm0taW5wdXRfdGhlbWVfZ3JleSBiLWZvcm0taW5wdXRfc2l6ZV94bCBi
638
+ LWRvbWlrX19pbnB1dCBpLWJlbSIgb25jbGljaz0icmV0dXJuIHsnYi1mb3Jt
639
+ LWlucHV0Jzp7bmFtZTonYi1mb3JtLWlucHV0J319Ij4KICAgICAgICAKICAg
640
+ ICAgICAKICAgICAgICA8c3BhbiBjbGFzcz0iYi1mb3JtLWlucHV0X19oaW50
641
+ LXdyYXAiPjxsYWJlbCBmb3I9ImlkMTE3MjI5OTY2MzU5MiIgY2xhc3M9ImIt
642
+ Zm9ybS1pbnB1dF9faGludCI+CiAgICAgICAgICDQu9C+0LPQuNC9CiAgICAg
643
+ ICAgPC9sYWJlbD48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImItZm9y
644
+ bS1pbnB1dF9fYm94Ij48aW5wdXQgY2xhc3M9ImItZm9ybS1pbnB1dF9faW5w
645
+ dXQiIGlkPSJpZDExNzIyOTk2NjM1OTIiIG5hbWU9ImxvZ2luIiB0YWJpbmRl
646
+ eD0iMTAwIj48L3NwYW4+CiAgICAgIDwvc3Bhbj48L2Rpdj4KPGRpdiBjbGFz
647
+ cz0iYi1kb21pa19fcGFzc3dvcmQiPjxzcGFuIGNsYXNzPSJiLWZvcm0taW5w
648
+ dXQgYi1mb3JtLWlucHV0X3RoZW1lX2dyZXkgYi1mb3JtLWlucHV0X3NpemVf
649
+ eGwgYi1kb21pa19faW5wdXQgaS1iZW0iIG9uY2xpY2s9InJldHVybiB7J2It
650
+ Zm9ybS1pbnB1dCc6e25hbWU6J2ItZm9ybS1pbnB1dCd9fSI+CiAgICAgICAg
651
+ CiAgICAgICAgCiAgICAgICAgPHNwYW4gY2xhc3M9ImItZm9ybS1pbnB1dF9f
652
+ aGludC13cmFwIj48bGFiZWwgZm9yPSJpZDExNzIyOTk2NjM2NDIiIGNsYXNz
653
+ PSJiLWZvcm0taW5wdXRfX2hpbnQiPgogICAgICAgICAg0L/QsNGA0L7Qu9GM
654
+ CiAgICAgICAgPC9sYWJlbD48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9
655
+ ImItZm9ybS1pbnB1dF9fYm94Ij48aW5wdXQgY2xhc3M9ImItZm9ybS1pbnB1
656
+ dF9faW5wdXQiIGlkPSJpZDExNzIyOTk2NjM2NDIiIHR5cGU9InBhc3N3b3Jk
657
+ IiBuYW1lPSJwYXNzd2QiIHRhYmluZGV4PSIxMDEiPjwvc3Bhbj4KICAgICAg
658
+ PC9zcGFuPjwvZGl2Pgo8ZGl2IGNsYXNzPSJiLWRvbWlrX19oYXVudGVyIj4K
659
+ PHNwYW4gY2xhc3M9ImItZm9ybS1jaGVja2JveCBiLWZvcm0tY2hlY2tib3hf
660
+ c2l6ZV9sIGItZm9ybS1jaGVja2JveF90aGVtZV9ncmV5LWwgYi1kb21pa19f
661
+ Y2hlY2tib3ggaS1iZW0iIG9uY2xpY2s9InJldHVybiB7J2ItZm9ybS1jaGVj
662
+ a2JveCc6e25hbWU6J2ItZm9ybS1jaGVja2JveCd9fSI+PHNwYW4gY2xhc3M9
663
+ ImItZm9ybS1jaGVja2JveF9faW5uZXIiPjxpbnB1dCBjbGFzcz0iYi1mb3Jt
664
+ LWNoZWNrYm94X19jaGVja2JveCBpLWJlbSIgdHlwZT0iY2hlY2tib3giIGlk
665
+ PSJpZDExNzIyOTk2NjM2OTIiIG5hbWU9InR3b3dlZWtzIiB2YWx1ZT0ieWVz
666
+ IiB0YWJpbmRleD0iMTAyIj48aSBjbGFzcz0iYi1mb3JtLWNoZWNrYm94X19i
667
+ ZyI+PGltZyBjbGFzcz0iYi1mb3JtLWNoZWNrYm94X190aWNrIiB0aXRsZT0i
668
+ IiBzcmM9Ii8veWFuZGV4LnN0L2xlZ28vXy9MYTZxaTE4WjhMd2duWmRzQXIx
669
+ cXkxR3dDd28uZ2lmIiBhbHQ9IiI+PC9pPjwvc3Bhbj48bGFiZWwgZm9yPSJp
670
+ ZDExNzIyOTk2NjM2OTIiIGNsYXNzPSJiLWZvcm0tY2hlY2tib3hfX2xhYmVs
671
+ Ij4KICAgICAgICDQt9Cw0L/QvtC80L3QuNGC0Ywg0LzQtdC90Y8KICAgICAg
672
+ PC9sYWJlbD48L3NwYW4+IDxzcGFuIGNsYXNzPSJiLWRvbWlrX19oZWxwIj4o
673
+ PGEgY2xhc3M9ImItZG9taWtfX2xpbmsiIHRhYmluZGV4PSIxMDYiIGhyZWY9
674
+ Imh0dHA6Ly9oZWxwLnlhbmRleC5ydS9wYXNzcG9ydC8/aWQ9OTIyNDkzIj7R
675
+ h9GC0L4g0Y3RgtC+PC9hPik8L3NwYW4+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJi
676
+ LWRvbWlrX19idXR0b24iPjxzcGFuIG9uY2xpY2s9InJldHVybiB7J2ItZm9y
677
+ bS1idXR0b24nOntuYW1lOidiLWZvcm0tYnV0dG9uJ319IiB0YWJpbmRleD0i
678
+ MTAzIiBjbGFzcz0iYi1mb3JtLWJ1dHRvbiBiLWZvcm0tYnV0dG9uX3NpemVf
679
+ eGwgYi1mb3JtLWJ1dHRvbl90aGVtZV9ncmV5LXhsIGktYmVtIj48aSBjbGFz
680
+ cz0iYi1mb3JtLWJ1dHRvbl9fbGVmdCI+PC9pPjxzcGFuIGNsYXNzPSJiLWZv
681
+ cm0tYnV0dG9uX19jb250ZW50Ij4KICAgICAgICA8c3BhbiBjbGFzcz0iYi1m
682
+ b3JtLWJ1dHRvbl9fdGV4dCI+CiAgICAgICAgICDQktC+0LnRgtC4CiAgICAg
683
+ ICAgPC9zcGFuPgogICAgICA8L3NwYW4+PGlucHV0IHR5cGU9InN1Ym1pdCIg
684
+ Y2xhc3M9ImItZm9ybS1idXR0b25fX2lucHV0IiBoaWRlZm9jdXM9InRydWUi
685
+ IHZhbHVlPSIiPjwvc3Bhbj48L2Rpdj4KPHNjcmlwdD4kKGZ1bmN0aW9uKCkg
686
+ eyQoJy5iLWRvbWlrX3R5cGVfYmlnZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0n
687
+ KS5vbignY2xpY2snLCBmdW5jdGlvbigpIHtyKHRoaXMsJ3N0cmVkL3BpZD00
688
+ MS9jaWQ9NzExMzgvcGF0aD1leHBpcmltZW50Jyl9KTt9KTs8L3NjcmlwdD48
689
+ c2NyaXB0PiQoZnVuY3Rpb24oKSB7JCgnLmItZG9taWtfdHlwZV9iaWdmb3Jt
690
+ IGlucHV0W3R5cGU9c3VibWl0XScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkg
691
+ e3IodGhpcywnc3RyZWQvcGlkPTQxL2NpZD03MTEzOC9wYXRoPWV4cGlyaW1l
692
+ bnQnKX0pO30pOzwvc2NyaXB0PjxkaXYgY2xhc3M9ImItZG9taWtfX3NvY2lh
693
+ bCIgb25jbGljaz0icmV0dXJuIHsnYi1kb21pa19fc29jaWFsJzp7J3NpemUn
694
+ OjI0fX0iPjwvZGl2Pgo8ZGl2IGNsYXNzPSJiLWRvbWlrX19yZWdpc3RlciI+
695
+ PGEgY2xhc3M9ImItZG9taWtfX2xpbmsiIHRhYmluZGV4PSIxMDQiIGhyZWY9
696
+ Imh0dHBzOi8vbW9uZXkueWFuZGV4LnJ1L3JlZy8/cmV0cGF0aD1odHRwcyUz
697
+ QSUyRiUyRm1vbmV5LnlhbmRleC5ydSUyRnNlbGVjdC13YWxsZXQueG1sJTNG
698
+ c3ctaXMtc3RvcmVkJTNEdHJ1ZSUyNnJlcXVlc3RpZCUzRDMxMzIzMDM5MzUz
699
+ ODM0MzIzNDM3NWYzMDYxMzAzNTM4NjE2MjM3NjMzNzY0MzMzMzMyMzAzNjM0
700
+ MzUzNDY2MzgzMTM5MzUzNDM5MzkzODY2NjMzNTY1MzUzNjM1MzIzODM4NjEz
701
+ NiI+0J7RgtC60YDRi9GC0Ywg0LrQvtGI0LXQu9C10Lo8L2E+PC9kaXY+Cjxz
702
+ Y3JpcHQ+JChmdW5jdGlvbigpIHskKCcuYi1kb21pa190eXBlX2JpZ2Zvcm0g
703
+ LmItZG9taWtfX3JlZ2lzdGVyIC5iLWRvbWlrX19saW5rJykub24oJ2NsaWNr
704
+ JywgZnVuY3Rpb24oKSB7cih0aGlzLCdzdHJlZC9waWQ9NDEvY2lkPTcxMTM5
705
+ L3BhdGg9ZXhwaXJpbWVudCcpfSk7fSk7PC9zY3JpcHQ+PHNjcmlwdD4kKGZ1
706
+ bmN0aW9uKCkgeyQoJy5iLWRvbWlrX3R5cGVfYmlnZm9ybSAuYi1kb21pa19f
707
+ cmVnaXN0ZXIgLmItZG9taWtfX2xpbmsnKS5vbignY2xpY2snLCBmdW5jdGlv
708
+ bigpIHtyKHRoaXMsJ3N0cmVkL3BpZD00MS9jaWQ9NzExMzkvcGF0aD1leHBp
709
+ cmltZW50Jyl9KTt9KTs8L3NjcmlwdD48ZGl2IGNsYXNzPSJiLWRvbWlrX19y
710
+ ZW1lbWJlciI+PGEgY2xhc3M9ImItZG9taWtfX3JlbWluZCIgaHJlZj0iaHR0
711
+ cHM6Ly9wYXNzcG9ydC55YW5kZXgucnUvcGFzc3BvcnQ/bW9kZT1yZXN0b3Jl
712
+ IiB0YWJpbmRleD0iMTA1Ij7QndCw0L/QvtC80L3QuNGC0Ywg0L/QsNGA0L7Q
713
+ u9GMPC9hPjwvZGl2Pgo8c2NyaXB0PiQoZnVuY3Rpb24oKSB7JCgnLmItZG9t
714
+ aWtfdHlwZV9iaWdmb3JtIC5iLWRvbWlrX19yZW1pbmQnKS5vbignY2xpY2sn
715
+ LCBmdW5jdGlvbigpIHtyKHRoaXMsJ3N0cmVkL3BpZD00MS9jaWQ9NzExNDAv
716
+ cGF0aD1leHBpcmltZW50Jyl9KTt9KTs8L3NjcmlwdD48c2NyaXB0PiQoZnVu
717
+ Y3Rpb24oKSB7JCgnLmItZG9taWtfdHlwZV9iaWdmb3JtIC5iLWRvbWlrX19y
718
+ ZW1pbmQnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHtyKHRoaXMsJ3N0cmVk
719
+ L3BpZD00MS9jaWQ9NzExNDAvcGF0aD1leHBpcmltZW50Jyl9KTt9KTs8L3Nj
720
+ cmlwdD4KPC9kaXY+PC90ZD4KPHRkIGNsYXNzPSJiLWRvbWlrX19zaGFkb3df
721
+ X3IiPsKgPC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9ImItZG9taWtfX3No
722
+ YWRvd19fbGIiPsKgPC90ZD4KPHRkIGNsYXNzPSJiLWRvbWlrX19zaGFkb3df
723
+ X2IiPjwvdGQ+Cjx0ZCBjbGFzcz0iYi1kb21pa19fc2hhZG93X19yYiI+wqA8
724
+ L3RkPgo8L3RyPgo8L3RhYmxlPgo8L2Zvcm0+PC9kaXY+CjwvdGQ+Cjx0ZCBj
725
+ bGFzcz0ibC1wYWdlX19yaWdodCI+PGltZyBjbGFzcz0ibC1wYWdlX19lbXB0
726
+ eS1jb2x1bW4tY29udGVudCIgYWx0PSIiIHNyYz0iL2kvZW1wdHkuZ2lmIj48
727
+ L3RkPgo8dGQgY2xhc3M9ImwtcGFnZV9fZ2FwIj48aT48L2k+PC90ZD4KPC90
728
+ cj48L3Rib2R5PjwvdGFibGU+CjxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsi
729
+ Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJCShmdW5jdGlv
730
+ biAoZCwgdywgYykgewoJCQkJKHdbY10gPSB3W2NdIHx8IFtdKS5wdXNoKGZ1
731
+ bmN0aW9uKCkgewoJCQkJCXRyeSB7CgkJCQkJCXcueWFDb3VudGVyMTUyMjIw
732
+ ID0gbmV3IFlhLk1ldHJpa2Eoe2lkOjE1MjIyMCwKCQkJCQkJCQl3ZWJ2aXNv
733
+ cjp0cnVlLAoJCQkJCQkJCWNsaWNrbWFwOnRydWUsCgkJCQkJCQkJdHJhY2tM
734
+ aW5rczp0cnVlLAoJCQkJCQkJCWFjY3VyYXRlVHJhY2tCb3VuY2U6dHJ1ZX0p
735
+ OwoJCQkJCQkKCgkJCXRyeSB7CgkJCQl2YXIgeWFtZXRyaWNzR29hbCA9ICJT
736
+ V19Eb21pa19HT0FMIjsKCQkJCWlmICh5YW1ldHJpY3NHb2FsKSB7CgkJCQkJ
737
+ dmFyIHlhbWV0cmljc0dvYWxQYXJhbXMgPSB7fTsKCQkJCQlpZih0eXBlb2Yo
738
+ eWFtZXRyaWNzR29hbFBhcmFtcykgIT09ICdvYmplY3QnKSB7CgkJCQkJCXlh
739
+ bWV0cmljc0dvYWxQYXJhbXMgPSB7fTsKCQkJCQl9CgkJCQkJeWFDb3VudGVy
740
+ MTUyMjIwLnJlYWNoR29hbCh5YW1ldHJpY3NHb2FsLCB5YW1ldHJpY3NHb2Fs
741
+ UGFyYW1zKTsKCQkJCX0KCQkJfSBjYXRjaChlKSB7fQoJCgoJCQkJCQkvLyDQ
742
+ odGH0LXRgtGH0LjQuiDQs9C+0YLQvtCyIChRV0VCLTk3NzcpCgkJCQkJCXcu
743
+ alF1ZXJ5KCdib2R5JykudHJpZ2dlcigneWEtY291bnRlci0xNTIyMjAtaW5p
744
+ dGVkJyk7CgkJCQkJfSBjYXRjaChlKSB7fQoJCQkJfSk7CgkJCQl2YXIgbiA9
745
+ IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdLAoJCQkJCXMg
746
+ PSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLAoJCQkJCWYgPSBmdW5jdGlv
747
+ biAoKSB7IG4ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocywgbik7IH07CgkJ
748
+ CQlzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKCQkJCXMuYXN5bmMgPSB0
749
+ cnVlOwoJCQkJcy5zcmMgPSAoZC5sb2NhdGlvbi5wcm90b2NvbCA9PSAiaHR0
750
+ cHM6IiA/ICJodHRwczoiIDogImh0dHA6IikgKyAiLy9tYy55YW5kZXgucnUv
751
+ bWV0cmlrYS93YXRjaC5qcyI7CgoJCQkJaWYgKHcub3BlcmEgPT0gIltvYmpl
752
+ Y3QgT3BlcmFdIikgewoJCQkJCWQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29u
753
+ dGVudExvYWRlZCIsIGYsIGZhbHNlKTsKCQkJCX0gZWxzZSB7IGYoKTsgfQoJ
754
+ CQl9KShkb2N1bWVudCwgd2luZG93LCAieWFuZGV4X21ldHJpa2FfY2FsbGJh
755
+ Y2tzIik7CgkJCTwvc2NyaXB0Pjxub3NjcmlwdD48ZGl2PjxpbWcgc3JjPSIv
756
+ L21jLnlhbmRleC5ydS93YXRjaC8xNTIyMjAiIHN0eWxlPSJwb3NpdGlvbjph
757
+ YnNvbHV0ZTsgbGVmdDotOTk5OXB4OyIgYWx0PSIiPjwvZGl2Pjwvbm9zY3Jp
758
+ cHQ+CjwvZGl2Pgo8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2Vs
759
+ bHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0iZm9vdGVyIj48
760
+ dHIgdmFsaWduPSJ0b3AiPgo8dGQgd2lkdGg9IjIwJSI+PGRpdiBjbGFzcz0i
761
+ bGlua3MiPjxkaXYgY2xhc3M9Im9mZmVyIj48YSBocmVmPSJodHRwczovL21v
762
+ bmV5LnlhbmRleC5ydS9kb2MueG1sP2lkPTUyMjc2NCIgb25jbGljaz0icih0
763
+ aGlzLCAnc3RyZWQvcGlkPTQxL2NpZD03MTA3NCcpIj7Qn9C+0LvRjNC30L7Q
764
+ stCw0YLQtdC70YzRgdC60L7QtSDRgdC+0LPQu9Cw0YjQtdC90LjQtTwvYT48
765
+ L2Rpdj48L2Rpdj48L3RkPgo8dGQgd2lkdGg9IjMwJSIgY2xhc3M9InNpdGVt
766
+ ZW51Ij48ZGl2IGNsYXNzPSJsaW5rcyI+CjxkaXYgY2xhc3M9ImxpbmtzIj48
767
+ YSBocmVmPSJodHRwczovL21vbmV5LnlhbmRleC5ydS9zZXNzaW9ucy54bWwi
768
+ IG9uY2xpY2s9InIodGhpcywgJ3N0cmVkL3BpZD00MS9jaWQ9NzE1MTgnKSI+
769
+ 0J/QvtGB0LvQtdC00L3QtdC1wqDQv9C+0YHQtdGJ0LXQvdC40LU8L2E+PC9k
770
+ aXY+CjxkaXYgY2xhc3M9ImxpbmtzIj7Qn9C+0LfQstC+0L3QuNGC0YzCoNC9
771
+ 0LDQvMKgKzfCoCg0OTUpwqA5NzTCoDM1ODbCoNC40LvQuMKgPGEgaHJlZj0i
772
+ aHR0cHM6Ly9tb25leS55YW5kZXgucnUvZmVlZGJhY2svIiBvbmNsaWNrPSJy
773
+ KHRoaXMsICdzdHJlZC9waWQ9NDEvY2lkPTcwMTAxJykiIHN0eWxlPSJtYXJn
774
+ aW4tcmlnaHQ6MCI+0L3QsNC/0LjRgdCw0YLRjDwvYT4KPC9kaXY+CjwvZGl2
775
+ PjwvdGQ+Cjx0ZCB3aWR0aD0iMTUlIiBjbGFzcz0ic2l0ZW1lbnUiPjxkaXYg
776
+ Y2xhc3M9ImxpbmtzIj4KPGRpdiBjbGFzcz0ic2hpZnQiPgo8YSBocmVmPSJo
777
+ dHRwOi8vbW9iaWxlLnlhbmRleC5ydS9hcHBzL21vbmV5LyIgb25jbGljaz0i
778
+ cih0aGlzLCAnc3RyZWQvcGlkPTQxL2NpZD03MjMwNycpIj7QnNC+0LHQuNC7
779
+ 0YzQvdGL0LUg0L/RgNC40LvQvtC20LXQvdC40Y88L2E+wqAKCQkJCQkJPC9k
780
+ aXY+CjxkaXYgY2xhc3M9InNoaWZ0Ij48YSBocmVmPSJodHRwOi8vdHVuZS55
781
+ YW5kZXgucnUvYXBpL215L3YxLjAvbXkueG1sP2Jsb2NrPTQ0JmFtcDtwYXJh
782
+ bT0wJmFtcDtyZXRwYXRoPWh0dHBzJTNBJTJGJTJGbS5tb25leS55YW5kZXgu
783
+ cnUmYW1wO3NrPXllOTViNzZhNjRmY2E0NGIxYWJiZGFmYWRlNmRhMWVkZiIg
784
+ b25jbGljaz0icih0aGlzLCAnc3RyZWQvcGlkPTQxL2NpZD03MDA5OScpIj7Q
785
+ nNC+0LHQuNC70YzQvdCw0Y8g0LLQtdGA0YHQuNGPPC9hPjwvZGl2Pgo8L2Rp
786
+ dj48L3RkPgo8dGQgd2lkdGg9IjE1JSIgY2xhc3M9InNpdGVtZW51Ij48ZGl2
787
+ IGNsYXNzPSJsaW5rcyI+CjxkaXYgY2xhc3M9InNoaWZ0Ij4KPGEgaHJlZj0i
788
+ aHR0cHM6Ly9tb25leS55YW5kZXgucnUvZ2V0LyIgb25jbGljaz0icih0aGlz
789
+ LCAnc3RyZWQvcGlkPTQxL2NpZD03MDA4NicpIj7QnNCw0LPQsNC30LjQvdCw
790
+ 0Lw8L2E+wqAKCQkJCQkJPC9kaXY+CjxkaXYgY2xhc3M9InNoaWZ0Ij48YSBo
791
+ cmVmPSJodHRwOi8vYXBpLnlhbmRleC5ydS9tb25leS8iIG9uY2xpY2s9InIo
792
+ dGhpcywgJ3N0cmVkL3BpZD00MS9jaWQ9NzE0NDMnKSI+0KDQsNC30YDQsNCx
793
+ 0L7RgtGH0LjQutCw0Lw8L2E+PC9kaXY+CjwvZGl2PjwvdGQ+Cjx0ZCB3aWR0
794
+ aD0iMjAlIiBjbGFzcz0iY29weXJpZ2h0Ij48ZGl2IGNsYXNzPSJjb3B5cmln
795
+ aHQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MCI+CjxkaXY+CjxzcGFuPsKpwqAy
796
+ MDAy4oCUMjAxNDwvc3Bhbj4gwqs8YSBocmVmPSJodHRwOi8vd3d3LnlhbmRl
797
+ eC5ydS8iPtCv0L3QtNC10LrRgTwvYT7CuwoJPC9kaXY+wqkgMjAwN+KAlDIw
798
+ MTQg0J7QntCewqDQndCa0J7CoMKr0K/QvdC00LXQutGBLtCU0LXQvdGM0LPQ
799
+ uMK7IDxkaXYgY2xhc3M9ImxpbmtzIj4KPGEgaHJlZj0iaHR0cHM6Ly9tb25l
800
+ eS55YW5kZXgucnUvYWJvdXQueG1sIiBvbmNsaWNrPSJyKHRoaXMsICdzdHJl
801
+ ZC9waWQ9NDEvY2lkPTcwMTAwJykiPtCewqDQv9GA0L7QtdC60YLQtTwvYT7C
802
+ oCA8YSBocmVmPSJodHRwczovL21vbmV5LnlhbmRleC5ydS9lbmcvYWJvdXQu
803
+ eG1sIiBvbmNsaWNrPSJyKHRoaXMsICdzdHJlZC9waWQ9NDEvY2lkPTcxMDY2
804
+ JykiPkFib3V0PC9hPgo8L2Rpdj4KPC9kaXY+PC90ZD4KPC90cj48L3RhYmxl
805
+ Pgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDogLTEwMHB4
806
+ OyB0b3A6IC0xMDBweDsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IG92ZXJm
807
+ bG93OiBoaWRkZW47Ij4KPHAgc3R5bGU9ImJhY2tncm91bmQ6dXJsKGh0dHBz
808
+ Oi8vczQubW9uZXkueWFuZGV4Lm5ldC9mcC9jbGVhci5wbmc/b3JnX2lkPWZz
809
+ eW1jbHVlJmFtcDtzZXNzaW9uX2lkPUJDQjU5NzY0N0FGNUU4NjQ4REIxQTYx
810
+ OUY2QkY5QjI4JmFtcDttPTEpIj48L3A+CjxpbWcgc3JjPSJodHRwczovL3M0
811
+ Lm1vbmV5LnlhbmRleC5uZXQvZnAvY2xlYXIucG5nP29yZ19pZD1mc3ltY2x1
812
+ ZSZhbXA7c2Vzc2lvbl9pZD1CQ0I1OTc2NDdBRjVFODY0OERCMUE2MTlGNkJG
813
+ OUIyOCZhbXA7bT0yIiBhbHQ9IiI+PHNjcmlwdCBzcmM9Imh0dHBzOi8vczQu
814
+ bW9uZXkueWFuZGV4Lm5ldC9mcC9jaGVjay5qcz9vcmdfaWQ9ZnN5bWNsdWUm
815
+ YW1wO3Nlc3Npb25faWQ9QkNCNTk3NjQ3QUY1RTg2NDhEQjFBNjE5RjZCRjlC
816
+ MjgiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+PG9iamVjdCB0
817
+ eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIgZGF0YT0iaHR0
818
+ cHM6Ly9zNC5tb25leS55YW5kZXgubmV0L2ZwL2ZwLnN3Zj9vcmdfaWQ9ZnN5
819
+ bWNsdWUmYW1wO3Nlc3Npb25faWQ9QkNCNTk3NjQ3QUY1RTg2NDhEQjFBNjE5
820
+ RjZCRjlCMjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGlkPSJvYmpfaWQiPjxw
821
+ YXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9Imh0dHBzOi8vczQubW9uZXkueWFu
822
+ ZGV4Lm5ldC9mcC9mcC5zd2Y/b3JnX2lkPWZzeW1jbHVlJmFtcDtzZXNzaW9u
823
+ X2lkPUJDQjU5NzY0N0FGNUU4NjQ4REIxQTYxOUY2QkY5QjI4Ij4KPGRpdj48
824
+ L2Rpdj48L29iamVjdD4KPC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
825
+ Y3JpcHQiPgoJCQkJKGZ1bmN0aW9uKCkgewoJCQkJCXZhciBzOwoJCQkJCXZh
826
+ ciBlOwoJCQkJCXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQn
827
+ KTsKCQkJCQlzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKCQkJCQlzLnNy
828
+ YyA9ICcvL2ExLnZkbmEtYXNzZXRzLmNvbS9hbmFseXRpY3MuanMnOwoJCQkJ
829
+ CXMuYXN5bmMgPSB0cnVlOwoJCQkJCWUgPSBkb2N1bWVudC5nZXRFbGVtZW50
830
+ c0J5VGFnTmFtZSgnYm9keScpWzBdOwoJCQkJCWUuaW5zZXJ0QmVmb3JlKHMs
831
+ IGUubGFzdENoaWxkKTsKCQkJCQl0aGlzLlZETkEgPSB0aGlzLlZETkEgfHwg
832
+ e307CgkJCQkJdGhpcy5WRE5BLnF1ZXVlID0gdGhpcy5WRE5BLnF1ZXVlIHx8
833
+ IFtdOwoJCQkJfSkoKTsKCgkJCQlWRE5BLnF1ZXVlLnB1c2goewoJCQkJCWFw
834
+ aUtleSA6ICJ5YW5kZXhtb25leTEzOTM1ODI2NDE5NzEiLAoJCQkJCW1ldGhv
835
+ ZCA6ICJyZXBvcnRQYWdlVmlldyIKCQkJCX0pOwoJCQk8L3NjcmlwdD4KPC9i
836
+ b2R5Pgo8L2h0bWw+Cg==
837
+ http_version:
838
+ recorded_at: Sat, 13 Sep 2014 15:14:58 GMT
839
+ - request:
840
+ method: post
841
+ uri: https://money.yandex.ru/api/instance-id
842
+ body:
843
+ encoding: UTF-8
844
+ string: client_id=
845
+ headers:
846
+ Cookie:
847
+ - yandexuid=4504946371409241364
848
+ Content-Type:
849
+ - application/x-www-form-urlencoded
850
+ response:
851
+ status:
852
+ code: 200
853
+ message: OK
854
+ headers:
855
+ Server:
856
+ - nginx
857
+ Date:
858
+ - Sat, 13 Sep 2014 15:14:58 GMT
859
+ Content-Type:
860
+ - application/json;charset=UTF-8
861
+ Content-Length:
862
+ - '54'
863
+ Connection:
864
+ - keep-alive
865
+ Keep-Alive:
866
+ - timeout=120
867
+ Vary:
868
+ - Accept-Encoding
869
+ Cache-Control:
870
+ - no-cache
871
+ body:
872
+ encoding: UTF-8
873
+ string: '{"status":"refused","error":"illegal_param_client_id"}'
874
+ http_version:
875
+ recorded_at: Sat, 13 Sep 2014 15:14:58 GMT
876
+ recorded_with: VCR 2.9.3