From 431adebc41cced47a4fc883352d66f660a09edde Mon Sep 17 00:00:00 2001 From: Kristian Garza Date: Mon, 15 Apr 2019 10:41:02 +0200 Subject: [PATCH 1/2] defaults to schema 4version when the metadata is in schema_org https://github.com/datacite/bracco/issues/188 --- app/controllers/dois_controller.rb | 1 + spec/concerns/crosscitable_spec.rb | 1 + .../vcr_cassettes/Doi/parse_xml/from_schema_org_url.yml | 8 ++++---- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/dois_controller.rb b/app/controllers/dois_controller.rb index 28b556a27..3155a53a2 100644 --- a/app/controllers/dois_controller.rb +++ b/app/controllers/dois_controller.rb @@ -544,6 +544,7 @@ def safe_params end meta = xml.present? ? parse_xml(xml, doi: p[:doi]) : {} + p[:schemaVersion] = meta["from"] == "schema_org" ? "http://datacite.org/schema/kernel-4" : p[:schemaVersion] xml = meta["string"] read_attrs = [p[:creators], p[:contributors], p[:titles], p[:publisher], diff --git a/spec/concerns/crosscitable_spec.rb b/spec/concerns/crosscitable_spec.rb index ec22334cc..6b8c41b6f 100644 --- a/spec/concerns/crosscitable_spec.rb +++ b/spec/concerns/crosscitable_spec.rb @@ -332,6 +332,7 @@ expect(meta["titles"]).to eq([{"title"=>"Hydrological and meteorological investigations in a lake near Kangerlussuaq, west Greenland"}]) expect(meta["publication_year"]).to eq("2014") expect(meta["publisher"]).to eq("PANGAEA") + expect(meta["schema_version"]).to eq(nil) end end diff --git a/spec/fixtures/vcr_cassettes/Doi/parse_xml/from_schema_org_url.yml b/spec/fixtures/vcr_cassettes/Doi/parse_xml/from_schema_org_url.yml index d29832c2a..52317a564 100644 --- a/spec/fixtures/vcr_cassettes/Doi/parse_xml/from_schema_org_url.yml +++ b/spec/fixtures/vcr_cassettes/Doi/parse_xml/from_schema_org_url.yml @@ -8,7 +8,7 @@ http_interactions: string: '' headers: User-Agent: - - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma) + - Mozilla/5.0 (compatible; Maremma/4.2.1; +https://github.com/datacite/maremma) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 response: @@ -19,7 +19,7 @@ http_interactions: Server: - PANGAEA/1.0 Date: - - Sat, 29 Dec 2018 11:38:47 GMT + - Mon, 15 Apr 2019 08:06:51 GMT Vary: - Accept Link: @@ -39,7 +39,7 @@ http_interactions: body: encoding: ASCII-8BIT string: !binary |- - PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIG1heGltdW0tc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDYwMCw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpYyw2MDBpdGFsaWMsMzAwLDMwMGl0YWxpYyw4MDAsODAwaXRhbGljIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjY3YmFjYTIyMjM0NmJiOGQ2OTY3YjhhMGUxYzIyMzYxL2Jvb3RzdHJhcC0yNGNvbC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuNjdiYWNhMjIyMzQ2YmI4ZDY5NjdiOGEwZTFjMjIzNjEvY3NzL3BhbmdhZWEuY3NzIj4KPCEtLVtpZiBsdGUgSUUgOV0+DQo8c3R5bGU+I3RvcGljcy1wdWxsZG93bi13cmFwcGVyIGxhYmVsOmFmdGVyIHsgZGlzcGxheTpub25lOyB9PC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjY3YmFjYTIyMjM0NmJiOGQ2OTY3YjhhMGUxYzIyMzYxL2Zhdmljb24uaWNvIj4NCjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi42N2JhY2EyMjIzNDZiYjhkNjk2N2I4YTBlMWMyMjM2MS9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uIj4NCjxsaW5rIHJlbD0iaW1hZ2Vfc3JjIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMi40L2pxdWVyeS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnkubWF0Y2hIZWlnaHQvMC43LjAvanF1ZXJ5Lm1hdGNoSGVpZ2h0LW1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS5hcHBlYXIvMC40LjEvanF1ZXJ5LmFwcGVhci5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjY3YmFjYTIyMjM0NmJiOGQ2OTY3YjhhMGUxYzIyMzYxL2Jvb3RzdHJhcC0yNGNvbC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi42N2JhY2EyMjIzNDZiYjhkNjk2N2I4YTBlMWMyMjM2MS9qcy9kYXRhY29tYm8tbWluLmpzIj48L3NjcmlwdD4KPHRpdGxlPkpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTQpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kPC90aXRsZT4KPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9Ikh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBsYWtlIG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQiIC8+CjxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iSm9oYW5zc29uLCBFbW1hOyBCZXJnbHVuZCwgU3RlbjsgTGluZGJvcmcsIFRvYmlhczsgUGV0cm9uZSwgSm9oYW5uZXM7IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgTGF1ZG9uLCBIamFsbWFyIiAvPgo8bWV0YSBuYW1lPSJkYXRlIiBjb250ZW50PSIyMDE0LTA5LTI1IiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSm9oYW5zc29uLCBFbW1hOyBCZXJnbHVuZCwgU3RlbjsgTGluZGJvcmcsIFRvYmlhczsgUGV0cm9uZSwgSm9oYW5uZXM7IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgTGF1ZG9uLCBIamFsbWFyICgyMDE0KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZC4gUEFOR0FFQSwgaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgsIFN1cHBsZW1lbnQgdG86IEpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTUpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCDigJMgcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldC4gRWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YSwgNygxKSwgOTMtMTA4LCBodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIgLz4KPG1ldGEgbmFtZT0iZ2VvLnBvc2l0aW9uIiBjb250ZW50PSI2Ny4xMjU5NDA7LTUwLjE4MDM3MCIgLz4KPG1ldGEgbmFtZT0iSUNCTSIgY29udGVudD0iNjcuMTI1OTQwLCAtNTAuMTgwMzcwIiAvPgo8IS0tQkVHSU46IER1YmxpbiBDb3JlIGRlc2NyaXB0aW9uLS0+CjxsaW5rIHJlbD0ic2NoZW1hLkRDIiBocmVmPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgLz4KPGxpbmsgcmVsPSJzY2hlbWEuRENURVJNUyIgaHJlZj0iaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zLyIgLz4KPG1ldGEgbmFtZT0iREMudGl0bGUiIGNvbnRlbnQ9Ikh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBsYWtlIG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkpvaGFuc3NvbiwgRW1tYSIgLz4KPG1ldGEgbmFtZT0iREMuY3JlYXRvciIgY29udGVudD0iQmVyZ2x1bmQsIFN0ZW4iIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkxpbmRib3JnLCBUb2JpYXMiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IlBldHJvbmUsIEpvaGFubmVzIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJ2YW4gQXMsIERpcmsiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9Ikd1c3RhZnNzb24sIExhcnMtR8O2cmFuIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJOw6RzbHVuZCwgSmVucy1PdmUiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkxhdWRvbiwgSGphbG1hciIgLz4KPG1ldGEgbmFtZT0iREMucHVibGlzaGVyIiBjb250ZW50PSJQQU5HQUVBIiAvPgo8bWV0YSBuYW1lPSJEQy5zb3VyY2UiIGNvbnRlbnQ9IlN1cHBsZW1lbnQgdG86IEpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTUpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCDigJMgcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldC4gRWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YSwgNygxKSwgOTMtMTA4LCBodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIgLz4KPG1ldGEgbmFtZT0iREMuZGF0ZSIgY29udGVudD0iMjAxNC0wOS0yNSIgc2NoZW1lPSJEQ1RFUk1TLlczQ0RURiIgLz4KPG1ldGEgbmFtZT0iREMudHlwZSIgY29udGVudD0iRGF0YXNldCIgLz4KPG1ldGEgbmFtZT0iREMubGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiBzY2hlbWU9IkRDVEVSTVMuUkZDMzA2NiIgLz4KPG1ldGEgbmFtZT0iRENURVJNUy5saWNlbnNlIiBzY2hlbWU9IkRDVEVSTVMuVVJJIiBjb250ZW50PSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyIgLz4KPG1ldGEgbmFtZT0iREMuaWRlbnRpZmllciIgY29udGVudD0iaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiIHNjaGVtZT0iRENURVJNUy5VUkkiIC8+CjxtZXRhIG5hbWU9IkRDLmZvcm1hdCIgY29udGVudD0iYXBwbGljYXRpb24vemlwLCA1NjYzLjAga0J5dGVzIiAvPgo8bWV0YSBuYW1lPSJEQy5yZWxhdGlvbiIgY29udGVudD0iTWFwIG9mIFR3byBCb2F0IExha2UgaW4gR3JlZW5sYW5kIChqcGcgMTMgTUIpIHdpdGggcG9zaXRpb24gb2Ygc2FtcGxpbmcgc2l0ZXMgKFVSSTogaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnKSIgLz4KPG1ldGEgbmFtZT0iREMucmVsYXRpb24iIGNvbnRlbnQ9IlRpbWUgbGFwcyBwaG90b3Mgb2YgbGFrZSAyMDEyLTA5LTA1IHRvIDIwMTMtMDgtMTQgKG1vdiBmaWxlLCB6aXBwZWQgMjA1IE1CKSAoVVJJOiBodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwKSIgLz4KPCEtLUVORDogRHVibGluIENvcmUgZGVzY3JpcHRpb24tLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP3Y9MyZhbXA7bGFuZ3VhZ2U9ZW4mYW1wO2tleT1BSXphU3lEU2lWalBTNVl2YW5ac0VINFJ2SzBnRXI0NlVvLTFyQ1EiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Lyo8IVtDREFUQVsqL2pRdWVyeShmdW5jdGlvbigkKSB7IHJldHVybiBpbml0aWFsaXplU21hbGxEYXRhc2V0R01hcCg4MzYxNzgsJ2hhc2g9YzY2NjkzY2JiZjZjNDkyYjEwYmU4M2Q0NDliOWY0NzUnLG5ldyBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMobmV3IGdvb2dsZS5tYXBzLkxhdExuZyg2Ny4xMjU5NCwtNTAuMTgwMzcpLG5ldyBnb29nbGUubWFwcy5MYXRMbmcoNjcuMTI1OTQsLTUwLjE4MDM3KSksdW5kZWZpbmVkKTsgfSk7LypdXT4qLzwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2QxYnhoOHVhczFtbnc3LmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9lbWJlZC5qcyI+PC9zY3JpcHQ+CjxsaW5rIHJlbD0iY2l0ZS1hcyIgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiPgo8bGluayByZWw9ImRlc2NyaWJlZGJ5IiBocmVmPSJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg/Zm9ybWF0PW1ldGFkYXRhX2pzb25sZCIgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CjxsaW5rIHJlbD0iZGVzY3JpYmVkYnkiIGhyZWY9Imh0dHBzOi8vZG9pLnBhbmdhZWEuZGUvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OD9mb3JtYXQ9Y2l0YXRpb25fcmlzIiB0eXBlPSJhcHBsaWNhdGlvbi94LXJlc2VhcmNoLWluZm8tc3lzdGVtcyI+CjxsaW5rIHJlbD0iZGVzY3JpYmVkYnkiIGhyZWY9Imh0dHBzOi8vZG9pLnBhbmdhZWEuZGUvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OD9mb3JtYXQ9Y2l0YXRpb25fYmlidGV4IiB0eXBlPSJhcHBsaWNhdGlvbi94LWJpYnRleCI+CjxsaW5rIHJlbD0iaXRlbSIgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCIgdHlwZT0iYXBwbGljYXRpb24vemlwIj4KPGxpbmsgcmVsPSJhdXRob3IiIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMi02NTUzLTg5ODIiPgo8bGluayByZWw9ImF1dGhvciIgaHJlZj0iaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiI+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+eyJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnLyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiwiQHR5cGUiOiJEYXRhc2V0IiwiaWRlbnRpZmllciI6Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiwidXJsIjoiaHR0cHM6Ly9kb2kucGFuZ2FlYS5kZS8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiwiY3JlYXRvciI6W3siQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiSm9oYW5zc29uIiwiZ2l2ZW5OYW1lIjoiRW1tYSIsImVtYWlsIjoiZW1tYS5qb2hhbnNzb25Ac2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJCZXJnbHVuZCIsImdpdmVuTmFtZSI6IlN0ZW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkxpbmRib3JnIiwiZ2l2ZW5OYW1lIjoiVG9iaWFzIiwiZW1haWwiOiJ0b2JpYXMubGluZGJvcmdAc2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJQZXRyb25lIiwiZ2l2ZW5OYW1lIjoiSm9oYW5uZXMiLCJlbWFpbCI6ImpvaGFubmVzLnBldHJvbmVAc2tiLnNlIn0seyJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIiwiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoidmFuIEFzIiwiZ2l2ZW5OYW1lIjoiRGlyayIsImlkZW50aWZpZXIiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJHdXN0YWZzc29uIiwiZ2l2ZW5OYW1lIjoiTGFycy1Hw7ZyYW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6Ik7DpHNsdW5kIiwiZ2l2ZW5OYW1lIjoiSmVucy1PdmUifSx7IkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYiLCJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJMYXVkb24iLCJnaXZlbk5hbWUiOiJIamFsbWFyIiwiaWRlbnRpZmllciI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYifV0sIm5hbWUiOiJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIiwicHVibGlzaGVyIjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwibmFtZSI6IlBBTkdBRUEiLCJkaXNhbWJpZ3VhdGluZ0Rlc2NyaXB0aW9uIjoiRGF0YSBQdWJsaXNoZXIgZm9yIEVhcnRoICYgRW52aXJvbm1lbnRhbCBTY2llbmNlIiwidXJsIjoiaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS8ifSwiaW5jbHVkZWRJbkRhdGFDYXRhbG9nIjp7IkB0eXBlIjoiRGF0YUNhdGFsb2ciLCJuYW1lIjoiUEFOR0FFQSIsImRpc2FtYmlndWF0aW5nRGVzY3JpcHRpb24iOiJEYXRhIFB1Ymxpc2hlciBmb3IgRWFydGggJiBFbnZpcm9ubWVudGFsIFNjaWVuY2UiLCJ1cmwiOiJodHRwczovL3d3dy5wYW5nYWVhLmRlLyJ9LCJkYXRlUHVibGlzaGVkIjoiMjAxNC0wOS0yNSIsImNpdGF0aW9uIjpbeyJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIsIkB0eXBlIjoiUHVibGljYXRpb25Jc3N1ZSIsImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIsInVybCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1IiwiY3JlYXRvciI6W3siQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiSm9oYW5zc29uIiwiZ2l2ZW5OYW1lIjoiRW1tYSIsImVtYWlsIjoiZW1tYS5qb2hhbnNzb25Ac2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJCZXJnbHVuZCIsImdpdmVuTmFtZSI6IlN0ZW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkxpbmRib3JnIiwiZ2l2ZW5OYW1lIjoiVG9iaWFzIiwiZW1haWwiOiJ0b2JpYXMubGluZGJvcmdAc2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJQZXRyb25lIiwiZ2l2ZW5OYW1lIjoiSm9oYW5uZXMiLCJlbWFpbCI6ImpvaGFubmVzLnBldHJvbmVAc2tiLnNlIn0seyJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIiwiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoidmFuIEFzIiwiZ2l2ZW5OYW1lIjoiRGlyayIsImlkZW50aWZpZXIiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJHdXN0YWZzc29uIiwiZ2l2ZW5OYW1lIjoiTGFycy1Hw7ZyYW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6Ik7DpHNsdW5kIiwiZ2l2ZW5OYW1lIjoiSmVucy1PdmUifSx7IkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYiLCJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJMYXVkb24iLCJnaXZlbk5hbWUiOiJIamFsbWFyIiwiaWRlbnRpZmllciI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYifV0sIm5hbWUiOiJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCDigJMgcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldCIsImRhdGVQdWJsaXNoZWQiOiIyMDE1IiwiaXNzdWVOdW1iZXIiOiI3KDEpIiwicGFnaW5hdGlvbiI6IjkzLTEwOCIsImlzUGFydE9mIjp7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrU2VyaWVzIiwibmFtZSI6IkVhcnRoIFN5c3RlbSBTY2llbmNlIERhdGEifX0seyJAaWQiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L3R3b2JvYXRsYWtlX2dyZWVubGFuZC5qcGciLCJAdHlwZSI6IldlYlBhZ2UiLCJpZGVudGlmaWVyIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnIiwidXJsIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnIiwibmFtZSI6Ik1hcCBvZiBUd28gQm9hdCBMYWtlIGluIEdyZWVubGFuZCAoanBnIDEzIE1CKSB3aXRoIHBvc2l0aW9uIG9mIHNhbXBsaW5nIHNpdGVzIn0seyJAaWQiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIiwiQHR5cGUiOiJXZWJQYWdlIiwiaWRlbnRpZmllciI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvVGltZWxhcHNlX1RCTC56aXAiLCJ1cmwiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIiwibmFtZSI6IlRpbWUgbGFwcyBwaG90b3Mgb2YgbGFrZSAyMDEyLTA5LTA1IHRvIDIwMTMtMDgtMTQgKG1vdiBmaWxlLCB6aXBwZWQgMjA1IE1CKSJ9XSwiZGVzY3JpcHRpb24iOiJGZXcgaHlkcm9sb2dpY2FsIHN0dWRpZXMgaGF2ZSBiZWVuIG1hZGUgaW4gR3JlZW5sYW5kLCBvdGhlciB0aGFuIG9uIGdsYWNpYWwgaHlkcm9sb2d5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaWNlIHNoZWV0LiBVbmRlcnN0YW5kaW5nIHBlcm1hZnJvc3QgaHlkcm9sb2d5IGFuZCBoeWRyb2NsaW1hdGljIGNoYW5nZSBhbmQgdmFyaWFiaWxpdHksIGhvd2V2ZXIsIHByb3ZpZGVzIGtleSBpbmZvcm1hdGlvbiBmb3IgdW5kZXJzdGFuZGluZyBjbGltYXRlIGNoYW5nZSBlZmZlY3RzIGFuZCBmZWVkYmFja3MgaW4gdGhlIEFyY3RpYyBsYW5kc2NhcGUuIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgZXh0ZW5zaXZlIGFuZCBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIG9wZW4gYWNjZXNzIGRhdGFzZXQsIHdpdGggaGlnaCB0ZW1wb3JhbCByZXNvbHV0aW9uIGZyb20gYSAxLjU2IGttKioyIHBlcm1hZnJvc3QgY2F0Y2htZW50IHdpdGggYSBsYWtlIHVuZGVybGFpbiBieSBhIHRocm91Z2ggdGFsaWsgY2xvc2UgdG8gdGhlIGljZSBzaGVldCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIHdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgcGFwZXIgZGVzY3JpYmVzIHRoZSBoeWRyb2xvZ2ljYWwgc2l0ZSBpbnZlc3RpZ2F0aW9ucyBhbmQgdXRpbGl6ZWQgZXF1aXBtZW50LCBhcyB3ZWxsIGFzIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBiZXR3ZWVuIDIwMTAgYW5kIDIwMTMuIFRoZSBoaWdoIHNwYXRpYWwgcmVzb2x1dGlvbiwgd2l0aGluIHRoZSBpbnZlc3RpZ2F0ZWQgYXJlYSwgb2YgdGhlIGRhdGFzZXQgbWFrZXMgaXQgaGlnaGx5IHN1aXRhYmxlIGZvciB2YXJpb3VzIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgZWNvbG9naWNhbCBzdHVkaWVzIG9uIGNhdGNobWVudCBzY2FsZS4iLCJzcGF0aWFsQ292ZXJhZ2UiOnsiQHR5cGUiOiJQbGFjZSIsImdlbyI6eyJAdHlwZSI6Ikdlb0Nvb3JkaW5hdGVzIiwibGF0aXR1ZGUiOjY3LjEyNTk0LCJsb25naXR1ZGUiOi01MC4xODAzN319LCJpbkxhbmd1YWdlIjoiZW4iLCJsaWNlbnNlIjoiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iLCJkaXN0cmlidXRpb24iOnsiQHR5cGUiOiJEYXRhRG93bmxvYWQiLCJmaWxlRm9ybWF0IjoiYXBwbGljYXRpb24vemlwIiwiY29udGVudFVybCI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvam9oYW5zc29uX2V0YWwtMjAxNC56aXAifX08L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8qPCFbQ0RBVEFbKi8NCihmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsNCihpW3JdLnE9aVtyXS5xfHxbXSkucHVzaChhcmd1bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50KG8pLA0KbT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdO2EuYXN5bmM9MTthLnNyYz1nO20ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxtKQ0KfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOw0KZ2EoJ2NyZWF0ZScsICdVQS0zMDYyNDE1MC0xJywgJ3BhbmdhZWEuZGUnKTsNCmdhKCdzZXQnLCAnYW5vbnltaXplSXAnLCB0cnVlKTsNCmdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7DQovKl1dPiovPC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZXBhZ2UtbGF5b3V0Ij4NCjxkaXYgaWQ9ImhlYWRlci13cmFwcGVyIj4NCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICA8aGVhZGVyIGNsYXNzPSJyb3ciPjwhLS0gdm9sbGUgU2NyZWVuLUJyZWl0ZSAtLT4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+PCEtLSBtYXguIEJyZWl0ZSAtLT4NCiAgICAgICAgPGRpdiBpZD0ibG9naW4tYXJlYS13cmFwcGVyIiBjbGFzcz0iaGlkZGVuLXByaW50Ij48ZGl2IGlkPSJsb2dpbi1hcmVhIj48c3BhbiBpZD0idXNlci1uYW1lIj5Ob3QgbG9nZ2VkIGluPC9zcGFuPjxhIGlkPSJzaWdudXAtYnV0dG9uIiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1wbHVzLXNpZ24gc2VsZi1yZWZlcmVyLWxpbmsiIHRpdGxlPSJTaWduIFVwIC8gQ3JlYXRlIEFjY291bnQiIGFyaWEtbGFiZWw9IlNpZ24gdXAiIHRhcmdldD0iX3NlbGYiIHJlbD0ibm9mb2xsb3ciIGhyZWY9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvdXNlci9zaWdudXAucGhwP3JlZmVyZXI9aHR0cHMlM0ElMkYlMkZ3d3cucGFuZ2FlYS5kZSUyRiIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL3NpZ251cC5waHA/cmVmZXJlcj0jdSMiPjwvYT48YSBpZD0ibG9naW4tYnV0dG9uIiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1sb2ctaW4gc2VsZi1yZWZlcmVyLWxpbmsiIHRpdGxlPSJMb2cgSW4iIGFyaWEtbGFiZWw9IkxvZyBpbiIgdGFyZ2V0PSJfc2VsZiIgcmVsPSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL2xvZ2luLnBocD9yZWZlcmVyPWh0dHBzJTNBJTJGJTJGd3d3LnBhbmdhZWEuZGUlMkYiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvdXNlci9sb2dpbi5waHA/cmVmZXJlcj0jdSMiPjwvYT48L2Rpdj48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgaGVhZGVyLWJsb2NrIGNvbC1sZy0zIGNvbC1tZC00Ij48L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgaWQ9ImhlYWRlci1sb2dvLWJsb2NrIiBjbGFzcz0iaGVhZGVyLWJsb2NrIGNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS00IGNvbC14cy04Ij4NCiAgICAgICAgICA8ZGl2IGlkPSJwYW5nYWVhLWxvZ28iPg0KICAgICAgICAgICAgPGEgdGl0bGU9IlBBTkdBRUEgaG9tZSIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8iIGNsYXNzPSJob21lLWxpbmsiPjxpbWcgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjY3YmFjYTIyMjM0NmJiOGQ2OTY3YjhhMGUxYzIyMzYxL2xheW91dC1pbWFnZXMvcGFuZ2FlYS1sb2dvLnBuZyIgYWx0PSJQQU5HQUVBIGhvbWUiPjwvYT4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGlkPSJoZWFkZXItbWlkLWJsb2NrIiBjbGFzcz0iaGVhZGVyLWJsb2NrIGNvbC1sZy0xMiBjb2wtbWQtOSBjb2wtc20tMjAgY29sLXhzLTE2Ij4NCiAgICAgICAgICA8ZGl2IGlkPSJwYW5nYWVhLWxvZ28taGVhZGxpbmUiPg0KICAgICAgICAgICAgUEFOR0FFQTxzcGFuIGNsYXNzPSJwdW5rdCI+Ljwvc3Bhbj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGlkPSJwYW5nYWVhLWxvZ28tc2xvZ2FuIj4NCiAgICAgICAgICAgIDxzcGFuPkRhdGEgUHVibGlzaGVyIGZvciBFYXJ0aCAmYW1wOyA8L3NwYW4+PHNwYW4gY2xhc3M9Im5vd3JhcCI+RW52aXJvbm1lbnRhbCBTY2llbmNlPC9zcGFuPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaC1hcmVhLWhlYWRlciIgY2xhc3M9InJvdyI+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iaGVhZGVyLW1haW4tbWVudS1ibG9jayIgY2xhc3M9ImhlYWRlci1ibG9jayBoaWRkZW4tcHJpbnQgY29sLWxnLTYgY29sLW1kLTcgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPG5hdiBpZD0ibWFpbi1uYXYiPg0KICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICA8bGkgaWQ9Im1lbnUtc2VhcmNoIj4NCiAgICAgICAgICAgICAgICA8IS0tIGNsYXNzIG9uIGxpbmsgaXMgaW1wb3J0YW50LCBkb24ndCBjaGFuZ2UhISEgLS0+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8iIGNsYXNzPSJob21lLWxpbmsiPlNlYXJjaDwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPGxpIGlkPSJtZW51LXN1Ym1pdCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9zdWJtaXQvIj5TdWJtaXQ8L2E+DQogICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgIDxsaSBpZD0ibWVudS1hYm91dCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hYm91dC8iPkFib3V0PC9hPg0KICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICA8bGkgaWQ9Im1lbnUtY29udGFjdCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9jb250YWN0LyI+Q29udGFjdDwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPC9uYXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvaGVhZGVyPg0KICA8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0iZmxleC13cmFwcGVyIj4NCjxkaXYgaWQ9Im1haW4tY29udGFpbmVyIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCjxkaXYgaWQ9Im1haW4tcm93IiBjbGFzcz0icm93IG1haW4tcm93Ij4NCjxkaXYgaWQ9Im1haW4iIGNsYXNzPSJjb2wtbGctMjQgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KPGRpdiBpZD0iZGF0YXNldCI+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCBoaWRkZW4teHMgaGlkZGVuLXNtIj48ZGl2IGNsYXNzPSJ0aXRsZSBjaXRhdGlvbiBpbnZpc2libGUtdG9wLWJvcmRlciI+Q2l0YXRpb246PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImRlc2NyIHRvcC1ib3JkZXIiPjxkaXYgaWQ9ImdtYXAtZGF0YXNldC13cmFwcGVyIiBjbGFzcz0iZ21hcC13cmFwcGVyIGhpZGRlbi1wcmludCBoaWRkZW4teHMgaGlkZGVuLXNtIGNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImVtYmVkLXJlc3BvbnNpdmUgZW1iZWQtcmVzcG9uc2l2ZS00YnkzIj48ZGl2IGlkPSJnbWFwLWRhdGFzZXQiIGNsYXNzPSJlbWJlZC1yZXNwb25zaXZlLWl0ZW0iPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxoMSBjbGFzcz0iaGFuZ2luZyBjaXRhdGlvbiI+PHN0cm9uZz48YSBjbGFzcz0icG9wb3Zlci1saW5rIGxpbmstdW5zdHlsZWQiIGhyZWY9IiMiIGRhdGEtdGl0bGU9IiZsdDtzcGFuJmd0O0pvaGFuc3NvbiwgRW1tYSZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0pvaGFuc3NvbiwgRW1tYScuLi4mcXVvdDsgYXJpYS1sYWJlbD0mcXVvdDtTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnSm9oYW5zc29uLCBFbW1hJyZxdW90OyBocmVmPSZxdW90Oy8vd3d3LnBhbmdhZWEuZGUvP3E9YXV0aG9yJTNBZW1haWwlM0FlbW1hLmpvaGFuc3NvbiU0MHNrYi5zZSZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7bWFpbC1saW5rIHRleHQtbm93cmFwIHdpZGUtaWNvbi1saW5rJnF1b3Q7IGhyZWY9JnF1b3Q7bWFpbHRvOmVtbWEuam9oYW5zc29uQHNrYi5zZSZxdW90OyZndDtlbW1hLmpvaGFuc3NvbkBza2Iuc2UmbHQ7L2EmZ3Q7Jmx0Oy9kaXYmZ3Q7JiMxMDsmbHQ7L2RpdiZndDsmIzEwOyI+Sm9oYW5zc29uLCBFbW1hPC9hPjsgQmVyZ2x1bmQsIFN0ZW47IDxhIGNsYXNzPSJwb3BvdmVyLWxpbmsgbGluay11bnN0eWxlZCIgaHJlZj0iIyIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7TGluZGJvcmcsIFRvYmlhcyZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0xpbmRib3JnLCBUb2JpYXMnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0xpbmRib3JnLCBUb2JpYXMnJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1hdXRob3IlM0FlbWFpbCUzQXRvYmlhcy5saW5kYm9yZyU0MHNrYi5zZSZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7bWFpbC1saW5rIHRleHQtbm93cmFwIHdpZGUtaWNvbi1saW5rJnF1b3Q7IGhyZWY9JnF1b3Q7bWFpbHRvOnRvYmlhcy5saW5kYm9yZ0Bza2Iuc2UmcXVvdDsmZ3Q7dG9iaWFzLmxpbmRib3JnQHNrYi5zZSZsdDsvYSZndDsmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5MaW5kYm9yZywgVG9iaWFzPC9hPjsgPGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDtQZXRyb25lLCBKb2hhbm5lcyZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ1BldHJvbmUsIEpvaGFubmVzJy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdQZXRyb25lLCBKb2hhbm5lcycmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQWVtYWlsJTNBam9oYW5uZXMucGV0cm9uZSU0MHNrYi5zZSZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7bWFpbC1saW5rIHRleHQtbm93cmFwIHdpZGUtaWNvbi1saW5rJnF1b3Q7IGhyZWY9JnF1b3Q7bWFpbHRvOmpvaGFubmVzLnBldHJvbmVAc2tiLnNlJnF1b3Q7Jmd0O2pvaGFubmVzLnBldHJvbmVAc2tiLnNlJmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPlBldHJvbmUsIEpvaGFubmVzPC9hPjsgPGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDt2YW4gQXMsIERpcmsmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICd2YW4gQXMsIERpcmsnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ3ZhbiBBcywgRGlyaycmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQW9yY2lkJTNBMDAwMC0wMDAyLTY1NTMtODk4MiZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7b3JjaWQtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTY1NTMtODk4MiZxdW90OyZndDtodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyJmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPnZhbiBBcywgRGlyazwvYT47IEd1c3RhZnNzb24sIExhcnMtR8O2cmFuOyBOw6RzbHVuZCwgSmVucy1PdmU7IDxhIGNsYXNzPSJwb3BvdmVyLWxpbmsgbGluay11bnN0eWxlZCIgaHJlZj0iIyIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7TGF1ZG9uLCBIamFsbWFyJmx0O2EgY2xhc3M9JnF1b3Q7c2VhcmNobGluayBnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IHJlbD0mcXVvdDtub2ZvbGxvdyZxdW90OyB0aXRsZT0mcXVvdDtTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnTGF1ZG9uLCBIamFsbWFyJy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMYXVkb24sIEhqYWxtYXInJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1hdXRob3IlM0FvcmNpZCUzQTAwMDAtMDAwMS02MDU4LTE0NjYmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O29yY2lkLWxpbmsgdGV4dC1ub3dyYXAgd2lkZS1pY29uLWxpbmsmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyBocmVmPSZxdW90O2h0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYmcXVvdDsmZ3Q7aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiZsdDsvYSZndDsmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5MYXVkb24sIEhqYWxtYXI8L2E+ICgyMDE0KTo8L3N0cm9uZz4gSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZC4gPGVtPlBBTkdBRUE8L2VtPiwgPGEgaWQ9ImNpdGF0aW9uLWRvaS1saW5rIiByZWw9Im5vZm9sbG93IGJvb2ttYXJrIiBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS1wdWJzdGF0dXM9IjQiIGNsYXNzPSJ0ZXh0LWxpbmt3cmFwIHBvcG92ZXItbGluayBkb2ktbGluayI+aHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg8L2E+LDxociBjbGFzcz0ic3BhY2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgLz4KPGVtPlN1cHBsZW1lbnQgdG86PC9lbT4gSm9oYW5zc29uLCBFIGV0IGFsLiAoMjAxNSk6IEh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBwZXJpZ2xhY2lhbCBsYWtlIGNhdGNobWVudCBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIOKAkyBwcmVzZW50YXRpb24gb2YgYSBuZXcgbXVsdGktcGFyYW1ldGVyIGRhdGEgc2V0LiA8ZW0+RWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YTwvZW0+LCA8c3Ryb25nPjcoMSk8L3N0cm9uZz4sIDkzLTEwOCwgPGEgY2xhc3M9InRleHQtbGlua3dyYXAgZG9pLWxpbmsiIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTU8L2E+PC9oMT4KPHAgY2xhc3M9Imhvd3RvY2l0ZSI+PHNtYWxsPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWJ1bGxob3JuIj48L3NwYW4+IDxzdHJvbmc+QWx3YXlzIHF1b3RlIGFib3ZlIGNpdGF0aW9uIHdoZW4gdXNpbmcgZGF0YSE8L3N0cm9uZz4gWW91IGNhbiBkb3dubG9hZCB0aGUgY2l0YXRpb24gaW4gc2V2ZXJhbCBmb3JtYXRzIGJlbG93Ljwvc21hbGw+PC9wPgo8cCBjbGFzcz0iZGF0YS1idXR0b25zIj48YSByZWw9Im5vZm9sbG93IGRlc2NyaWJlZGJ5IiB0aXRsZT0iRXhwb3J0IGNpdGF0aW9uIHRvIFJlZmVyZW5jZSBNYW5hZ2VyLCBFbmROb3RlLCBQcm9DaXRlIiBocmVmPSI/Zm9ybWF0PWNpdGF0aW9uX3JpcyIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPlJJUyBDaXRhdGlvbjwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyBkZXNjcmliZWRieSIgdGl0bGU9IkV4cG9ydCBjaXRhdGlvbiB0byBCaWJUZVgiIGhyZWY9Ij9mb3JtYXQ9Y2l0YXRpb25fYmlidGV4IiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+PHNwYW4gc3R5bGU9ImZvbnQtdmFyaWFudDpzbWFsbC1jYXBzOyI+QmliVGVYPC9zcGFuPiBDaXRhdGlvbjwvc3Bhbj48L2E+PGEgaWQ9InRleHQtY2l0YXRpb24tbGluayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IkV4cG9ydCBjaXRhdGlvbiBhcyBwbGFpbiB0ZXh0IiBocmVmPSI/Zm9ybWF0PWNpdGF0aW9uX3RleHQiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayBzaGFyZS1saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5UZXh0IENpdGF0aW9uPC9zcGFuPjwvYT48c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj48L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsgYWN0aW9uYnV0dG9ubGluayIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9ub2pzLnBocCIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT0jdSMmYW1wO3Q9I3QjIiB0aXRsZT0iU2hhcmUgZGF0YXNldCBvbiBGYWNlYm9vayIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IEZhY2Vib29rPC9zcGFuPjwvYT48YSByZWw9Im5vZm9sbG93IiBjbGFzcz0ic2VsZi1yZWZlcmVyLWxpbmsgc2hhcmUtbGluayBhY3Rpb25idXR0b25saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD91cmw9I3UjJmFtcDt0ZXh0PSN0IyIgdGl0bGU9IlNoYXJlIGRhdGFzZXQgb24gVHdpdHRlciIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IFR3aXR0ZXI8L3NwYW4+PC9hPjxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIGFjdGlvbmJ1dHRvbmxpbmsiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvbm9qcy5waHAiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vcGx1cy5nb29nbGUuY29tL3NoYXJlP3VybD0jdSMmYW1wO2hsPWVuIiB0aXRsZT0iU2hhcmUgZGF0YXNldCBvbiBHb29nbGUrIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tc2hhcmUiPjwvc3Bhbj4gR29vZ2xlKzwvc3Bhbj48L2E+PHNwYW4gY2xhc3M9InNlcGFyYXRvciI+PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iRGlzcGxheSBldmVudHMgaW4gbWFwIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2FkdmFuY2VkL2dtYXAtZGF0YXNldC5waHA/aWQ9ODM2MTc4JmFtcDt2aWV3cG9ydEJCT1g9LTUwLjE4MDM3LDY3LjEyNTk0LC01MC4xODAzNyw2Ny4xMjU5NCIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPlNob3cgTWFwPC9zcGFuPjwvYT48YSByZWw9Im5vZm9sbG93IiB0aXRsZT0iRGlzcGxheSBldmVudHMgaW4gR29vZ2xlIEVhcnRoIiBocmVmPSI/Zm9ybWF0PWV2ZW50c19rbWwiIGNsYXNzPSJhY3Rpb25idXR0b25saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5Hb29nbGUgRWFydGg8L3NwYW4+PC9hPjxzcGFuIGNsYXNzPSJzZXBhcmF0b3IiPjwvc3Bhbj48c3BhbiBkYXRhLWJhZGdlLXR5cGU9IjEiIGRhdGEtZG9pPSIxMC4xNTk0L1BBTkdBRUEuODM2MTc4IiBkYXRhLWJhZGdlLXBvcG92ZXI9InJpZ2h0IiBkYXRhLWhpZGUtbm8tbWVudGlvbnM9InRydWUiIGNsYXNzPSJhbHRtZXRyaWMtZW1iZWQiPjwvc3Bhbj48L3A+CjxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+QWJzdHJhY3Q6PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImRlc2NyIj48ZGl2IGNsYXNzPSJhYnN0cmFjdCI+RmV3IGh5ZHJvbG9naWNhbCBzdHVkaWVzIGhhdmUgYmVlbiBtYWRlIGluIEdyZWVubGFuZCwgb3RoZXIgdGhhbiBvbiBnbGFjaWFsIGh5ZHJvbG9neSBhc3NvY2lhdGVkIHdpdGggdGhlIGljZSBzaGVldC4gVW5kZXJzdGFuZGluZyBwZXJtYWZyb3N0IGh5ZHJvbG9neSBhbmQgaHlkcm9jbGltYXRpYyBjaGFuZ2UgYW5kIHZhcmlhYmlsaXR5LCBob3dldmVyLCBwcm92aWRlcyBrZXkgaW5mb3JtYXRpb24gZm9yIHVuZGVyc3RhbmRpbmcgY2xpbWF0ZSBjaGFuZ2UgZWZmZWN0cyBhbmQgZmVlZGJhY2tzIGluIHRoZSBBcmN0aWMgbGFuZHNjYXBlLiBUaGlzIHBhcGVyIHByZXNlbnRzIGEgbmV3IGV4dGVuc2l2ZSBhbmQgZGV0YWlsZWQgaHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBvcGVuIGFjY2VzcyBkYXRhc2V0LCB3aXRoIGhpZ2ggdGVtcG9yYWwgcmVzb2x1dGlvbiBmcm9tIGEgMS41NiBrbSoqMiBwZXJtYWZyb3N0IGNhdGNobWVudCB3aXRoIGEgbGFrZSB1bmRlcmxhaW4gYnkgYSB0aHJvdWdoIHRhbGlrIGNsb3NlIHRvIHRoZSBpY2Ugc2hlZXQgaW4gdGhlIEthbmdlcmx1c3N1YXEgcmVnaW9uLCB3ZXN0ZXJuIEdyZWVubGFuZC4gVGhlIHBhcGVyIGRlc2NyaWJlcyB0aGUgaHlkcm9sb2dpY2FsIHNpdGUgaW52ZXN0aWdhdGlvbnMgYW5kIHV0aWxpemVkIGVxdWlwbWVudCwgYXMgd2VsbCBhcyB0aGUgZGF0YSBjb2xsZWN0aW9uIGFuZCBwcm9jZXNzaW5nLiBUaGUgaW52ZXN0aWdhdGlvbnMgd2VyZSBwZXJmb3JtZWQgYmV0d2VlbiAyMDEwIGFuZCAyMDEzLiBUaGUgaGlnaCBzcGF0aWFsIHJlc29sdXRpb24sIHdpdGhpbiB0aGUgaW52ZXN0aWdhdGVkIGFyZWEsIG9mIHRoZSBkYXRhc2V0IG1ha2VzIGl0IGhpZ2hseSBzdWl0YWJsZSBmb3IgdmFyaW91cyBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIGVjb2xvZ2ljYWwgc3R1ZGllcyBvbiBjYXRjaG1lbnQgc2NhbGUuPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkZ1cnRoZXIgZGV0YWlsczo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImhhbmdpbmciPjxhIHRhcmdldD0iX3NlbGYiIGhyZWY9Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyI+TWFwIG9mIFR3byBCb2F0IExha2UgaW4gR3JlZW5sYW5kIChqcGcgMTMgTUIpIHdpdGggcG9zaXRpb24gb2Ygc2FtcGxpbmcgc2l0ZXM8L2E+PGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbi4uLiIgYXJpYS1sYWJlbD0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT0lNDByZWY2NTQ3NyI+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJoYW5naW5nIj48YSB0YXJnZXQ9Il9zZWxmIiBocmVmPSJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIj5UaW1lIGxhcHMgcGhvdG9zIG9mIGxha2UgMjAxMi0wOS0wNSB0byAyMDEzLTA4LTE0IChtb3YgZmlsZSwgemlwcGVkIDIwNSBNQik8L2E+PGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbi4uLiIgYXJpYS1sYWJlbD0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT0lNDByZWY2NTQwOCI+PC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5Qcm9qZWN0KHMpOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iaGFuZ2luZyI+PHN0cm9uZz48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wcm9qZWN0L0dSZWVubGFuZC1BbmFsb2d1ZS1TdXJmYWNlLVByb2plY3QtR1JBU1AiIGNsYXNzPSJwb3BvdmVyLWxpbmsiIGRhdGEtdGl0bGU9IiZsdDtzcGFuJmd0OyZsdDthIHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgaHJlZj0mcXVvdDtodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3Byb2plY3QvR1JlZW5sYW5kLUFuYWxvZ3VlLVN1cmZhY2UtUHJvamVjdC1HUkFTUCZxdW90OyZndDtHUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0Jmx0Oy9hJmd0OyZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0dSZWVubGFuZCBBbmFsb2d1ZSBTdXJmYWNlIFByb2plY3QnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0dSZWVubGFuZCBBbmFsb2d1ZSBTdXJmYWNlIFByb2plY3QnJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1wcm9qZWN0JTNBbGFiZWwlM0FHUkFTUCZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYgY2xhc3M9JnF1b3Q7cG9wb3Zlci1taXRlbSZxdW90OyZndDsmbHQ7c3Ryb25nJmd0O0xhYmVsOiZsdDsvc3Ryb25nJmd0OyBHUkFTUCZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPkdSZWVubGFuZCBBbmFsb2d1ZSBTdXJmYWNlIFByb2plY3Q8L2E+PC9zdHJvbmc+IChHUkFTUCk8YSBjbGFzcz0ic2VhcmNobGluayBnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIHRpdGxlPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnR1JlZW5sYW5kIEFuYWxvZ3VlIFN1cmZhY2UgUHJvamVjdCcuLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdHUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0JyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1wcm9qZWN0JTNBbGFiZWwlM0FHUkFTUCI+PC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5Db3ZlcmFnZTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImhhbmdpbmcgZ2VvIj48ZW0gY2xhc3M9InVuZmFyYmUiPkxhdGl0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsYXRpdHVkZSI+NjcuMTI1OTQwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9uZ2l0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsb25naXR1ZGUiPi01MC4xODAzNzA8L3NwYW4+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkV2ZW50KHMpOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iaGFuZ2luZyBnZW8iPjxzdHJvbmc+VEJMPC9zdHJvbmc+PGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ1RCTCcuLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUQkwnIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLz9xPWV2ZW50JTNBbGFiZWwlM0FUQkwiPjwvYT48ZW0gY2xhc3M9InVuZmFyYmUiPiAqIExhdGl0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsYXRpdHVkZSI+NjcuMTI1OTQwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9uZ2l0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsb25naXR1ZGUiPi01MC4xODAzNzA8L3NwYW4+PGVtIGNsYXNzPSJ1bmZhcmJlIj4gKiBMb2NhdGlvbjogPC9lbT48c3Bhbj5Ud28gQm9hdCBMYWtlLCBLYW5nZXJsdXNzdWFxLCBHcmVlbmxhbmQ8L3NwYW4+PGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ1R3byBCb2F0IExha2UsIEthbmdlcmx1c3N1YXEsIEdyZWVubGFuZCcuLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUd28gQm9hdCBMYWtlLCBLYW5nZXJsdXNzdWFxLCBHcmVlbmxhbmQnIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLz9xPWxvY2F0aW9uJTNBJTIyVHdvK0JvYXQrTGFrZSUyQytLYW5nZXJsdXNzdWFxJTJDK0dyZWVubGFuZCUyMiI+PC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5Db21tZW50OjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iYWJzdHJhY3QiPlRoZSBkYXRhc2V0IGNvbnRhaW5zIGh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgZGF0YSBmcm9tIGEgbGFrZSBjYXRjaG1lbnQgaW4gdGhlIEthbmdlcmx1c3N1YXEgcmVnaW9uLCBXZXN0ZXJuIEdyZWVubGFuZC4gVGhlIGludmVzdGlnYXRpb25zIHdlcmUgcGVyZm9ybWVkIGR1cmluZyAyMDEwLTIwMTMgYW5kIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBhcmUgaW5jbHVkZWQ6IFNvaWwgbW9pc3R1cmUsIFNvaWwgdGVtcGVyYXR1cmUsIEh5ZHJhdWxpYyBwcm9wZXJ0aWVzIG9mIHRoZSBhY3RpdmUgbGF5ZXIsIG1ldGVvcm9sb2dpY2FsIHBhcmFtZXRlcnMgZnJvbSBhIGxvY2FsIHdlYXRoZXIgc3RhdGlvbiB3aXRoaW4gdGhlIGNhdGNobWVudCwgd2F0ZXIgbGV2ZWxzIGFuZCBkaXNjaGFyZ2UsIHN1YmxpbWF0aW9uIGFuZCBldmFwb3J0YXRpb24gbWVhc3VybWVudHMsIHNub3cgZGVwdGggYW5kIHNub3cgd2F0ZXIgY29udGVudCBkYXRhIGFuZCB0aW1lIGxhcHNlIHBob3Rvcy48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+TGljZW5zZTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImhhbmdpbmciPjxhIGhyZWY9Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvIiByZWw9ImxpY2Vuc2UiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9zaGFyZWQvcGljcy9saWNlbnNlcy9DQy1CWS0zLjAucG5nIiBzdHlsZT0idmVydGljYWwtYWxpZ246YmFzZWxpbmU7IGJvcmRlci13aWR0aDowOyIgYWx0PSJDQy1CWS0zLjAiIC8+IENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wIFVucG9ydGVkPC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5TaXplOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iaGFuZ2luZyI+NTY2My4wIGtCeXRlczwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCBjb2wtbGctb2Zmc2V0LTMgY29sLW1kLW9mZnNldC00Ij48ZGl2IGNsYXNzPSJ0ZXh0LWJsb2NrIHRvcC1ib3JkZXIiPgo8aDIgaWQ9ImRvd25sb2FkIj5Eb3dubG9hZCBEYXRhPC9oMj4KPHA+PGEgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCIgdGFyZ2V0PSJfc2VsZiI+RG93bmxvYWQgZGF0YXNldDwvYT48L3A+CjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9InJlY29tbWVuZGF0aW9ucyI+PC9kaXY+CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGlkPSJmb290ZXItd3JhcHBlciIgY2xhc3M9InRvcC1ib3JkZXIgaGlkZGVuLXByaW50Ij4NCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICA8Zm9vdGVyIGNsYXNzPSJyb3ciPjwhLS0gdm9sbGUgU2NyZWVuLUJyZWl0ZSAtLT4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+PCEtLSBtYXguIEJyZWl0ZSAtLT4NCiAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTQgY29sLXhzLTQiPjwvZGl2Pg0KICAgICAgICA8ZGl2IGlkPSJmb290ZXItaG9zdGVkLWJ5LWFyZWEiIGNsYXNzPSJjb2wtbGctMTggY29sLW1kLTkgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPCEtLTxkaXYgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+LS0+DQogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0yNCBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRsaW5lIHVuZGVybGluZWQiPg0KICAgICAgICAgICAgICBQQU5HQUVBIGlzIGhvc3RlZCBieQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgIDxwPg0KICAgICAgICAgICAgICAgIEFsZnJlZCBXZWdlbmVyIEluc3RpdHV0ZSwgSGVsbWhvbHR6IENlbnRlciBmb3IgUG9sYXIgYW5kIE1hcmluZSBSZXNlYXJjaCAoQVdJKTxici8+DQogICAgICAgICAgICAgICAgQ2VudGVyIGZvciBNYXJpbmUgRW52aXJvbm1lbnRhbCBTY2llbmNlcywgVW5pdmVyc2l0eSBvZiBCcmVtZW4gKE1BUlVNKQ0KICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGxpbmUgdW5kZXJsaW5lZCI+DQogICAgICAgICAgICAgIFRoZSBTeXN0ZW0gaXMgc3VwcG9ydGVkIGJ5DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgVGhlIEV1cm9wZWFuIENvbW1pc3Npb24sIFJlc2VhcmNoPGJyLz4NCiAgICAgICAgICAgICAgICBGZWRlcmFsIE1pbmlzdHJ5IG9mIEVkdWNhdGlvbiBhbmQgUmVzZWFyY2ggKEJNQkYpPGJyLz4NCiAgICAgICAgICAgICAgICBEZXV0c2NoZSBGb3JzY2h1bmdzZ2VtZWluc2NoYWZ0IChERkcpPGJyLz4NCiAgICAgICAgICAgICAgICBJbnRlcm5hdGlvbmFsIE9jZWFuIERpc2NvdmVyeSBQcm9ncmFtIChJT0RQKQ0KICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkbGluZSB1bmRlcmxpbmVkIj4NCiAgICAgICAgICAgICAgUEFOR0FFQSBpcyBtZW1iZXIgb2YNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5pY3N1LXdkcy5vcmcvIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IklDU1UgV29ybGQgRGF0YSBTeXN0ZW0iPg0KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC14cy02IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuNjdiYWNhMjIyMzQ2YmI4ZDY5NjdiOGEwZTFjMjIzNjEvbG9nb3MvbG9nby13ZHMtYmxvY2sucG5nIiBhbHQ9IklDU1UgV29ybGQgRGF0YSBTeXN0ZW0iPg0KICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3Lndtby5pbnQvIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IldvcmxkIE1ldGVvcm9sb2dpY2FsIE9yZ2FuaXphdGlvbiI+DQogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iY29sLWxnLTYgY29sLW1kLTYgY29sLXNtLTYgY29sLXhzLTYiIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi42N2JhY2EyMjIzNDZiYjhkNjk2N2I4YTBlMWMyMjM2MS9sb2dvcy9sb2dvLXdtby1ibG9jay5wbmciIGFsdD0iV29ybGQgTWV0ZW9yb2xvZ2ljYWwgT3JnYW5pemF0aW9uIj4NCiAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGlkPSJmb290ZXItc29jaWFsLWFyZWEiIGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPGRpdiBpZD0iZm9vdGVyLXNvY2lhbC1hcmVhLXdyYXBwZXIiIGNsYXNzPSJjb2wtbGctMjQgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgY29sLWxnLTAgY29sLW1kLTQiPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTI0IGNvbC1tZC01IGNvbC1tZC01IGNvbC14cy0xMCI+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVuZGVybGluZWQiPlNoYXJlIG9uLi4uPC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbC1pY29ucyI+DQogICAgICAgICAgICAgICAgPGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvbm9qcy5waHAiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9I3UjJmFtcDt0PSN0IyIgdGl0bGU9IlNoYXJlIG9uIEZhY2Vib29rIiB0YXJnZXQ9Il9ibGFuayI+DQogICAgICAgICAgICAgICAgICA8aW1nIGlkPSJmYWNlYm9vay1pY29uIiBjbGFzcz0iY29sLWxnLTggY29sLW1kLTggY29sLXNtLTggY29sLXhzLTgiIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi42N2JhY2EyMjIzNDZiYjhkNjk2N2I4YTBlMWMyMjM2MS9zb2NpYWwtaWNvbnMvZmFjZWJvb2staWNvbi5wbmciIGFsdD0iRmFjZWJvb2sgSWNvbiI+DQogICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgIDxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD91cmw9I3UjJmFtcDt0ZXh0PSN0IyIgdGl0bGU9IlNoYXJlIG9uIFR3aXR0ZXIiIHRhcmdldD0iX2JsYW5rIj4NCiAgICAgICAgICAgICAgICAgIDxpbWcgaWQ9InR3aXR0ZXItaWNvbiIgY2xhc3M9ImNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS04IGNvbC14cy04IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuNjdiYWNhMjIyMzQ2YmI4ZDY5NjdiOGEwZTFjMjIzNjEvc29jaWFsLWljb25zL3R3aXR0ZXItaWNvbi5wbmciIGFsdD0iVHdpdHRlciBJY29uIj4NCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgPGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvbm9qcy5waHAiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vcGx1cy5nb29nbGUuY29tL3NoYXJlP3VybD0jdSMmYW1wO2hsPWVuIiB0aXRsZT0iU2hhcmUgb24gR29vZ2xlKyIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgPGltZyBpZD0iZ3BsdXMtaWNvbiIgY2xhc3M9ImNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS04IGNvbC14cy04IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuNjdiYWNhMjIyMzQ2YmI4ZDY5NjdiOGEwZTFjMjIzNjEvc29jaWFsLWljb25zL2dwbHVzLWljb24ucG5nIiBhbHQ9Ikdvb2dsZSsgSWNvbiI+DQogICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgY29sby1sZy0wIGNvbC1tZC0xOCI+PC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIA0KICAgICAgICA8ZGl2IGlkPSJmb290ZXItbWVudS1hcmVhIiBjbGFzcz0iY29sLWxnLTI0IGNvbC1tZC0yNCBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJibGluZHNwYWx0ZSBjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tNCBjb2wteHMtNCI+PC9kaXY+DQogICAgICAgICAgPGRpdiBpZD0iZm9vdGVyLW1lbnUtd3JhcHBlciIgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgICA8bmF2IGlkPSJmb290ZXItbmF2Ij4NCiAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgIDxsaSBpZD0iYWJvdXQtbGVnYWwtbm90aWNlIj4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYWJvdXQvbGVnYWwucGhwIj5MZWdhbCBub3RpY2U8L2E+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8bGkgaWQ9ImFib3V0LXByaXZhY3ktcG9saWN5Ij4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYWJvdXQvcHJpdmFjeXBvbGljeS5waHAiPlByaXZhY3kgcG9saWN5PC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1jb29raWVzIj4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYWJvdXQvY29va2llcy5waHAiPkNvb2tpZXM8L2E+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8bGkgaWQ9ImFib3V0LWNvbnRhY3QiPg0KICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9jb250YWN0LyI+Q29udGFjdDwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgPC9uYXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9mb290ZXI+DQogIDwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+CjwvaHRtbD4K + PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIG1heGltdW0tc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDYwMCw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpYyw2MDBpdGFsaWMsMzAwLDMwMGl0YWxpYyw4MDAsODAwaXRhbGljIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUzYTgzMGI2ZjhhY2EwOGRjZDE2YzdlZjU5ZDM5NGJhL2Jvb3RzdHJhcC0yNGNvbC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTNhODMwYjZmOGFjYTA4ZGNkMTZjN2VmNTlkMzk0YmEvY3NzL3BhbmdhZWEuY3NzIj4KPCEtLVtpZiBsdGUgSUUgOV0+DQo8c3R5bGU+I3RvcGljcy1wdWxsZG93bi13cmFwcGVyIGxhYmVsOmFmdGVyIHsgZGlzcGxheTpub25lOyB9PC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUzYTgzMGI2ZjhhY2EwOGRjZDE2YzdlZjU5ZDM5NGJhL2Zhdmljb24uaWNvIj4NCjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi5lM2E4MzBiNmY4YWNhMDhkY2QxNmM3ZWY1OWQzOTRiYS9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uIj4NCjxsaW5rIHJlbD0iaW1hZ2Vfc3JjIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMi40L2pxdWVyeS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnkubWF0Y2hIZWlnaHQvMC43LjAvanF1ZXJ5Lm1hdGNoSGVpZ2h0LW1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS5hcHBlYXIvMC40LjEvanF1ZXJ5LmFwcGVhci5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUzYTgzMGI2ZjhhY2EwOGRjZDE2YzdlZjU5ZDM5NGJhL2Jvb3RzdHJhcC0yNGNvbC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi5lM2E4MzBiNmY4YWNhMDhkY2QxNmM3ZWY1OWQzOTRiYS9qcy9kYXRhY29tYm8tbWluLmpzIj48L3NjcmlwdD4KPHRpdGxlPkpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTQpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kPC90aXRsZT4KPG1ldGEgbmFtZT0idGl0bGUiIGNvbnRlbnQ9Ikh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBsYWtlIG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQiIC8+CjxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iSm9oYW5zc29uLCBFbW1hOyBCZXJnbHVuZCwgU3RlbjsgTGluZGJvcmcsIFRvYmlhczsgUGV0cm9uZSwgSm9oYW5uZXM7IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgTGF1ZG9uLCBIamFsbWFyIiAvPgo8bWV0YSBuYW1lPSJkYXRlIiBjb250ZW50PSIyMDE0LTA5LTI1IiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSm9oYW5zc29uLCBFbW1hOyBCZXJnbHVuZCwgU3RlbjsgTGluZGJvcmcsIFRvYmlhczsgUGV0cm9uZSwgSm9oYW5uZXM7IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgTGF1ZG9uLCBIamFsbWFyICgyMDE0KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZC4gUEFOR0FFQSwgaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgsIFN1cHBsZW1lbnQgdG86IEpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTUpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCDigJMgcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldC4gRWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YSwgNygxKSwgOTMtMTA4LCBodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIgLz4KPG1ldGEgbmFtZT0iZ2VvLnBvc2l0aW9uIiBjb250ZW50PSI2Ny4xMjU5NDA7LTUwLjE4MDM3MCIgLz4KPG1ldGEgbmFtZT0iSUNCTSIgY29udGVudD0iNjcuMTI1OTQwLCAtNTAuMTgwMzcwIiAvPgo8IS0tQkVHSU46IER1YmxpbiBDb3JlIGRlc2NyaXB0aW9uLS0+CjxsaW5rIHJlbD0ic2NoZW1hLkRDIiBocmVmPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgLz4KPGxpbmsgcmVsPSJzY2hlbWEuRENURVJNUyIgaHJlZj0iaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zLyIgLz4KPG1ldGEgbmFtZT0iREMudGl0bGUiIGNvbnRlbnQ9Ikh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBsYWtlIG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkpvaGFuc3NvbiwgRW1tYSIgLz4KPG1ldGEgbmFtZT0iREMuY3JlYXRvciIgY29udGVudD0iQmVyZ2x1bmQsIFN0ZW4iIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkxpbmRib3JnLCBUb2JpYXMiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IlBldHJvbmUsIEpvaGFubmVzIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJ2YW4gQXMsIERpcmsiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9Ikd1c3RhZnNzb24sIExhcnMtR8O2cmFuIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJOw6RzbHVuZCwgSmVucy1PdmUiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkxhdWRvbiwgSGphbG1hciIgLz4KPG1ldGEgbmFtZT0iREMucHVibGlzaGVyIiBjb250ZW50PSJQQU5HQUVBIiAvPgo8bWV0YSBuYW1lPSJEQy5zb3VyY2UiIGNvbnRlbnQ9IlN1cHBsZW1lbnQgdG86IEpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTUpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCDigJMgcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldC4gRWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YSwgNygxKSwgOTMtMTA4LCBodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIgLz4KPG1ldGEgbmFtZT0iREMuZGF0ZSIgY29udGVudD0iMjAxNC0wOS0yNSIgc2NoZW1lPSJEQ1RFUk1TLlczQ0RURiIgLz4KPG1ldGEgbmFtZT0iREMudHlwZSIgY29udGVudD0iRGF0YXNldCIgLz4KPG1ldGEgbmFtZT0iREMubGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiBzY2hlbWU9IkRDVEVSTVMuUkZDMzA2NiIgLz4KPG1ldGEgbmFtZT0iRENURVJNUy5saWNlbnNlIiBzY2hlbWU9IkRDVEVSTVMuVVJJIiBjb250ZW50PSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyIgLz4KPG1ldGEgbmFtZT0iREMuaWRlbnRpZmllciIgY29udGVudD0iaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiIHNjaGVtZT0iRENURVJNUy5VUkkiIC8+CjxtZXRhIG5hbWU9IkRDLmZvcm1hdCIgY29udGVudD0iYXBwbGljYXRpb24vemlwLCA1NjYzLjAga0J5dGVzIiAvPgo8bWV0YSBuYW1lPSJEQy5yZWxhdGlvbiIgY29udGVudD0iTWFwIG9mIFR3byBCb2F0IExha2UgaW4gR3JlZW5sYW5kIChqcGcgMTMgTUIpIHdpdGggcG9zaXRpb24gb2Ygc2FtcGxpbmcgc2l0ZXMgKFVSSTogaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnKSIgLz4KPG1ldGEgbmFtZT0iREMucmVsYXRpb24iIGNvbnRlbnQ9IlRpbWUgbGFwcyBwaG90b3Mgb2YgbGFrZSAyMDEyLTA5LTA1IHRvIDIwMTMtMDgtMTQgKG1vdiBmaWxlLCB6aXBwZWQgMjA1IE1CKSAoVVJJOiBodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwKSIgLz4KPCEtLUVORDogRHVibGluIENvcmUgZGVzY3JpcHRpb24tLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP3Y9MyZhbXA7bGFuZ3VhZ2U9ZW4mYW1wO2tleT1BSXphU3lEU2lWalBTNVl2YW5ac0VINFJ2SzBnRXI0NlVvLTFyQ1EiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Lyo8IVtDREFUQVsqL2pRdWVyeShmdW5jdGlvbigkKSB7IHJldHVybiBpbml0aWFsaXplU21hbGxEYXRhc2V0R01hcCg4MzYxNzgsJ2hhc2g9YzY2NjkzY2JiZjZjNDkyYjEwYmU4M2Q0NDliOWY0NzUnLG5ldyBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMobmV3IGdvb2dsZS5tYXBzLkxhdExuZyg2Ny4xMjU5NCwtNTAuMTgwMzcpLG5ldyBnb29nbGUubWFwcy5MYXRMbmcoNjcuMTI1OTQsLTUwLjE4MDM3KSksdW5kZWZpbmVkKTsgfSk7LypdXT4qLzwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2QxYnhoOHVhczFtbnc3LmNsb3VkZnJvbnQubmV0L2Fzc2V0cy9lbWJlZC5qcyI+PC9zY3JpcHQ+CjxsaW5rIHJlbD0iY2l0ZS1hcyIgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiPgo8bGluayByZWw9ImRlc2NyaWJlZGJ5IiBocmVmPSJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg/Zm9ybWF0PW1ldGFkYXRhX2pzb25sZCIgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CjxsaW5rIHJlbD0iZGVzY3JpYmVkYnkiIGhyZWY9Imh0dHBzOi8vZG9pLnBhbmdhZWEuZGUvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OD9mb3JtYXQ9Y2l0YXRpb25fcmlzIiB0eXBlPSJhcHBsaWNhdGlvbi94LXJlc2VhcmNoLWluZm8tc3lzdGVtcyI+CjxsaW5rIHJlbD0iZGVzY3JpYmVkYnkiIGhyZWY9Imh0dHBzOi8vZG9pLnBhbmdhZWEuZGUvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OD9mb3JtYXQ9Y2l0YXRpb25fYmlidGV4IiB0eXBlPSJhcHBsaWNhdGlvbi94LWJpYnRleCI+CjxsaW5rIHJlbD0iaXRlbSIgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCIgdHlwZT0iYXBwbGljYXRpb24vemlwIj4KPGxpbmsgcmVsPSJhdXRob3IiIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMi02NTUzLTg5ODIiPgo8bGluayByZWw9ImF1dGhvciIgaHJlZj0iaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiI+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+eyJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnLyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiwiQHR5cGUiOiJEYXRhc2V0IiwiaWRlbnRpZmllciI6Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiwidXJsIjoiaHR0cHM6Ly9kb2kucGFuZ2FlYS5kZS8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiwiY3JlYXRvciI6W3siQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiSm9oYW5zc29uIiwiZ2l2ZW5OYW1lIjoiRW1tYSIsImVtYWlsIjoiZW1tYS5qb2hhbnNzb25Ac2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJCZXJnbHVuZCIsImdpdmVuTmFtZSI6IlN0ZW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkxpbmRib3JnIiwiZ2l2ZW5OYW1lIjoiVG9iaWFzIiwiZW1haWwiOiJ0b2JpYXMubGluZGJvcmdAc2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJQZXRyb25lIiwiZ2l2ZW5OYW1lIjoiSm9oYW5uZXMiLCJlbWFpbCI6ImpvaGFubmVzLnBldHJvbmVAc2tiLnNlIn0seyJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIiwiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoidmFuIEFzIiwiZ2l2ZW5OYW1lIjoiRGlyayIsImlkZW50aWZpZXIiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJHdXN0YWZzc29uIiwiZ2l2ZW5OYW1lIjoiTGFycy1Hw7ZyYW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6Ik7DpHNsdW5kIiwiZ2l2ZW5OYW1lIjoiSmVucy1PdmUifSx7IkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYiLCJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJMYXVkb24iLCJnaXZlbk5hbWUiOiJIamFsbWFyIiwiaWRlbnRpZmllciI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYifV0sIm5hbWUiOiJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIiwicHVibGlzaGVyIjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwibmFtZSI6IlBBTkdBRUEiLCJkaXNhbWJpZ3VhdGluZ0Rlc2NyaXB0aW9uIjoiRGF0YSBQdWJsaXNoZXIgZm9yIEVhcnRoICYgRW52aXJvbm1lbnRhbCBTY2llbmNlIiwidXJsIjoiaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS8ifSwiaW5jbHVkZWRJbkRhdGFDYXRhbG9nIjp7IkB0eXBlIjoiRGF0YUNhdGFsb2ciLCJuYW1lIjoiUEFOR0FFQSIsImRpc2FtYmlndWF0aW5nRGVzY3JpcHRpb24iOiJEYXRhIFB1Ymxpc2hlciBmb3IgRWFydGggJiBFbnZpcm9ubWVudGFsIFNjaWVuY2UiLCJ1cmwiOiJodHRwczovL3d3dy5wYW5nYWVhLmRlLyJ9LCJkYXRlUHVibGlzaGVkIjoiMjAxNC0wOS0yNSIsImNpdGF0aW9uIjpbeyJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIsIkB0eXBlIjoiUHVibGljYXRpb25Jc3N1ZSIsImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIsInVybCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1IiwiY3JlYXRvciI6W3siQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiSm9oYW5zc29uIiwiZ2l2ZW5OYW1lIjoiRW1tYSIsImVtYWlsIjoiZW1tYS5qb2hhbnNzb25Ac2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJCZXJnbHVuZCIsImdpdmVuTmFtZSI6IlN0ZW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkxpbmRib3JnIiwiZ2l2ZW5OYW1lIjoiVG9iaWFzIiwiZW1haWwiOiJ0b2JpYXMubGluZGJvcmdAc2tiLnNlIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJQZXRyb25lIiwiZ2l2ZW5OYW1lIjoiSm9oYW5uZXMiLCJlbWFpbCI6ImpvaGFubmVzLnBldHJvbmVAc2tiLnNlIn0seyJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIiwiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoidmFuIEFzIiwiZ2l2ZW5OYW1lIjoiRGlyayIsImlkZW50aWZpZXIiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJHdXN0YWZzc29uIiwiZ2l2ZW5OYW1lIjoiTGFycy1Hw7ZyYW4ifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6Ik7DpHNsdW5kIiwiZ2l2ZW5OYW1lIjoiSmVucy1PdmUifSx7IkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYiLCJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJMYXVkb24iLCJnaXZlbk5hbWUiOiJIamFsbWFyIiwiaWRlbnRpZmllciI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYifV0sIm5hbWUiOiJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCDigJMgcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldCIsImRhdGVQdWJsaXNoZWQiOiIyMDE1IiwiaXNzdWVOdW1iZXIiOiI3KDEpIiwicGFnaW5hdGlvbiI6IjkzLTEwOCIsImlzUGFydE9mIjp7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrU2VyaWVzIiwibmFtZSI6IkVhcnRoIFN5c3RlbSBTY2llbmNlIERhdGEifX0seyJAaWQiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L3R3b2JvYXRsYWtlX2dyZWVubGFuZC5qcGciLCJAdHlwZSI6IldlYlBhZ2UiLCJpZGVudGlmaWVyIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnIiwidXJsIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnIiwibmFtZSI6Ik1hcCBvZiBUd28gQm9hdCBMYWtlIGluIEdyZWVubGFuZCAoanBnIDEzIE1CKSB3aXRoIHBvc2l0aW9uIG9mIHNhbXBsaW5nIHNpdGVzIn0seyJAaWQiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIiwiQHR5cGUiOiJXZWJQYWdlIiwiaWRlbnRpZmllciI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvVGltZWxhcHNlX1RCTC56aXAiLCJ1cmwiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIiwibmFtZSI6IlRpbWUgbGFwcyBwaG90b3Mgb2YgbGFrZSAyMDEyLTA5LTA1IHRvIDIwMTMtMDgtMTQgKG1vdiBmaWxlLCB6aXBwZWQgMjA1IE1CKSJ9XSwiZGVzY3JpcHRpb24iOiJGZXcgaHlkcm9sb2dpY2FsIHN0dWRpZXMgaGF2ZSBiZWVuIG1hZGUgaW4gR3JlZW5sYW5kLCBvdGhlciB0aGFuIG9uIGdsYWNpYWwgaHlkcm9sb2d5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaWNlIHNoZWV0LiBVbmRlcnN0YW5kaW5nIHBlcm1hZnJvc3QgaHlkcm9sb2d5IGFuZCBoeWRyb2NsaW1hdGljIGNoYW5nZSBhbmQgdmFyaWFiaWxpdHksIGhvd2V2ZXIsIHByb3ZpZGVzIGtleSBpbmZvcm1hdGlvbiBmb3IgdW5kZXJzdGFuZGluZyBjbGltYXRlIGNoYW5nZSBlZmZlY3RzIGFuZCBmZWVkYmFja3MgaW4gdGhlIEFyY3RpYyBsYW5kc2NhcGUuIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgZXh0ZW5zaXZlIGFuZCBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIG9wZW4gYWNjZXNzIGRhdGFzZXQsIHdpdGggaGlnaCB0ZW1wb3JhbCByZXNvbHV0aW9uIGZyb20gYSAxLjU2IGttKioyIHBlcm1hZnJvc3QgY2F0Y2htZW50IHdpdGggYSBsYWtlIHVuZGVybGFpbiBieSBhIHRocm91Z2ggdGFsaWsgY2xvc2UgdG8gdGhlIGljZSBzaGVldCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIHdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgcGFwZXIgZGVzY3JpYmVzIHRoZSBoeWRyb2xvZ2ljYWwgc2l0ZSBpbnZlc3RpZ2F0aW9ucyBhbmQgdXRpbGl6ZWQgZXF1aXBtZW50LCBhcyB3ZWxsIGFzIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBiZXR3ZWVuIDIwMTAgYW5kIDIwMTMuIFRoZSBoaWdoIHNwYXRpYWwgcmVzb2x1dGlvbiwgd2l0aGluIHRoZSBpbnZlc3RpZ2F0ZWQgYXJlYSwgb2YgdGhlIGRhdGFzZXQgbWFrZXMgaXQgaGlnaGx5IHN1aXRhYmxlIGZvciB2YXJpb3VzIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgZWNvbG9naWNhbCBzdHVkaWVzIG9uIGNhdGNobWVudCBzY2FsZS4iLCJzcGF0aWFsQ292ZXJhZ2UiOnsiQHR5cGUiOiJQbGFjZSIsImdlbyI6eyJAdHlwZSI6Ikdlb0Nvb3JkaW5hdGVzIiwibGF0aXR1ZGUiOjY3LjEyNTk0LCJsb25naXR1ZGUiOi01MC4xODAzN319LCJpbkxhbmd1YWdlIjoiZW4iLCJsaWNlbnNlIjoiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iLCJkaXN0cmlidXRpb24iOnsiQHR5cGUiOiJEYXRhRG93bmxvYWQiLCJmaWxlRm9ybWF0IjoiYXBwbGljYXRpb24vemlwIiwiY29udGVudFVybCI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvam9oYW5zc29uX2V0YWwtMjAxNC56aXAifX08L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8qPCFbQ0RBVEFbKi8NCihmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsNCihpW3JdLnE9aVtyXS5xfHxbXSkucHVzaChhcmd1bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50KG8pLA0KbT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdO2EuYXN5bmM9MTthLnNyYz1nO20ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxtKQ0KfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOw0KZ2EoJ2NyZWF0ZScsICdVQS0zMDYyNDE1MC0xJywgJ3BhbmdhZWEuZGUnKTsNCmdhKCdzZXQnLCAnYW5vbnltaXplSXAnLCB0cnVlKTsNCmdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7DQovKl1dPiovPC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZXBhZ2UtbGF5b3V0Ij4NCjxkaXYgaWQ9ImhlYWRlci13cmFwcGVyIj4NCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICA8aGVhZGVyIGNsYXNzPSJyb3ciPjwhLS0gdm9sbGUgU2NyZWVuLUJyZWl0ZSAtLT4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+PCEtLSBtYXguIEJyZWl0ZSAtLT4NCiAgICAgICAgPGRpdiBpZD0ibG9naW4tYXJlYS13cmFwcGVyIiBjbGFzcz0iaGlkZGVuLXByaW50Ij48ZGl2IGlkPSJsb2dpbi1hcmVhIj48c3BhbiBpZD0idXNlci1uYW1lIj5Ob3QgbG9nZ2VkIGluPC9zcGFuPjxhIGlkPSJzaWdudXAtYnV0dG9uIiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1wbHVzLXNpZ24gc2VsZi1yZWZlcmVyLWxpbmsiIHRpdGxlPSJTaWduIFVwIC8gQ3JlYXRlIEFjY291bnQiIGFyaWEtbGFiZWw9IlNpZ24gdXAiIHRhcmdldD0iX3NlbGYiIHJlbD0ibm9mb2xsb3ciIGhyZWY9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvdXNlci9zaWdudXAucGhwP3JlZmVyZXI9aHR0cHMlM0ElMkYlMkZ3d3cucGFuZ2FlYS5kZSUyRiIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL3NpZ251cC5waHA/cmVmZXJlcj0jdSMiPjwvYT48YSBpZD0ibG9naW4tYnV0dG9uIiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1sb2ctaW4gc2VsZi1yZWZlcmVyLWxpbmsiIHRpdGxlPSJMb2cgSW4iIGFyaWEtbGFiZWw9IkxvZyBpbiIgdGFyZ2V0PSJfc2VsZiIgcmVsPSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL2xvZ2luLnBocD9yZWZlcmVyPWh0dHBzJTNBJTJGJTJGd3d3LnBhbmdhZWEuZGUlMkYiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvdXNlci9sb2dpbi5waHA/cmVmZXJlcj0jdSMiPjwvYT48L2Rpdj48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgaGVhZGVyLWJsb2NrIGNvbC1sZy0zIGNvbC1tZC00Ij48L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgaWQ9ImhlYWRlci1sb2dvLWJsb2NrIiBjbGFzcz0iaGVhZGVyLWJsb2NrIGNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS00IGNvbC14cy04Ij4NCiAgICAgICAgICA8ZGl2IGlkPSJwYW5nYWVhLWxvZ28iPg0KICAgICAgICAgICAgPGEgdGl0bGU9IlBBTkdBRUEgaG9tZSIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8iIGNsYXNzPSJob21lLWxpbmsiPjxpbWcgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUzYTgzMGI2ZjhhY2EwOGRjZDE2YzdlZjU5ZDM5NGJhL2xheW91dC1pbWFnZXMvcGFuZ2FlYS1sb2dvLnBuZyIgYWx0PSJQQU5HQUVBIGhvbWUiPjwvYT4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGlkPSJoZWFkZXItbWlkLWJsb2NrIiBjbGFzcz0iaGVhZGVyLWJsb2NrIGNvbC1sZy0xMiBjb2wtbWQtOSBjb2wtc20tMjAgY29sLXhzLTE2Ij4NCiAgICAgICAgICA8ZGl2IGlkPSJwYW5nYWVhLWxvZ28taGVhZGxpbmUiPg0KICAgICAgICAgICAgUEFOR0FFQTxzcGFuIGNsYXNzPSJwdW5rdCI+Ljwvc3Bhbj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGlkPSJwYW5nYWVhLWxvZ28tc2xvZ2FuIj4NCiAgICAgICAgICAgIDxzcGFuPkRhdGEgUHVibGlzaGVyIGZvciBFYXJ0aCAmYW1wOyA8L3NwYW4+PHNwYW4gY2xhc3M9Im5vd3JhcCI+RW52aXJvbm1lbnRhbCBTY2llbmNlPC9zcGFuPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9InNlYXJjaC1hcmVhLWhlYWRlciIgY2xhc3M9InJvdyI+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iaGVhZGVyLW1haW4tbWVudS1ibG9jayIgY2xhc3M9ImhlYWRlci1ibG9jayBoaWRkZW4tcHJpbnQgY29sLWxnLTYgY29sLW1kLTcgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPG5hdiBpZD0ibWFpbi1uYXYiPg0KICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICA8bGkgaWQ9Im1lbnUtc2VhcmNoIj4NCiAgICAgICAgICAgICAgICA8IS0tIGNsYXNzIG9uIGxpbmsgaXMgaW1wb3J0YW50LCBkb24ndCBjaGFuZ2UhISEgLS0+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8iIGNsYXNzPSJob21lLWxpbmsiPlNlYXJjaDwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPGxpIGlkPSJtZW51LXN1Ym1pdCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9zdWJtaXQvIj5TdWJtaXQ8L2E+DQogICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgIDxsaSBpZD0ibWVudS1hYm91dCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hYm91dC8iPkFib3V0PC9hPg0KICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICA8bGkgaWQ9Im1lbnUtY29udGFjdCI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9jb250YWN0LyI+Q29udGFjdDwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgPC9uYXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvaGVhZGVyPg0KICA8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0iZmxleC13cmFwcGVyIj4NCjxkaXYgaWQ9Im1haW4tY29udGFpbmVyIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCjxkaXYgaWQ9Im1haW4tcm93IiBjbGFzcz0icm93IG1haW4tcm93Ij4NCjxkaXYgaWQ9Im1haW4iIGNsYXNzPSJjb2wtbGctMjQgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KPGRpdiBpZD0iZGF0YXNldCI+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCBoaWRkZW4teHMgaGlkZGVuLXNtIj48ZGl2IGNsYXNzPSJ0aXRsZSBjaXRhdGlvbiBpbnZpc2libGUtdG9wLWJvcmRlciI+Q2l0YXRpb246PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImRlc2NyIHRvcC1ib3JkZXIiPjxkaXYgaWQ9ImdtYXAtZGF0YXNldC13cmFwcGVyIiBjbGFzcz0iZ21hcC13cmFwcGVyIGhpZGRlbi1wcmludCBoaWRkZW4teHMgaGlkZGVuLXNtIGNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImVtYmVkLXJlc3BvbnNpdmUgZW1iZWQtcmVzcG9uc2l2ZS00YnkzIj48ZGl2IGlkPSJnbWFwLWRhdGFzZXQiIGNsYXNzPSJlbWJlZC1yZXNwb25zaXZlLWl0ZW0iPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxoMSBjbGFzcz0iaGFuZ2luZyBjaXRhdGlvbiI+PHN0cm9uZz48YSBjbGFzcz0icG9wb3Zlci1saW5rIGxpbmstdW5zdHlsZWQiIGhyZWY9IiMiIGRhdGEtdGl0bGU9IiZsdDtzcGFuJmd0O0pvaGFuc3NvbiwgRW1tYSZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0pvaGFuc3NvbiwgRW1tYScuLi4mcXVvdDsgYXJpYS1sYWJlbD0mcXVvdDtTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnSm9oYW5zc29uLCBFbW1hJyZxdW90OyBocmVmPSZxdW90Oy8vd3d3LnBhbmdhZWEuZGUvP3E9YXV0aG9yJTNBZW1haWwlM0FlbW1hLmpvaGFuc3NvbiU0MHNrYi5zZSZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7bWFpbC1saW5rIHRleHQtbm93cmFwIHdpZGUtaWNvbi1saW5rJnF1b3Q7IGhyZWY9JnF1b3Q7bWFpbHRvOmVtbWEuam9oYW5zc29uQHNrYi5zZSZxdW90OyZndDtlbW1hLmpvaGFuc3NvbkBza2Iuc2UmbHQ7L2EmZ3Q7Jmx0Oy9kaXYmZ3Q7JiMxMDsmbHQ7L2RpdiZndDsmIzEwOyI+Sm9oYW5zc29uLCBFbW1hPC9hPjsgQmVyZ2x1bmQsIFN0ZW47IDxhIGNsYXNzPSJwb3BvdmVyLWxpbmsgbGluay11bnN0eWxlZCIgaHJlZj0iIyIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7TGluZGJvcmcsIFRvYmlhcyZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0xpbmRib3JnLCBUb2JpYXMnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0xpbmRib3JnLCBUb2JpYXMnJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1hdXRob3IlM0FlbWFpbCUzQXRvYmlhcy5saW5kYm9yZyU0MHNrYi5zZSZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7bWFpbC1saW5rIHRleHQtbm93cmFwIHdpZGUtaWNvbi1saW5rJnF1b3Q7IGhyZWY9JnF1b3Q7bWFpbHRvOnRvYmlhcy5saW5kYm9yZ0Bza2Iuc2UmcXVvdDsmZ3Q7dG9iaWFzLmxpbmRib3JnQHNrYi5zZSZsdDsvYSZndDsmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5MaW5kYm9yZywgVG9iaWFzPC9hPjsgPGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDtQZXRyb25lLCBKb2hhbm5lcyZsdDthIGNsYXNzPSZxdW90O3NlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2gmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyByZWw9JnF1b3Q7bm9mb2xsb3cmcXVvdDsgdGl0bGU9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ1BldHJvbmUsIEpvaGFubmVzJy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdQZXRyb25lLCBKb2hhbm5lcycmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQWVtYWlsJTNBam9oYW5uZXMucGV0cm9uZSU0MHNrYi5zZSZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7bWFpbC1saW5rIHRleHQtbm93cmFwIHdpZGUtaWNvbi1saW5rJnF1b3Q7IGhyZWY9JnF1b3Q7bWFpbHRvOmpvaGFubmVzLnBldHJvbmVAc2tiLnNlJnF1b3Q7Jmd0O2pvaGFubmVzLnBldHJvbmVAc2tiLnNlJmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPlBldHJvbmUsIEpvaGFubmVzPC9hPjsgPGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDt2YW4gQXMsIERpcmsmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICd2YW4gQXMsIERpcmsnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ3ZhbiBBcywgRGlyaycmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQW9yY2lkJTNBMDAwMC0wMDAyLTY1NTMtODk4MiZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7b3JjaWQtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTY1NTMtODk4MiZxdW90OyZndDtodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDItNjU1My04OTgyJmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPnZhbiBBcywgRGlyazwvYT47IEd1c3RhZnNzb24sIExhcnMtR8O2cmFuOyBOw6RzbHVuZCwgSmVucy1PdmU7IDxhIGNsYXNzPSJwb3BvdmVyLWxpbmsgbGluay11bnN0eWxlZCIgaHJlZj0iIyIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7TGF1ZG9uLCBIamFsbWFyJmx0O2EgY2xhc3M9JnF1b3Q7c2VhcmNobGluayBnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IHJlbD0mcXVvdDtub2ZvbGxvdyZxdW90OyB0aXRsZT0mcXVvdDtTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnTGF1ZG9uLCBIamFsbWFyJy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMYXVkb24sIEhqYWxtYXInJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1hdXRob3IlM0FvcmNpZCUzQTAwMDAtMDAwMS02MDU4LTE0NjYmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O29yY2lkLWxpbmsgdGV4dC1ub3dyYXAgd2lkZS1pY29uLWxpbmsmcXVvdDsgdGFyZ2V0PSZxdW90O19ibGFuayZxdW90OyBocmVmPSZxdW90O2h0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MDU4LTE0NjYmcXVvdDsmZ3Q7aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiZsdDsvYSZndDsmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5MYXVkb24sIEhqYWxtYXI8L2E+ICgyMDE0KTo8L3N0cm9uZz4gSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZC4gPGVtPlBBTkdBRUE8L2VtPiwgPGEgaWQ9ImNpdGF0aW9uLWRvaS1saW5rIiByZWw9Im5vZm9sbG93IGJvb2ttYXJrIiBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS1wdWJzdGF0dXM9IjQiIGNsYXNzPSJ0ZXh0LWxpbmt3cmFwIHBvcG92ZXItbGluayBkb2ktbGluayI+aHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg8L2E+LDxociBjbGFzcz0ic3BhY2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgLz4KPGVtPlN1cHBsZW1lbnQgdG86PC9lbT4gSm9oYW5zc29uLCBFIGV0IGFsLiAoMjAxNSk6IEh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBwZXJpZ2xhY2lhbCBsYWtlIGNhdGNobWVudCBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIOKAkyBwcmVzZW50YXRpb24gb2YgYSBuZXcgbXVsdGktcGFyYW1ldGVyIGRhdGEgc2V0LiA8ZW0+RWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YTwvZW0+LCA8c3Ryb25nPjcoMSk8L3N0cm9uZz4sIDkzLTEwOCwgPGEgY2xhc3M9InRleHQtbGlua3dyYXAgZG9pLWxpbmsiIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTU8L2E+PC9oMT4KPHAgY2xhc3M9Imhvd3RvY2l0ZSI+PHNtYWxsPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWJ1bGxob3JuIj48L3NwYW4+IDxzdHJvbmc+QWx3YXlzIHF1b3RlIGFib3ZlIGNpdGF0aW9uIHdoZW4gdXNpbmcgZGF0YSE8L3N0cm9uZz4gWW91IGNhbiBkb3dubG9hZCB0aGUgY2l0YXRpb24gaW4gc2V2ZXJhbCBmb3JtYXRzIGJlbG93Ljwvc21hbGw+PC9wPgo8cCBjbGFzcz0iZGF0YS1idXR0b25zIj48YSByZWw9Im5vZm9sbG93IGRlc2NyaWJlZGJ5IiB0aXRsZT0iRXhwb3J0IGNpdGF0aW9uIHRvIFJlZmVyZW5jZSBNYW5hZ2VyLCBFbmROb3RlLCBQcm9DaXRlIiBocmVmPSI/Zm9ybWF0PWNpdGF0aW9uX3JpcyIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPlJJUyBDaXRhdGlvbjwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyBkZXNjcmliZWRieSIgdGl0bGU9IkV4cG9ydCBjaXRhdGlvbiB0byBCaWJUZVgiIGhyZWY9Ij9mb3JtYXQ9Y2l0YXRpb25fYmlidGV4IiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+PHNwYW4gc3R5bGU9ImZvbnQtdmFyaWFudDpzbWFsbC1jYXBzOyI+QmliVGVYPC9zcGFuPiBDaXRhdGlvbjwvc3Bhbj48L2E+PGEgaWQ9InRleHQtY2l0YXRpb24tbGluayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IkV4cG9ydCBjaXRhdGlvbiBhcyBwbGFpbiB0ZXh0IiBocmVmPSI/Zm9ybWF0PWNpdGF0aW9uX3RleHQiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayBzaGFyZS1saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5UZXh0IENpdGF0aW9uPC9zcGFuPjwvYT48c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj48L3NwYW4+PGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsgYWN0aW9uYnV0dG9ubGluayIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9ub2pzLnBocCIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dT0jdSMmYW1wO3Q9I3QjIiB0aXRsZT0iU2hhcmUgZGF0YXNldCBvbiBGYWNlYm9vayIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IEZhY2Vib29rPC9zcGFuPjwvYT48YSByZWw9Im5vZm9sbG93IiBjbGFzcz0ic2VsZi1yZWZlcmVyLWxpbmsgc2hhcmUtbGluayBhY3Rpb25idXR0b25saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD91cmw9I3UjJmFtcDt0ZXh0PSN0IyZhbXA7dmlhPVBBTkdBRUFkYXRhUHVibCIgdGl0bGU9IlNoYXJlIGRhdGFzZXQgb24gVHdpdHRlciIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IFR3aXR0ZXI8L3NwYW4+PC9hPjxzcGFuIGNsYXNzPSJzZXBhcmF0b3IiPjwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkRpc3BsYXkgZXZlbnRzIGluIG1hcCIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hZHZhbmNlZC9nbWFwLWRhdGFzZXQucGhwP2lkPTgzNjE3OCZhbXA7dmlld3BvcnRCQk9YPS01MC4xODAzNyw2Ny4xMjU5NCwtNTAuMTgwMzcsNjcuMTI1OTQiIGNsYXNzPSJhY3Rpb25idXR0b25saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5TaG93IE1hcDwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IkRpc3BsYXkgZXZlbnRzIGluIEdvb2dsZSBFYXJ0aCIgaHJlZj0iP2Zvcm1hdD1ldmVudHNfa21sIiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+R29vZ2xlIEVhcnRoPC9zcGFuPjwvYT48c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj48L3NwYW4+PHNwYW4gZGF0YS1iYWRnZS10eXBlPSIxIiBkYXRhLWRvaT0iMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS1iYWRnZS1wb3BvdmVyPSJyaWdodCIgZGF0YS1oaWRlLW5vLW1lbnRpb25zPSJ0cnVlIiBjbGFzcz0iYWx0bWV0cmljLWVtYmVkIj48L3NwYW4+PC9wPgo8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkFic3RyYWN0OjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iYWJzdHJhY3QiPkZldyBoeWRyb2xvZ2ljYWwgc3R1ZGllcyBoYXZlIGJlZW4gbWFkZSBpbiBHcmVlbmxhbmQsIG90aGVyIHRoYW4gb24gZ2xhY2lhbCBoeWRyb2xvZ3kgYXNzb2NpYXRlZCB3aXRoIHRoZSBpY2Ugc2hlZXQuIFVuZGVyc3RhbmRpbmcgcGVybWFmcm9zdCBoeWRyb2xvZ3kgYW5kIGh5ZHJvY2xpbWF0aWMgY2hhbmdlIGFuZCB2YXJpYWJpbGl0eSwgaG93ZXZlciwgcHJvdmlkZXMga2V5IGluZm9ybWF0aW9uIGZvciB1bmRlcnN0YW5kaW5nIGNsaW1hdGUgY2hhbmdlIGVmZmVjdHMgYW5kIGZlZWRiYWNrcyBpbiB0aGUgQXJjdGljIGxhbmRzY2FwZS4gVGhpcyBwYXBlciBwcmVzZW50cyBhIG5ldyBleHRlbnNpdmUgYW5kIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgb3BlbiBhY2Nlc3MgZGF0YXNldCwgd2l0aCBoaWdoIHRlbXBvcmFsIHJlc29sdXRpb24gZnJvbSBhIDEuNTYga20qKjIgcGVybWFmcm9zdCBjYXRjaG1lbnQgd2l0aCBhIGxha2UgdW5kZXJsYWluIGJ5IGEgdGhyb3VnaCB0YWxpayBjbG9zZSB0byB0aGUgaWNlIHNoZWV0IGluIHRoZSBLYW5nZXJsdXNzdWFxIHJlZ2lvbiwgd2VzdGVybiBHcmVlbmxhbmQuIFRoZSBwYXBlciBkZXNjcmliZXMgdGhlIGh5ZHJvbG9naWNhbCBzaXRlIGludmVzdGlnYXRpb25zIGFuZCB1dGlsaXplZCBlcXVpcG1lbnQsIGFzIHdlbGwgYXMgdGhlIGRhdGEgY29sbGVjdGlvbiBhbmQgcHJvY2Vzc2luZy4gVGhlIGludmVzdGlnYXRpb25zIHdlcmUgcGVyZm9ybWVkIGJldHdlZW4gMjAxMCBhbmQgMjAxMy4gVGhlIGhpZ2ggc3BhdGlhbCByZXNvbHV0aW9uLCB3aXRoaW4gdGhlIGludmVzdGlnYXRlZCBhcmVhLCBvZiB0aGUgZGF0YXNldCBtYWtlcyBpdCBoaWdobHkgc3VpdGFibGUgZm9yIHZhcmlvdXMgZGV0YWlsZWQgaHlkcm9sb2dpY2FsIGFuZCBlY29sb2dpY2FsIHN0dWRpZXMgb24gY2F0Y2htZW50IHNjYWxlLjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5GdXJ0aGVyIGRldGFpbHM6PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImRlc2NyIj48ZGl2IGNsYXNzPSJoYW5naW5nIj48YSB0YXJnZXQ9Il9zZWxmIiBocmVmPSJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L3R3b2JvYXRsYWtlX2dyZWVubGFuZC5qcGciPk1hcCBvZiBUd28gQm9hdCBMYWtlIGluIEdyZWVubGFuZCAoanBnIDEzIE1CKSB3aXRoIHBvc2l0aW9uIG9mIHNhbXBsaW5nIHNpdGVzPC9hPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24uLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24iIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvP3E9JTQwcmVmNjU0NzciPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iaGFuZ2luZyI+PGEgdGFyZ2V0PSJfc2VsZiIgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCI+VGltZSBsYXBzIHBob3RvcyBvZiBsYWtlIDIwMTItMDktMDUgdG8gMjAxMy0wOC0xNCAobW92IGZpbGUsIHppcHBlZCAyMDUgTUIpPC9hPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24uLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24iIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvP3E9JTQwcmVmNjU0MDgiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+UHJvamVjdChzKTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImhhbmdpbmciPjxzdHJvbmc+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHJvamVjdC9HUmVlbmxhbmQtQW5hbG9ndWUtU3VyZmFjZS1Qcm9qZWN0LUdSQVNQIiBjbGFzcz0icG9wb3Zlci1saW5rIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDsmbHQ7YSB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cHM6Ly93d3cucmVzZWFyY2hnYXRlLm5ldC9wcm9qZWN0L0dSZWVubGFuZC1BbmFsb2d1ZS1TdXJmYWNlLVByb2plY3QtR1JBU1AmcXVvdDsmZ3Q7R1JlZW5sYW5kIEFuYWxvZ3VlIFN1cmZhY2UgUHJvamVjdCZsdDsvYSZndDsmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdHUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0Jy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdHUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0JyZxdW90OyBocmVmPSZxdW90Oy8vd3d3LnBhbmdhZWEuZGUvP3E9cHJvamVjdCUzQWxhYmVsJTNBR1JBU1AmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2IGNsYXNzPSZxdW90O3BvcG92ZXItbWl0ZW0mcXVvdDsmZ3Q7Jmx0O3N0cm9uZyZndDtMYWJlbDombHQ7L3N0cm9uZyZndDsgR1JBU1AmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5HUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0PC9hPjwvc3Ryb25nPiAoR1JBU1ApPGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0dSZWVubGFuZCBBbmFsb2d1ZSBTdXJmYWNlIFByb2plY3QnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnR1JlZW5sYW5kIEFuYWxvZ3VlIFN1cmZhY2UgUHJvamVjdCciIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvP3E9cHJvamVjdCUzQWxhYmVsJTNBR1JBU1AiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+Q292ZXJhZ2U6PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImRlc2NyIj48ZGl2IGNsYXNzPSJoYW5naW5nIGdlbyI+PGVtIGNsYXNzPSJ1bmZhcmJlIj5MYXRpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibGF0aXR1ZGUiPjY3LjEyNTk0MDwvc3Bhbj48ZW0gY2xhc3M9InVuZmFyYmUiPiAqIExvbmdpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibG9uZ2l0dWRlIj4tNTAuMTgwMzcwPC9zcGFuPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5FdmVudChzKTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImhhbmdpbmcgZ2VvIj48c3Ryb25nPlRCTDwvc3Ryb25nPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUQkwnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnVEJMJyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1ldmVudCUzQWxhYmVsJTNBVEJMIj48L2E+PGVtIGNsYXNzPSJ1bmZhcmJlIj4gKiBMYXRpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibGF0aXR1ZGUiPjY3LjEyNTk0MDwvc3Bhbj48ZW0gY2xhc3M9InVuZmFyYmUiPiAqIExvbmdpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibG9uZ2l0dWRlIj4tNTAuMTgwMzcwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9jYXRpb246IDwvZW0+PHNwYW4+VHdvIEJvYXQgTGFrZSwgS2FuZ2VybHVzc3VhcSwgR3JlZW5sYW5kPC9zcGFuPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUd28gQm9hdCBMYWtlLCBLYW5nZXJsdXNzdWFxLCBHcmVlbmxhbmQnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnVHdvIEJvYXQgTGFrZSwgS2FuZ2VybHVzc3VhcSwgR3JlZW5sYW5kJyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1sb2NhdGlvbiUzQSUyMlR3bytCb2F0K0xha2UlMkMrS2FuZ2VybHVzc3VhcSUyQytHcmVlbmxhbmQlMjIiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+Q29tbWVudDo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImFic3RyYWN0Ij5UaGUgZGF0YXNldCBjb250YWlucyBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGRhdGEgZnJvbSBhIGxha2UgY2F0Y2htZW50IGluIHRoZSBLYW5nZXJsdXNzdWFxIHJlZ2lvbiwgV2VzdGVybiBHcmVlbmxhbmQuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBkdXJpbmcgMjAxMC0yMDEzIGFuZCB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgYXJlIGluY2x1ZGVkOiBTb2lsIG1vaXN0dXJlLCBTb2lsIHRlbXBlcmF0dXJlLCBIeWRyYXVsaWMgcHJvcGVydGllcyBvZiB0aGUgYWN0aXZlIGxheWVyLCBtZXRlb3JvbG9naWNhbCBwYXJhbWV0ZXJzIGZyb20gYSBsb2NhbCB3ZWF0aGVyIHN0YXRpb24gd2l0aGluIHRoZSBjYXRjaG1lbnQsIHdhdGVyIGxldmVscyBhbmQgZGlzY2hhcmdlLCBzdWJsaW1hdGlvbiBhbmQgZXZhcG9ydGF0aW9uIG1lYXN1cm1lbnRzLCBzbm93IGRlcHRoIGFuZCBzbm93IHdhdGVyIGNvbnRlbnQgZGF0YSBhbmQgdGltZSBsYXBzZSBwaG90b3MuPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkxpY2Vuc2U6PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImRlc2NyIj48ZGl2IGNsYXNzPSJoYW5naW5nIj48YSBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyIgcmVsPSJsaWNlbnNlIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvc2hhcmVkL3BpY3MvbGljZW5zZXMvQ0MtQlktMy4wLnBuZyIgc3R5bGU9InZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyBib3JkZXItd2lkdGg6MDsiIGFsdD0iQ0MtQlktMy4wIiAvPiBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIDMuMCBVbnBvcnRlZDwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+U2l6ZTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9ImhhbmdpbmciPjU2NjMuMCBrQnl0ZXM8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQgY29sLWxnLW9mZnNldC0zIGNvbC1tZC1vZmZzZXQtNCI+PGRpdiBjbGFzcz0idGV4dC1ibG9jayB0b3AtYm9yZGVyIj4KPGgyIGlkPSJkb3dubG9hZCI+RG93bmxvYWQgRGF0YTwvaDI+CjxwPjxhIGhyZWY9Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvam9oYW5zc29uX2V0YWwtMjAxNC56aXAiIHRhcmdldD0iX3NlbGYiPkRvd25sb2FkIGRhdGFzZXQ8L2E+PC9wPgo8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJyZWNvbW1lbmRhdGlvbnMiPjwvZGl2Pgo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0iZm9vdGVyLXdyYXBwZXIiIGNsYXNzPSJ0b3AtYm9yZGVyIGhpZGRlbi1wcmludCI+DQogIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQogICAgPGZvb3RlciBjbGFzcz0icm93Ij48IS0tIHZvbGxlIFNjcmVlbi1CcmVpdGUgLS0+DQogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPjwhLS0gbWF4LiBCcmVpdGUgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS00IGNvbC14cy00Ij48L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLWhvc3RlZC1ieS1hcmVhIiBjbGFzcz0iY29sLWxnLTE4IGNvbC1tZC05IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkbGluZSB1bmRlcmxpbmVkIj4NCiAgICAgICAgICAgICAgUEFOR0FFQSBpcyBob3N0ZWQgYnkNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICA8cD4NCiAgICAgICAgICAgICAgICBBbGZyZWQgV2VnZW5lciBJbnN0aXR1dGUsIEhlbG1ob2x0eiBDZW50ZXIgZm9yIFBvbGFyIGFuZCBNYXJpbmUgUmVzZWFyY2ggKEFXSSk8YnIvPg0KICAgICAgICAgICAgICAgIENlbnRlciBmb3IgTWFyaW5lIEVudmlyb25tZW50YWwgU2NpZW5jZXMsIFVuaXZlcnNpdHkgb2YgQnJlbWVuIChNQVJVTSkNCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRsaW5lIHVuZGVybGluZWQiPg0KICAgICAgICAgICAgICBUaGUgU3lzdGVtIGlzIHN1cHBvcnRlZCBieQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgIDxwPg0KICAgICAgICAgICAgICAgIFRoZSBFdXJvcGVhbiBDb21taXNzaW9uLCBSZXNlYXJjaDxici8+DQogICAgICAgICAgICAgICAgRmVkZXJhbCBNaW5pc3RyeSBvZiBFZHVjYXRpb24gYW5kIFJlc2VhcmNoIChCTUJGKTxici8+DQogICAgICAgICAgICAgICAgRGV1dHNjaGUgRm9yc2NodW5nc2dlbWVpbnNjaGFmdCAoREZHKTxici8+DQogICAgICAgICAgICAgICAgSW50ZXJuYXRpb25hbCBPY2VhbiBEaXNjb3ZlcnkgUHJvZ3JhbSAoSU9EUCkNCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGxpbmUgdW5kZXJsaW5lZCI+DQogICAgICAgICAgICAgIFBBTkdBRUEgaXMgbWVtYmVyIG9mDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cuaWNzdS13ZHMub3JnLyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJQ1NVIFdvcmxkIERhdGEgU3lzdGVtIj4NCiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtNiBjb2wtc20tNiBjb2wteHMtNiIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUzYTgzMGI2ZjhhY2EwOGRjZDE2YzdlZjU5ZDM5NGJhL2xvZ29zL2xvZ28td2RzLWJsb2NrLnBuZyIgYWx0PSJJQ1NVIFdvcmxkIERhdGEgU3lzdGVtIj4NCiAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy53bW8uaW50LyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJXb3JsZCBNZXRlb3JvbG9naWNhbCBPcmdhbml6YXRpb24iPg0KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC14cy02IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTNhODMwYjZmOGFjYTA4ZGNkMTZjN2VmNTlkMzk0YmEvbG9nb3MvbG9nby13bW8tYmxvY2sucG5nIiBhbHQ9IldvcmxkIE1ldGVvcm9sb2dpY2FsIE9yZ2FuaXphdGlvbiI+DQogICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLXNvY2lhbC1hcmVhIiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1zb2NpYWwtYXJlYS13cmFwcGVyIiBjbGFzcz0iY29sLWxnLTI0IGNvbC1tZC0yNCBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbC1sZy0wIGNvbC1tZC00Ij48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtNSBjb2wtbWQtNSBjb2wteHMtMTAiPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1bmRlcmxpbmVkIj5TaGFyZSBvbi4uLjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbnMiPg0KICAgICAgICAgICAgICAgIDxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD91PSN1IyZhbXA7dD0jdCMiIHRpdGxlPSJTaGFyZSBvbiBGYWNlYm9vayIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgPGltZyBpZD0iZmFjZWJvb2staWNvbiIgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUzYTgzMGI2ZjhhY2EwOGRjZDE2YzdlZjU5ZDM5NGJhL3NvY2lhbC1pY29ucy9mYWNlYm9vay1pY29uLnBuZyIgYWx0PSJGYWNlYm9vayBJY29uIj4NCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgPGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvbm9qcy5waHAiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3VybD0jdSMmYW1wO3RleHQ9I3QjJmFtcDt2aWE9UEFOR0FFQWRhdGFQdWJsIiB0aXRsZT0iU2hhcmUgb24gVHdpdHRlciIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgPGltZyBpZD0idHdpdHRlci1pY29uIiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTNhODMwYjZmOGFjYTA4ZGNkMTZjN2VmNTlkMzk0YmEvc29jaWFsLWljb25zL3R3aXR0ZXItaWNvbi5wbmciIGFsdD0iVHdpdHRlciBJY29uIj4NCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJibGluZHNwYWx0ZSBjb2wtbGctMCBjb2wtbWQtMTgiPjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLW1lbnUtYXJlYSIgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTQgY29sLXhzLTQiPjwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1tZW51LXdyYXBwZXIiIGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPG5hdiBpZD0iZm9vdGVyLW5hdiI+DQogICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICA8bGkgaWQ9ImFib3V0LWxlZ2FsLW5vdGljZSI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L2xlZ2FsLnBocCI+TGVnYWwgbm90aWNlPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1wcml2YWN5LXBvbGljeSI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L3ByaXZhY3lwb2xpY3kucGhwIj5Qcml2YWN5IHBvbGljeTwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBpZD0iYWJvdXQtY29va2llcyI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L2Nvb2tpZXMucGhwIj5Db29raWVzPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1jb250YWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvY29udGFjdC8iPkNvbnRhY3Q8L2E+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvbmF2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZm9vdGVyPg0KICA8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pgo8L2h0bWw+Cg== http_version: - recorded_at: Sat, 29 Dec 2018 11:38:47 GMT + recorded_at: Mon, 15 Apr 2019 08:06:52 GMT recorded_with: VCR 3.0.3 From d7243303c88281730ae733d70a82e2802e9c59b3 Mon Sep 17 00:00:00 2001 From: Kristian Garza Date: Tue, 16 Apr 2019 10:36:54 +0200 Subject: [PATCH 2/2] added more format to default and set it up with contants --- app/controllers/dois_controller.rb | 2 +- config/initializers/constants.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/controllers/dois_controller.rb b/app/controllers/dois_controller.rb index 3155a53a2..9f8ccbf49 100644 --- a/app/controllers/dois_controller.rb +++ b/app/controllers/dois_controller.rb @@ -544,7 +544,7 @@ def safe_params end meta = xml.present? ? parse_xml(xml, doi: p[:doi]) : {} - p[:schemaVersion] = meta["from"] == "schema_org" ? "http://datacite.org/schema/kernel-4" : p[:schemaVersion] + p[:schemaVersion] = METADATA_FORMATS.include?(meta["from"]) ? LAST_SCHEMA_VERSION : p[:schemaVersion] xml = meta["string"] read_attrs = [p[:creators], p[:contributors], p[:titles], p[:publisher], diff --git a/config/initializers/constants.rb b/config/initializers/constants.rb index 477f2578c..e0a3163ed 100644 --- a/config/initializers/constants.rb +++ b/config/initializers/constants.rb @@ -46,3 +46,14 @@ class IdentifierError < RuntimeError; end "EMEA" => "Europe, Middle East and Africa", "AMER" => "Americas" } + +LAST_SCHEMA_VERSION = "http://datacite.org/schema/kernel-4" + +METADATA_FORMATS = [ + "schema_org", + "ris", + "bibtex", + "citeproc", + "crossref", + "codemeta" +] \ No newline at end of file