{"id":6474,"date":"2026-07-11T11:40:27","date_gmt":"2026-07-11T11:40:27","guid":{"rendered":"https:\/\/allenglish4u.com\/celpip-set-12-test-1-reading\/"},"modified":"2026-07-12T03:24:18","modified_gmt":"2026-07-12T03:24:18","slug":"celpip-set-12-test-1-reading","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/celpip-set-12-test-1-reading\/","title":{"rendered":"CELPIP Reading \u2014 Set 12 \u00b7 Practice Test 1"},"content":{"rendered":"<div class=\"clpr-wrap\" id=\"clprWrap\">\n<section class=\"clpr-hero\">\n<div class=\"clpr-aurora\"><span><\/span><span><\/span><span><\/span><\/div>\n<div class=\"clpr-hero-badges\"> <span class=\"clpr-badge-brand\">AllEnglish4U<\/span> <span class=\"clpr-badge-set\">CELPIP General &middot; Set 12<\/span> <\/div>\n<h1>Reading Practice Test 1<\/h1>\n<p class=\"clpr-hero-sub\">4 parts &middot; 38 questions &middot; about 55 minutes. Read each passage and choose the best option for every drop-down. Official Paragon question set with verified answer key.<\/p>\n<div class=\"clpr-hero-chips\"> <span class=\"clpr-chip\">Part 1 &middot; Correspondence<\/span> <span class=\"clpr-chip\">Part 2 &middot; Apply a Diagram<\/span> <span class=\"clpr-chip\">Part 3 &middot; Information<\/span> <span class=\"clpr-chip\">Part 4 &middot; Viewpoints<\/span> <\/div>\n<p> <button class=\"clpr-cta\" id=\"clprStart\">Start the Reading Test<\/button> <\/section>\n<div class=\"clpr-toolbar\" id=\"clprToolbar\" hidden> <span class=\"clpr-score-chip\" id=\"clprScoreChip\">0 \/ 38 answered<\/span> <span class=\"clpr-toolbar-spacer\"><\/span> <button class=\"clpr-tbtn\" id=\"clprReset\">Reset<\/button> <button class=\"clpr-tbtn clpr-tbtn-check\" id=\"clprCheck\">Check answers<\/button> <\/div>\n<div class=\"clpr-sim\" id=\"clprSim\" hidden>\n<div class=\"clpr-dots\" id=\"clprDots\"><\/div>\n<div class=\"clpr-cat\" id=\"clprCat\"><\/div>\n<\/p><\/div>\n<div class=\"clpr-results\" id=\"clprResults\" hidden><\/div>\n<\/p><\/div>\n<p><script>eval(atob(\"J3VzZSBzdHJpY3QnOwovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQ0VMUElQIFJlYWRpbmcgXHUyMDE0IFByYWN0aWNlIFRlc3QgMSAoU2V0IDEpCiAgIFNvdXJjZTogUGFyYWdvbiBvZmZpY2lhbCAiUHJhY3RpY2UgVGVzdCAxIFNldCAxIC0gUmVhZGluZyIgKDM3IHBwKS4KICAgQWxsIHN0ZW1zLCBvcHRpb25zIGFuZCBrZXlzIHZlcmlmaWVkIGFnYWluc3QgdGhlIHByaW50ZWQgQW5zd2VyIEtleS4KICAgRGF0YSBtb2RlbDogcGFydHNbXSAtPiB7IHBhc3NhZ2UobGVmdCkgLCBibG9ja3NbXShyaWdodCkgfQogICAgIGJsb2NrLnR5cGU6ICdzdGVtbGlzdCcgfCAnY2xvemUnIHwgJ21hdGNoJwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KdmFyIFJEQVRBID0geyJ0ZXN0TGFiZWwiOiJQcmFjdGljZSBUZXN0IDEiLCJwYXJ0cyI6W3siaWQiOjEsIm5hbWUiOiJSZWFkaW5nIFBhcnQgMTogUmVhZGluZyBDb3JyZXNwb25kZW5jZSIsInRpbWUiOiIxMCBtaW51dGVzIiwicGFzc2FnZSI6eyJ0eXBlIjoidGV4dCIsImxhYmVsIjoiUmVhZCB0aGUgZm9sbG93aW5nIG1lc3NhZ2UuIiwiaHRtbCI6IjxwPkRlYXIgTXMuIEFsdmFyZXosPC9wPjxwPkkgYW0gaW50ZXJlc3RlZCBpbiBlbnJvbGxpbmcgaW4gU3BhbmlzaCBsYW5ndWFnZSBjbGFzc2VzIGF0IHlvdXIgc2Nob29sIGFuZCB3b3VsZCBsaWtlIGEgYml0IG1vcmUgaW5mb3JtYXRpb24uIEhhdmluZyByZXZpZXdlZCB0aGUgY291cnNlIGluZm9ybWF0aW9uIG9uIHlvdXIgd2Vic2l0ZSwgSSZyc3F1bzttIGV4Y2l0ZWQgYWJvdXQgdGhlIHZhcmlldHkgb2Ygc3BlY2lhbCBhY3Rpdml0aWVzIG9mZmVyZWQgaW4geW91ciBjbGFzc2VzIGFuZCB3b3VsZCBsaWtlIHRvIGVucm9sbCBmb3IgdGhlIG5leHQgc2VtZXN0ZXIuIEhvd2V2ZXIsIEkmcnNxdW87ZCBsaWtlIHlvdXIgYWR2aWNlIGFzIHRvIHdoaWNoIGNvdXJzZSBhbmQgbGV2ZWwgd291bGQgYmUgbW9zdCBzdWl0YWJsZSBmb3IgbWUuPC9wPjxwPkkgaGF2ZSBiZWVuIHN0dWR5aW5nIFNwYW5pc2ggYXQgYW5vdGhlciBsb2NhbCBsYW5ndWFnZSBzY2hvb2wgZm9yIHRoZSBwYXN0IHRocmVlIG1vbnRocywgYnV0IEkgZmluZCB0aGF0IHRoZSB0ZWFjaGluZyBzdHlsZSBpcyBpbmVmZmVjdGl2ZSBmb3IgbXkgbGVhcm5pbmcgcHJlZmVyZW5jZXMuIFdlIGFyZSByZXF1aXJlZCB0byBkbyBhIGxvdCBvZiBzZWxmLXN0dWR5IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGVhY2ggb3Vyc2VsdmVzIHRoZSBjb250ZW50IGJlZm9yZSBhdHRlbmRpbmcgY2xhc3MuIFRoaXMgaXMgYSByZWFsIGNoYWxsZW5nZSBiZWNhdXNlIEkgaGF2ZSBhIGZ1bGwtdGltZSBqb2IgYW5kIGRvbiZyc3F1bzt0IGhhdmUgdGltZSB0byBjb21wbGV0ZSB0aGUgZm91ciBob3VycyBvZiBob21ld29yayBhc3NpZ25lZCBlYWNoIHdlZWsuIEFzIGEgcmVzdWx0LCBJIG9mdGVuIGZlZWwgbG9zdCBpbiB0aGUgY2xhc3MgYmVjYXVzZSBJIGhhdmVuJnJzcXVvO3QgcHJvcGVybHkgdW5kZXJzdG9vZCB0aGUgY29udGVudCBhbmQgdGhlIHRlYWNoZXIgZG9lc24mcnNxdW87dCBleHBsYWluIGl0IHdlbGwuIFRoZSBtYW5uZXIgaW4gd2hpY2ggdGhlIGNvdXJzZXMgYXJlIHRhdWdodCBhdCBteSBjdXJyZW50IHNjaG9vbCBpcyBub3Qgd29ya2luZyBmb3IgbWUuIFRoZSBtYWluIHJlYXNvbiBJIGNob3NlIHRvIHRha2UgU3BhbmlzaCBjbGFzc2VzIHdhcyBmb3IgZnVuLCBidXQgc28gZmFyIG15IGV4cGVyaWVuY2UgaGFzIGJlZW4gc3RyZXNzZnVsLiBIb3dldmVyLCBJIHRoaW5rIHRoYXQgdGhlIGN1cnJpY3VsdW0gYXQgeW91ciBzY2hvb2wgbG9va3MgcmVhbGx5IGZ1biBhbmQgaW50ZXJlc3RpbmcsIGVzcGVjaWFsbHkgdGhlIHByYWN0aWNhbCBleGVyY2lzZXMgc3VjaCBhcyBjb29raW5nLCBkYW5jaW5nLCBhbmQgd2F0Y2hpbmcgU3BhbmlzaCBtb3ZpZXMuPC9wPjxwPkkgd291bGQgYXBwcmVjaWF0ZSB5b3VyIGFkdmljZSBvbiBjb3Vyc2Ugb3B0aW9ucy4gSSZyc3F1bzttIGxvb2tpbmcgZm9yIGEgY2xhc3MgdGhhdCBmb2N1c2VzIHNwZWNpZmljYWxseSBvbiBsaXN0ZW5pbmcgYW5kIHNwZWFraW5nIHNraWxscyBzbyB0aGF0IEkgYW0gY29tZm9ydGFibGUgdXNpbmcgdGhlIGxhbmd1YWdlIHdoZW4gdHJhdmVsaW5nLiBJIGhhdmUgYWxyZWFkeSBzdHVkaWVkIHRoZSBiYXNpY3Mgc3VjaCBhcyBpbnRyb2R1Y3Rpb25zIGFuZCBncmVldGluZ3MsIGRlc2NyaWJpbmcgZGFpbHkgcm91dGluZXMsIGFuZCBnaXZpbmcgZGlyZWN0aW9ucy4gQWZ0ZXIgbG9va2luZyBhdCB5b3VyIGN1cnJpY3VsdW0sIEkgY2FuJnJzcXVvO3QgZGVjaWRlIHdoZXRoZXIgeW91ciBCZWdpbm5lciBMZXZlbCAyIG9yIDMgY2xhc3Mgd291bGQgYmUgbW9zdCBhcHByb3ByaWF0ZS4gSSB3b3VsZCByZWFsbHkgYXBwcmVjaWF0ZSB5b3VyIGFkdmljZS4gT2gsIHBlcmhhcHMgd2UgY291bGQgYXJyYW5nZSBhbiBpbnRlcnZpZXcgYnkgdGVsZXBob25lIHNvIHRoYXQgeW91IGNvdWxkIHN1Z2dlc3QgYW4gYXBwcm9wcmlhdGUgbGV2ZWwgZm9yIG1lLiBZb3UgY2FuIHJlYWNoIG1lIGJ5IGVtYWlsIGF0IHRoaXMgYWRkcmVzcyBvciBieSBwaG9uZSBhdCA5MDItMjQ0LTQ0NDQgaW4gdGhlIGV2ZW5pbmdzIGFmdGVyIDYgcC5tLjwvcD48cD5JIGxvb2sgZm9yd2FyZCB0byBoZWFyaW5nIGZyb20geW91ITwvcD48cD5SZWdhcmRzLDxicj5FcmluIExlQmxhbmM8L3A+In0sImJsb2NrcyI6W3sidHlwZSI6InN0ZW1saXN0IiwiaW5zdHIiOiJVc2luZyB0aGUgZHJvcC1kb3duIG1lbnUgKCAmIzk2NjI7ICksIGNob29zZSB0aGUgYmVzdCBvcHRpb24gYWNjb3JkaW5nIHRvIHRoZSBpbmZvcm1hdGlvbiBnaXZlbiBpbiB0aGUgbWVzc2FnZS4iLCJpdGVtcyI6W3sibiI6MSwicHJlIjoiRXJpbiBpcyBsb29raW5nIGZvciIsIm9wdGlvbnMiOlsiYW4gZW5qb3lhYmxlIGNvbnZlcnNhdGlvbiBjb3Vyc2UuIiwiYSBtb3JlIGNoYWxsZW5naW5nIGNvdXJzZS4iLCJhIHdheSB0byBzdHVkeSBtb3JlIGJ5IGhlcnNlbGYuIiwiYSB3YXkgdG8gbGVhcm4gU3BhbmlzaCBjb29raW5nLiJdLCJrZXkiOjF9LHsibiI6MiwicHJlIjoiRXJpbiBpcyBhc2tpbmcgYWJvdXQiLCJvcHRpb25zIjpbIndoaWNoIGNsYXNzIHNoZSBzaG91bGQgdGFrZS4iLCJ0aGUgc3R5bGUgb2YgdGVhY2hpbmcgYXQgdGhlIHNjaG9vbC4iLCJob3cgZGlmZmljdWx0IFNwYW5pc2ggaXMgdG8gbGVhcm4uIiwid2F5cyB0byBtYWtlIHRoZSBjbGFzc2VzIG1vcmUgZnVuLiJdLCJrZXkiOjF9LHsibiI6MywicHJlIjoiTW9zdCBsaWtlbHksIE1zLiBBbHZhcmV6IHdpbGwiLCJvcHRpb25zIjpbImJlIHVwc2V0IGJ5IHRoZSBjb21wbGFpbnQuIiwiYmUgc29ycnkgdG8gc2VlIEVyaW4gbGVhdmUuIiwiYmUgaGFwcHkgdG8gYWR2aXNlIG9uIGEgc2Nob29sLiIsImJlIGdsYWQgdG8gc3VnZ2VzdCBhIGNvdXJzZS4iXSwia2V5Ijo0fSx7Im4iOjQsInByZSI6IkVyaW4gZmVlbHMgYW54aW91cyBpbiBjbGFzcyBiZWNhdXNlIiwib3B0aW9ucyI6WyJ0aGUgY291cnNlIGlzIGJvcmluZy4iLCJzaGUgY2Fubm90IGtlZXAgdXAuIiwic2hlIG5lZWRzIG1vcmUgcHJhY3RpY2UuIiwidGhlIHRlYWNoZXIgaXMgc3RyaWN0LiJdLCJrZXkiOjJ9LHsibiI6NSwicHJlIjoiRXJpbiB3b3VsZCBkbyBiZXR0ZXIgaW4gaGVyIGNsYXNzIGlmIHNoZSIsIm9wdGlvbnMiOlsibGlrZWQgdGhlIHRlYWNoZXIgbW9yZS4iLCJ3YXMgbm90IHdvcmtpbmcgZnVsbCB0aW1lLiIsInNwZW50IG1vcmUgdGltZSBpbiBjbGFzcy4iLCJyZWNlaXZlZCBtb3JlIGhvbWV3b3JrLiJdLCJrZXkiOjJ9LHsibiI6NiwicHJlIjoiRXJpbiBiZWxpZXZlcyB0aGF0IE1zLiBBbHZhcmV6XHUyMDE5cyBzY2hvb2wiLCJvcHRpb25zIjpbIm9mZmVycyBsaXZlbHkgYW5kIGFjdGl2ZSBjbGFzc2VzLiIsImhlbHBzIHN0dWRlbnRzIHRvIGxlYXJuIHZlcnkgcXVpY2tseS4iLCJzcGVjaWFsaXplcyBpbiBiYXNpYyBTcGFuaXNoIGNvdXJzZXMuIiwiZ2l2ZXMgdGhlIHN0dWRlbnRzIGhvbWV3b3JrLiJdLCJrZXkiOjF9XX0seyJ0eXBlIjoiY2xvemUiLCJpbnN0ciI6IkhlcmUgaXMgYSByZXNwb25zZSB0byB0aGUgbWVzc2FnZS4gQ29tcGxldGUgdGhlIHJlc3BvbnNlIGJ5IGZpbGxpbmcgaW4gdGhlIGJsYW5rcy4gU2VsZWN0IHRoZSBiZXN0IGNob2ljZSBmb3IgZWFjaCBibGFuayBmcm9tIHRoZSBkcm9wLWRvd24gbWVudSAoICYjOTY2MjsgKS4iLCJib2R5IjpbIkRlYXIgTXMuIExlQmxhbmMsXG5cbkkgaG9wZSB5b3VyIGV4cGVyaWVuY2VzIGhhdmUiLHsiYiI6Nywib3B0aW9ucyI6WyJub3QgbGVzc2VuZWQgeW91ciBpbnRlcmVzdCBpbiIsImVuY291cmFnZWQgeW91IHRvIHN0dWR5IiwiZGlzc3VhZGVkIHlvdSBmcm9tIHN0dWR5aW5nIiwiaGVscGVkIHRvIGltcHJvdmUgeW91ciJdLCJrZXkiOjF9LCJTcGFuaXNoLCB3aGljaCBpcyByZWFsbHkgcXVpdGUgYW4gZWFzeSBsYW5ndWFnZS4gVGhlcmUgYXJlIGNlcnRhaW5seSBtYW55IGRpZmZlcmVudCBhcHByb2FjaGVzIHRvIGxlYXJuaW5nLiBZb3VyIix7ImIiOjgsIm9wdGlvbnMiOlsiYnVzeSBsaWZlc3R5bGUiLCJsYWNrIG9mIGV4cGVyaWVuY2UiLCJuZWVkIGZvciBmdW4iLCJsYWNrIG9mIGFiaWxpdHkiXSwia2V5IjoxfSwiY2VydGFpbmx5IG1ha2VzIGxlYXJuaW5nIFNwYW5pc2ggZGlmZmljdWx0LiBJIHRoaW5rIHlvdSB3aWxsIGRvIG11Y2ggYmV0dGVyIGluIGFuIGVudmlyb25tZW50IHdoZXJlIHlvdSBsZWFybiB0byBjb252ZXJzZSBieSIseyJiIjo5LCJvcHRpb25zIjpbInVzaW5nIFNwYW5pc2ggaW4gZW5qb3lhYmxlIGFjdGl2aXRpZXMiLCJzcGVha2luZyBTcGFuaXNoIG9uIGEgZGFpbHkgYmFzaXMiLCJsZWFybmluZyBwcmFjdGljYWwsIHdvcmtwbGFjZSBTcGFuaXNoIiwiZm9jdXNpbmcgb24gdm9jYWJ1bGFyeSBhbmQgZ3JhbW1hciJdLCJrZXkiOjF9LCIuXG5cbkl0XHUyMDE5cyB2ZXJ5IGRpZmZpY3VsdCB0byBhbnN3ZXIgeW91ciBxdWVzdGlvbiBkaXJlY3RseS4gV2Ugd291bGQgbmVlZCB0byIseyJiIjoxMCwib3B0aW9ucyI6WyJhc3Nlc3MgeW91ciBjdXJyZW50IGFiaWxpdGllcyIsInRlYWNoIHlvdSBzb21lIGJhc2ljIFNwYW5pc2giLCJsZWFybiBtb3JlIGFib3V0IHlvdXIgd29yayIsInNpZ24geW91IHVwIGZvciBhIExldmVsIDEgY2xhc3MiXSwia2V5IjoxfSwiYmVmb3JlIHdlIGdpdmUgeW91IGFuIGFuc3dlci4gUGVyaGFwcyB5b3UgY291bGQgZHJvcCBieSBvdXIgc2Nob29sIG9uZSBldmVuaW5nIHNvIHRoYXQgd2UgY2FuIGFuc3dlciB5b3VyIHF1ZXN0aW9ucy4gSG9wZWZ1bGx5LCB3ZSBjYW4gZmluZCBhIGxlYXJuaW5nIGVudmlyb25tZW50IHdoaWNoIHlvdSBmaW5kIG1vcmUiLHsiYiI6MTEsIm9wdGlvbnMiOlsiZW5qb3lhYmxlIiwiY2hhbGxlbmdpbmciLCJhY2FkZW1pYyIsImRlbWFuZGluZyJdLCJrZXkiOjF9LCIuXG5cbkJlc3QsXG5cbkVsaXNhIEFsdmFyZXpcbkRpcmVjdG9yLCBIYWxpZmF4IFNwYW5pc2ggSW5zdGl0dXRlIl19XX0seyJpZCI6MiwibmFtZSI6IlJlYWRpbmcgUGFydCAyOiBSZWFkaW5nIHRvIEFwcGx5IGEgRGlhZ3JhbSIsInRpbWUiOiI4IG1pbnV0ZXMiLCJwYXNzYWdlIjp7InR5cGUiOiJ0ZXh0IiwibGFiZWwiOiJSZWFkIHRoZSBmb2xsb3dpbmcgZGlhZ3JhbS4iLCJodG1sIjoiPHN0eWxlPi5hZS1vc3tib3JkZXI6MXB4IHNvbGlkICNjYmQ1ZTE7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZToxM3B4O2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjIyfS5hZS1vcy1oZWFke2JhY2tncm91bmQ6IzdhMTYyMDtwYWRkaW5nOjEycHggMTRweDt0ZXh0LWFsaWduOmNlbnRlcn0uYWUtb3MtaGVhZCBoM3ttYXJnaW46MDtjb2xvcjojZjBjODYwO2ZvbnQtc2l6ZToxOXB4O2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MS4yNX0uYWUtb3Mtc3Vie2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjEwcHggMTRweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2JkNWUxfS5hZS1vcy1zdWIgYntkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206NHB4fS5hZS1vcy1zdWIgcHttYXJnaW46MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjR9LmFlLW9zLWJvZHl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxNTBweCAxZnI7Z2FwOjB9LmFlLW9zLW1hdHtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNjYmQ1ZTE7Zm9udC1zaXplOjEycHh9LmFlLW9zLW1hdCBoNHttYXJnaW46MCAwIDRweDtjb2xvcjojN2ExNjIwO2ZvbnQtc2l6ZToxMi41cHh9LmFlLW9zLW1hdCB1bHttYXJnaW46MCAwIDEwcHg7cGFkZGluZy1sZWZ0OjE2cHh9LmFlLW9zLW1hdCBsaXttYXJnaW46MXB4IDB9LmFlLW9zIHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxMS41cHh9LmFlLW9zIHRoe2JhY2tncm91bmQ6IzdhMTYyMDtjb2xvcjojZjBjODYwO3BhZGRpbmc6NnB4IDRweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTJweH0uYWUtb3MgdGR7Ym9yZGVyOjFweCBzb2xpZCAjY2JkNWUxO3BhZGRpbmc6NXB4IDRweDt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmFlLW9zIC5hZS1vcy1sdW5jaCB0ZHtiYWNrZ3JvdW5kOiNmNGE2YTA7Zm9udC13ZWlnaHQ6Ym9sZH0uYWUtb3MgLmFlLW9zLWV4dHJhIHRke2JhY2tncm91bmQ6I2Y0YTZhMDtjb2xvcjojN2ExNjIwO2ZvbnQtd2VpZ2h0OmJvbGQ7cGFkZGluZzo4cHh9LmFlLW9zIC5hZS1vcy10aW1le2JhY2tncm91bmQ6I2Y3ZjNlYztmb250LXdlaWdodDpib2xkO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEobWF4LXdpZHRoOjU2MHB4KXsuYWUtb3MtYm9keXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5hZS1vcy1tYXR7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NiZDVlMX19PC9zdHlsZT48ZGl2IGNsYXNzPVwiYWUtb3NcIj48ZGl2IGNsYXNzPVwiYWUtb3MtaGVhZFwiPjxoMz5PYWtyaWRnZSBSZWdpb25hbCBIaWdoc2Nob29sPGJyPkZhbGwgU2VtZXN0ZXIgJm5kYXNoOyBDb3Vyc2UgU2NoZWR1bGU8L2gzPjwvZGl2PjxkaXYgY2xhc3M9XCJhZS1vcy1zdWJcIj48Yj5Gb3IgTXMuIEtheWxhIFZhbGVuPC9iPjxwPlRoZSBmb2xsb3dpbmcgc2NoZWR1bGUgcmVwcmVzZW50cyB0aGUgY291cnNlcyBpbiB3aGljaCB5b3UgaGF2ZSBiZWVuIGVucm9sbGVkIGZvciB0aGUgY29taW5nIGZhbGwgc2VtZXN0ZXIuIE91ciBiZXN0IGF0dGVtcHQgaGFzIGJlZW4gbWFkZSB0byBhY2NvbW1vZGF0ZSBhbGwgb2YgeW91ciByZXF1ZXN0cyBhbmQgY291cnNlIHJlcXVpcmVtZW50cy4gVG8gaW5xdWlyZSBhYm91dCBhbnkgYWx0ZXJhdGlvbnMgdG8geW91ciBzY2hlZHVsZSwgcGxlYXNlIG1ha2UgYW4gYXBwb2ludG1lbnQgdG8gc2VlIHlvdXIgc2Nob29sIGNvdW5zZWxsb3IgYXQgdGhlIG1haW4gb2ZmaWNlLjwvcD48L2Rpdj48ZGl2IGNsYXNzPVwiYWUtb3MtYm9keVwiPjxkaXYgY2xhc3M9XCJhZS1vcy1tYXRcIj48aDQ+UmVxdWlyZWQgTWF0ZXJpYWxzOjwvaDQ+PHVsPjxsaT5iYWNrcGFjazwvbGk+PGxpPjMtcmluZyBiaW5kZXIocyk8L2xpPjxsaT5saW5lZCBwYXBlcjwvbGk+PGxpPmdyYXBoIHBhcGVyPC9saT48bGk+Ymx1ZS9ibGFjayBwZW5zPC9saT48bGk+IzIgcGVuY2lsczwvbGk+PGxpPnBlbmNpbCBzaGFycGVuZXI8L2xpPjxsaT5lcmFzZXJzPC9saT48bGk+cG9ja2V0IGRpY3Rpb25hcnk8L2xpPjxsaT5GcmVuY2gvRW5nbGlzaCBkaWN0aW9uYXJ5PC9saT48bGk+c2NpZW50aWZpYyBjYWxjdWxhdG9yPC9saT48bGk+Z3ltIGNsb3RoZXM8L2xpPjxsaT5ydW5uaW5nIHNob2VzPC9saT48L3VsPjxoND5TdWdnZXN0ZWQgTWF0ZXJpYWxzOjwvaDQ+PHVsPjxsaT5mbGFzaCBkcml2ZTwvbGk+PGxpPnNjaXNzb3JzPC9saT48bGk+c3RhcGxlcjwvbGk+PGxpPnRoZXNhdXJ1czwvbGk+PGxpPmNvbG91cmVkIHBlbmNpbHM8L2xpPjxsaT5oaWdobGlnaHRlcnM8L2xpPjxsaT5sYXB0b3AgY29tcHV0ZXI8L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz1cImFlLW9zLWdyaWRcIj48dGFibGU+PHRyPjx0aD5UaW1lPC90aD48dGg+TW9uZGF5PC90aD48dGg+VHVlc2RheTwvdGg+PHRoPldlZG5lc2RheTwvdGg+PHRoPlRodXJzZGF5PC90aD48dGg+RnJpZGF5PC90aD48L3RyPjx0cj48dGQgY2xhc3M9XCJhZS1vcy10aW1lXCI+ODozMC0xMDoxMDwvdGQ+PHRkPkJpb2xvZ3k8L3RkPjx0ZD5NdXNpY2FsIFRoZWF0cmU8L3RkPjx0ZD5FbmdsaXNoIExpdGVyYXR1cmU8L3RkPjx0ZD5DYW5hZGlhbiBIaXN0b3J5PC90ZD48dGQ+RXRoaWNzIGFuZCBQaGlsb3NvcGh5PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9XCJhZS1vcy10aW1lXCI+MTA6MjAtMTI6MDA8L3RkPjx0ZD5NYXRoZW1hdGljYWwgUHJpbmNpcGxlczwvdGQ+PHRkPkNoZW1pc3RyeTwvdGQ+PHRkPkFkdmFuY2VkIEZyZW5jaDwvdGQ+PHRkPkNvbXB1dGluZyBTY2llbmNlPC90ZD48dGQ+Q2hlbWlzdHJ5PC90ZD48L3RyPjx0ciBjbGFzcz1cImFlLW9zLWx1bmNoXCI+PHRkIGNsYXNzPVwiYWUtb3MtdGltZVwiPjEyOjAwLTEyOjMwPC90ZD48dGQ+THVuY2g8L3RkPjx0ZD5MdW5jaDwvdGQ+PHRkPkx1bmNoPC90ZD48dGQ+THVuY2g8L3RkPjx0ZD5MdW5jaDwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPVwiYWUtb3MtdGltZVwiPjEyOjMwLTI6MTA8L3RkPjx0ZD5Db21wdXRpbmcgU2NpZW5jZTwvdGQ+PHRkPkNhbmFkaWFuIEhpc3Rvcnk8L3RkPjx0ZD5CaW9sb2d5PC90ZD48dGQ+TWF0aGVtYXRpY2FsIFByaW5jaXBsZXM8L3RkPjx0ZD5FbmdsaXNoIExpdGVyYXR1cmU8L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz1cImFlLW9zLXRpbWVcIj4yOjIwLTQ6MDA8L3RkPjx0ZD5BZHZhbmNlZCBGcmVuY2g8L3RkPjx0ZD5QaHlzaWNhbCBFZHVjYXRpb248L3RkPjx0ZD5FdGhpY3MgYW5kIFBoaWxvc29waHk8L3RkPjx0ZD5QaHlzaWNhbCBFZHVjYXRpb248L3RkPjx0ZD5NdXNpY2FsIFRoZWF0cmU8L3RkPjwvdHI+PHRyIGNsYXNzPVwiYWUtb3MtZXh0cmFcIj48dGQgY29sc3Bhbj1cIjZcIj5FeHRyYWN1cnJpY3VsYXIgQWN0aXZpdGllcyBhbmQgU3BvcnRzIENsdWJzPGJyPjQ6MTUtNToxNTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PiJ9LCJibG9ja3MiOlt7InR5cGUiOiJjbG96ZSIsImluc3RyIjoiUmVhZCB0aGUgZm9sbG93aW5nIGVtYWlsIG1lc3NhZ2UgYWJvdXQgdGhlIGRpYWdyYW0gb24gdGhlIGxlZnQuIENvbXBsZXRlIHRoZSBlbWFpbCBieSBmaWxsaW5nIGluIHRoZSBibGFua3MuIFNlbGVjdCB0aGUgYmVzdCBjaG9pY2UgZm9yIGVhY2ggYmxhbmsgZnJvbSB0aGUgZHJvcC1kb3duIG1lbnUgKCAmIzk2NjI7ICkuIiwiYm9keSI6WyJTdWJqZWN0OiBDb3Vyc2UgU2NoZWR1bGVcblRvOiBQZXRlciBBaWtlbnM7IDxwYWlrZW5zQG9ha3JlZ2lvbmFsLmNvbSA+XG5Gcm9tOiBLYXlsYSBWYWxlbjsgPGt2YWxlbkBvYWtyZWdpb25hbC5jb20+XG5cbkRlYXIgTXIuIEFpa2VucyxcblxuSSBzZWUgdGhhdCBJIG5lZWQiLHsiYiI6MSwib3B0aW9ucyI6WyJ0byBtZWV0IHdpdGggeW91IGFib3V0IiwidG8gc2VsZWN0IGNsYXNzZXMgZm9yIiwieW91ciBzdWdnZXN0aW9ucyBmb3IiLCJteSBwYXJlbnRzXHUyMDE5IGlucHV0IG9uIl0sImtleSI6MX0sIm15IGNvdXJzZSBzY2hlZHVsZS4gSW4gdGhlIG1lYW50aW1lLCBoZXJlIGFyZSBzb21lIG9mIG15IHF1ZXN0aW9ucyBhbmQgY29uY2VybnMuIEkgcmVhbGl6ZSB0aGF0IHlvdSB0cmllZCB0byIseyJiIjoyLCJvcHRpb25zIjpbImdpdmUgbWUgdGhlIGNsYXNzZXMgdGhhdCBJIHdhbnQiLCJlbnJvbCBtZSBpbiB0aGUgZWFzaWVzdCBjbGFzc2VzIiwiZm9jdXMgbXkgY291cnNlcyBpbiBvbmUgc3ViamVjdCIsImFzc2lnbiBvbmx5IGNvdXJzZSByZXF1aXJlbWVudHMiXSwia2V5IjoxfSwiLCBidXQgSVx1MjAxOXZlIGJlZW4gZ2l2ZW4gdGhyZWUgZGlmZmVyZW50Iix7ImIiOjMsIm9wdGlvbnMiOlsiaGlzdG9yeSBjb3Vyc2VzIiwibGFuZ3VhZ2UgY291cnNlcyIsImxpdGVyYXR1cmUgY291cnNlcyIsInNjaWVuY2UgY291cnNlcyJdLCJrZXkiOjR9LCIuXG5cbkkgaW50ZW5kIHRvIG1ham9yIGluIGxhbmd1YWdlcywgc28gSVx1MjAxOWQgcHJlZmVyIHRvIHRha2UgU3BhbmlzaC4gSSBkb25cdTIwMTl0IHNlZSBhIG5lZWQgZm9yIENvbXB1dGluZyBTY2llbmNlIGFzIElcdTIwMTl2ZSBiZWVuIHdvcmtpbmcgb24gY29tcHV0ZXJzIHNpbmNlIEkgd2FzIGEgbGl0dGxlIGtpZC4gRm9yIHRoZSBzYW1lIHJlYXNvbiwgSSBxdWVzdGlvbiB0aGUgbmVlZCBmb3IgYWxsIix7ImIiOjQsIm9wdGlvbnMiOlsidGhvc2UgcmVxdWlyZWQgbWF0ZXJpYWxzIiwidGhvc2Ugc3VnZ2VzdGVkIG1hdGVyaWFscyIsInRoYXQgcmVjb21tZW5kZWQgc29mdHdhcmUiLCJ0aG9zZSBvcHRpb25hbCB0ZXh0Ym9va3MiXSwia2V5IjoxfSwiLiBJZiBpbnN0ZWFkIEkgY291bGQgdXNlIG15IGxhcHRvcCBpbiBjbGFzcywgSSBjb3VsZCBzYXZlIGEgbG90IG9mIHRyZWVzLlxuXG5MYXN0bHksIHJlZ2FyZGluZyBub24tYWNhZGVtaWMgdG9waWNzLCBhcmUgdGhlIGFjdGl2aXRpZXMgYW5kIGNsdWJzIix7ImIiOjUsIm9wdGlvbnMiOlsiZXZlcnkgd2VlayBkYXkiLCJldmVyeSBsdW5jaCBicmVhayIsImluIHRoZSBtb3JuaW5ncyIsImFsc28gb24gd2Vla2VuZHMiXSwia2V5IjoxfSwiPyBJcyBwYXJ0aWNpcGF0aW9uIGluIHRoZXNlIHJlcXVpcmVkPyBJIHRha2UgbXVzaWMgbGVzc29ucyBhbmQgc3dpbW1pbmcgYXQgdGhlIHNhbWUgdGltZXMuXG5cblRoYW5rcyFcblxuS2F5bGEiXX0seyJ0eXBlIjoic3RlbWxpc3QiLCJpbnN0ciI6IlVzaW5nIHRoZSBkcm9wLWRvd24gbWVudSAoICYjOTY2MjsgKSwgY2hvb3NlIHRoZSBiZXN0IG9wdGlvbi4iLCJpdGVtcyI6W3sibiI6NiwicHJlIjoiV2hhdCBhcmUgdGhlIHJvbGVzIG9mIE1yLiBBaWtlbnMgYW5kIEtheWxhPyIsIm9wdGlvbnMiOlsiY291bnNlbGxvciBhbmQgc3R1ZGVudCIsImNvdW5zZWxsb3IgYW5kIHRlYWNoZXIiLCJ0ZWFjaGVyIGFuZCBzdHVkZW50IiwidHdvIHN0dWRlbnRzIl0sImtleSI6MX0seyJuIjo3LCJwcmUiOiJXaHkgaXMgS2F5bGEgY29uY2VybmVkIGFib3V0IHRoZSBzY2hlZHVsZT8iLCJvcHRpb25zIjpbIlNoZSBwcmVmZXJzIGNsYXNzZXMgb3RoZXIgdGhhbiBzY2llbmNlLiIsIlNoZSB3YW50cyBjb3Vyc2VzIHJlbGF0ZWQgdG8gaGVyIG1ham9yLiIsIlNoZVx1MjAxOXMgd29ycmllZCBhYm91dCBiZWluZyBib3JlZC4iLCJUaGVyZSBhcmUgdG9vIG1hbnkgZGlmZmljdWx0IGNvdXJzZXMuIl0sImtleSI6Mn0seyJuIjo4LCJwcmUiOiJXaHkgaXMgS2F5bGEgYXNraW5nIGFib3V0IHRoZSBhZGRpdGlvbmFsIGFjdGl2aXRpZXMgYW5kIHNwb3J0cz8iLCJvcHRpb25zIjpbIlNoZSBuZWVkcyB0aGF0IHRpbWUgdG8gY29tcGxldGUgaGVyIGhvbWV3b3JrLiIsIlNoZSBwcmVmZXJzIHRvIGdvIHN0cmFpZ2h0IGhvbWUgYWZ0ZXIgc2Nob29sLiIsIlNoZSB3YW50cyB0byBzcGVuZCB0aGUgdGltZSBvbiBsYW5ndWFnZXMuIiwiU2hlIGlzIHRvbyBidXN5IHRvIHBhcnRpY2lwYXRlIGluIHRoZW0uIl0sImtleSI6NH1dfV19LHsiaWQiOjMsIm5hbWUiOiJSZWFkaW5nIFBhcnQgMzogUmVhZGluZyBmb3IgSW5mb3JtYXRpb24iLCJ0aW1lIjoiOSBtaW51dGVzIiwicGFzc2FnZSI6eyJ0eXBlIjoidGV4dCIsImxhYmVsIjoiUmVhZCB0aGUgZm9sbG93aW5nIHBhc3NhZ2UuIiwiaHRtbCI6IjxwPjxzdHJvbmc+QS48L3N0cm9uZz4gTWF0Y2hlcyBtYWRlIG9mIHdvb2Qgc3BsaW50ZXJzIGFuZCBkaXBwZWQgaW4gc3VscGh1ciwgYSBjaGVtaWNhbCBlbGVtZW50LCBkYXRlIGJhY2sgdG8gdGVudGgtY2VudHVyeSBDaGluYS4gSG93ZXZlciwgc29tZSBDaGluZXNlIHNjaG9sYXJzIHNwZWN1bGF0ZSB0aGF0IHdvbWVuIG1heSBoYXZlIGludmVudGVkIG1hdGNoZXMgYXMgZWFybHkgYXMgNTc3IENFLCBhdCBhIHRpbWUgd2hlbiB0aGV5IHdlcmUgdW5hYmxlIHRvIGZyZWVseSBzZWFyY2ggZm9yIHRpbmRlciBkdWUgdG8gdGhyZWF0IG9mIGF0dGFjayBmcm9tIGludmFkZXJzLiBUaGlzICZsZHF1bztmaXJlIGluY2gtc3RpY2smcmRxdW87IHRlY2hub2xvZ3kgc2VlbXMgdG8gaGF2ZSBldm9sdmVkIHNlcGFyYXRlbHkgaW4gbmluZXRlZW50aC1jZW50dXJ5IEV1cm9wZSB3aGVuLCBpbiBQYXJpcyBpbiAxODA1LCBjaGVtaXN0IEplYW4gQ2hhbmNlbCBjcmVhdGVkIG1hdGNoZXMgdGhhdCBidXJzdCBpbnRvIGZsYW1lIHdoZW4gZGlwcGVkIGluIHN1bHBodXJpYyBhY2lkLjwvcD48cD48c3Ryb25nPkIuPC9zdHJvbmc+IFRoZSBuZXh0IGdlbmVyYXRpb24gb2YgbWF0Y2hlcyByZWxpZWQgb24gZnJpY3Rpb24gdG8gcHJvZHVjZSBhIGZsYW1lLiBUaGVzZSAmbGRxdW87c3RyaWtlIGFueXdoZXJlJnJkcXVvOyBtYXRjaGVzIGlnbml0ZWQgd2hlbiB0aGUgdGlwLCBjb250YWluaW5nIHRoZSBuZWNlc3NhcnkgY2hlbWljYWxzIHRvIHByb2R1Y2UgY29tYnVzdGlvbiwgd2FzIHN0cnVjayBhZ2FpbnN0IGEgcm91Z2ggc3VyZmFjZS4gQWx0aG91Z2ggZGV2ZWxvcGVkIGluIDE4MjcgaW4gRW5nbGFuZCBieSBhIGNoZW1pc3QgbmFtZWQgSm9obiBXYWxrZXIsIHRoZXkgd2VyZSBjb21tZXJjaWFsaXplZCBieSBTYW11ZWwgSm9uZXMuIER1ZSB0byBKb25lcyZyc3F1bztzIGVmZm9ydHMsIHRoZXNlICZsZHF1bztMdWNpZmVycyZyZHF1bzsgYmVjYW1lIHBvcHVsYXIgaW4gdmFyaW91cyBFdXJvcGVhbiBjb3VudHJpZXMgYW5kIGxlZCB0byBpbmNyZWFzZWQgdG9iYWNjbyB1c2UuPC9wPjxwPjxzdHJvbmc+Qy48L3N0cm9uZz4gSW4gRnJhbmNlLCBpbiAxODMxLCBDaGFybGVzIFNhdXJpYSBkZXZlbG9wZWQgYSBuZXcgdHlwZSBvZiBtYXRjaCBtYWRlIHdpdGggd2hpdGUgcGhvc3Bob3J1cywgYW5vdGhlciBjaGVtaWNhbCBlbGVtZW50LiBFZmZlY3RpdmUgZXZlbiBvbiByYWlueSBkYXlzIGFuZCBmcmVlIG9mIHRoZSBwdW5nZW5jeSB0aGF0IGFzc2FpbGVkIHRoZSBub3NlIHdoZW4gQ2hhbmNlbCZyc3F1bztzIGFuZCBXYWxrZXImcnNxdW87cyBtYXRjaGVzIHdlcmUgbGl0LCB0aGVzZSBtYXRjaGVzIGdhaW5lZCBtYXNzIHByb2R1Y3Rpb24gYW5kIHdvcmxkd2lkZSB1c2UuIFVuZm9ydHVuYXRlbHksIHRoaXMgbmV4dCBnZW5lcmF0aW9uIG9mIG1hdGNoZXMgd2FzIHVuc2FmZSBmb3IgdGhlIGxhYm91cmVycyB3aG8gbWFudWZhY3R1cmVkIHRoZW06IHdvcmtwbGFjZSBleHBvc3VyZSB0byBwaG9zcGhvcnVzIHZhcG91ciBjYXVzZWQgZGV0ZXJpb3JhdGlvbiBvZiB0aGUgamF3IGJvbmUuIERlc3BpdGUgYSB3b3JrZXJzJnJzcXVvOyBzdHJpa2UsIGEgdmlnb3JvdXMgaW5mb3JtYXRpb24gY2FtcGFpZ24sIGFuZCB2b2x1bnRhcnkgZGlzY29udGludWF0aW9uIGluIGEgZmV3IEV1cm9wZWFuIGNvdW50cmllcywgdGhlIG1ham9yaXR5IG9mIGNvdW50cmllcyBwZXJzaXN0ZWQgaW4gbWFudWZhY3R1cmluZyB3aGl0ZSBwaG9zcGhvcnVzIG1hdGNoZXMgdW50aWwgMTkwNiwgd2hlbiB0aGUgcHJvY2VzcyB3YXMgZmluYWxseSBiYW5uZWQgdW5kZXIgdGhlIGxhdy48L3A+PHA+PHN0cm9uZz5ELjwvc3Ryb25nPiBHcmFkdWFsbHksIGZhY3Rvcnkgb3duZXJzIHJlcGxhY2VkIHdoaXRlIHBob3NwaG9ydXMgd2l0aCByZWQgcGhvc3Bob3J1cywgYSBjb25zaWRlcmFibHkgbGVzcyBwb2lzb25vdXMgY2hlbWljYWwgdGhhdCBpcyBzdGlsbCB1c2VkIGluIG1hdGNoZXMgdG9kYXkuIEluIGZhY3QsIGEgc2luZ2xlIHN0YXRlLW9mLXRoZS1hcnQgbWF0Y2ggZmFjdG9yeSBpbiBTd2VkZW4gcHJvZHVjZXMgbWlsbGlvbnMgb2YgYm94ZXMgb2YgdGlueSBtYXRjaGVzIGRhaWx5IHVzaW5nIHJlZCBwaG9zcGhvcnVzIGFuZCB3b29kIHNwbGludGVycyBmcm9tIGFzcGVuIHRyZWVzLiBUaGUgcmVkIHBob3NwaG9ydXMgaXMgbWl4ZWQgd2l0aCBwb3dkZXJlZCBnbGFzcyBvciBzb21lIG90aGVyIHN1YnN0YW5jZSB0byBjcmVhdGUgYSByb3VnaCBzdHJpa2luZyBzdXJmYWNlLCB3aGljaCBpcyB0aGVuIHNhZmVseSBwb3NpdGlvbmVkIG9uIHRoZSBvdXRzaWRlIG9mIHRoZSBtYXRjaGJveCBjb250YWluaW5nIHRoZSBhc3BlbiBzcGxpbnRlcnMuIE9ubHkgd2hlbiB0aGUgbWF0Y2ggaXMgc3RydWNrIGFnYWluc3QgdGhlIHN1cmZhY2Ugd2lsbCBpdCBpZ25pdGUuIFRoZXNlICZsZHF1bztzYWZldHkgbWF0Y2hlcyZyZHF1bzsgd2VyZSBkZXZlbG9wZWQgaW4gU3dlZGVuLCBpbiAxODQ0LCBieSBHdXN0YWYgUGFzY2gsIGFsdGhvdWdoIGl0IHdhcyBKb3NodWEgUHVzZXkgd2hvIGludmVudGVkIHRoZSBtYXRjaGJvb2sgaW4gMTg4OSBhcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgbWF0Y2hib3guIFB1c2V5JnJzcXVvO3MgcGF0ZW50IHdhcyBjaGFsbGVuZ2VkIGJ5IHRoZSBEaWFtb25kIE1hdGNoIENvbXBhbnksIHdoaWNoIGhhZCBpbnZlbnRlZCBhIHNpbWlsYXIgbWF0Y2hib29rOyB0aGUgZGlmZmVyZW5jZSB3YXMgdGhhdCB0aGVpciBzdHJpa2luZyBzdWJzdGFuY2Ugd2FzIG9uIHRoZSBvdXRzaWRlLCB3aGVyZWFzIFB1c2V5JnJzcXVvO3Mgd2FzIG9uIHRoZSBpbnNpZGUuPC9wPjxwPjxzdHJvbmc+RS48L3N0cm9uZz4gTm90IGdpdmVuIGluIGFueSBvZiB0aGUgYWJvdmUgcGFyYWdyYXBocy48L3A+In0sImJsb2NrcyI6W3sidHlwZSI6Im1hdGNoIiwiaW5zdHIiOiJEZWNpZGUgd2hpY2ggcGFyYWdyYXBoLCBBIHRvIEQsIGhhcyB0aGUgaW5mb3JtYXRpb24gZ2l2ZW4gaW4gZWFjaCBzdGF0ZW1lbnQgYmVsb3cuIFNlbGVjdCBFIGlmIHRoZSBpbmZvcm1hdGlvbiBpcyBub3QgZ2l2ZW4gaW4gYW55IG9mIHRoZSBwYXJhZ3JhcGhzLiIsImxldHRlcnMiOlsiQSIsIkIiLCJDIiwiRCIsIkUiXSwiaXRlbXMiOlt7Im4iOjEsInRleHQiOiJBbiBvZG9ybGVzcyBhbHRlcm5hdGl2ZSB0byBzdWxwaHVyIG1hdGNoZXMgd2FzIGludmVudGVkIHVzaW5nIGEgZGlmZmVyZW50IGNoZW1pY2FsLiIsImtleSI6M30seyJuIjoyLCJ0ZXh0IjoiTGVnaXNsYXRpb24gd2FzIG5lY2Vzc2FyeSB0byBlbmQgdGhlIGZhYnJpY2F0aW9uIG9mIG9uZSB0eXBlIG9mIG1hdGNoLiIsImtleSI6M30seyJuIjozLCJ0ZXh0IjoiVGhlIGdsb2JhbCBkZW1hbmQgZm9yIG1hdGNoZXMgaGFzIHN0ZWFkaWx5IGluY3JlYXNlZCBmb3IgMjAwIHllYXJzLiIsImtleSI6NX0seyJuIjo0LCJ0ZXh0IjoiVGhlIGZpcnN0IEV1cm9wZWFucyB0byBpbnZlbnQgbWF0Y2hlcyB3ZXJlIGFwcGFyZW50bHkgdW5hd2FyZSBvZiBlYXJsaWVyIHZlcnNpb25zIGRldmVsb3BlZCBlbHNld2hlcmUuIiwia2V5IjoxfSx7Im4iOjUsInRleHQiOiJPbmUgZW50cmVwcmVuZXVyIHR1cm5lZCBhIGNoZW1pc3RcdTIwMTlzIGlubm92YXRpdmUgbmV3IG1hdGNoIHR5cGUgaW50byBhIGJ1c2luZXNzIHZlbnR1cmUuIiwia2V5IjoyfSx7Im4iOjYsInRleHQiOiJBIG1vZGVybiBhbmQgdXAtdG8tZGF0ZSBFdXJvcGVhbiBtYXRjaCBmYWN0b3J5IGlzIGhpZ2hseSBwcm9kdWN0aXZlLiIsImtleSI6NH0seyJuIjo3LCJ0ZXh0IjoiT25lIGludmVudG9yIGRldmVsb3BlZCBhIG1hdGNoc3RpY2sgYm94IHdob3NlIGZyaWN0aW9uLXByb2R1Y2luZyBzdXJmYWNlIHdhcyBvbiB0aGUgaW5zaWRlLiIsImtleSI6NH0seyJuIjo4LCJ0ZXh0IjoiU2FtdWVsIEpvbmVzIHdhcyBhIGZyaWVuZCBvZiBKb2huIFdhbGtlci4iLCJrZXkiOjV9LHsibiI6OSwidGV4dCI6IkluIEZyYW5jZSBkdXJpbmcgdGhlIGVhcmx5IDE4MDBzLCBtYXRjaCB0aXBzIHdlcmUgaW1tZXJzZWQgaW4gYSBjaGVtaWNhbCB0byBwcm9kdWNlIGNvbWJ1c3Rpb24uIiwia2V5IjoxfV19XX0seyJpZCI6NCwibmFtZSI6IlJlYWRpbmcgUGFydCA0OiBSZWFkaW5nIGZvciBWaWV3cG9pbnRzIiwidGltZSI6IjEyIG1pbnV0ZXMiLCJwYXNzYWdlIjp7InR5cGUiOiJ0ZXh0IiwibGFiZWwiOiJSZWFkIHRoZSBmb2xsb3dpbmcgYXJ0aWNsZSBmcm9tIGEgd2Vic2l0ZS4iLCJodG1sIjoiPHA+Rm9sbG93aW5nIHRoZSBhZHZpY2Ugb2YgZXhwZXJ0cywgbW9yZSBhbmQgbW9yZSBoZWFsdGgtY29uc2Npb3VzIGNvbnN1bWVycyBhcmUgY29uc3VtaW5nIGZpc2ggYXQgbGVhc3QgdHdpY2UgYSB3ZWVrIGZvciB0aGUgaGVhcnQtaGVhbHRoeSBiZW5lZml0IG9mIGVzc2VudGlhbCBvbWVnYS0zIGZhdHR5IGFjaWRzLiBOdXRyaXRpb25pc3QgQW5keSBWZWlub3Qgbm90IG9ubHkgdXJnZXMgY29uc3VtZXJzIHRvIGVuc3VyZSB0aGVpciBmaXNoIGNob2ljZXMgY29udGFpbiBzdWZmaWNpZW50IGxldmVscyBvZiBvbWVnYS0zIGZhdHR5IGFjaWRzLCBidXQgYWxzbyB0byB2ZXJpZnkgdGhhdCB0aGUgZmlzaCBpcyBmcmVlIG9mIGNvbnRhbWluYW50cy4gVmVpbm90IGFkZHMgdGhhdCB0aGUgbGF0dGVyIGlzIHVzdWFsbHkgbm90IGFwcGxpY2FibGUgdG8gQ2FuYWRhIGR1ZSB0byBmZWRlcmFsIHJlZ3VsYXRpb25zLjwvcD48cD5BcXVhY3VsdHVyZSwgb3IgZmlzaCBmYXJtaW5nLCBwcm9kdWNlcyBhYm91dCBvbmUgdGhpcmQgb2YgdGhlIHdvcmxkJnJzcXVvO3Mgc2VhZm9vZC4gTW9zdCBvZiB0aGUgc2hyaW1wLCBzYWxtb24sIGFuZCB0aWxhcGlhIGZvdW5kIGluIGdyb2Nlcnkgc3RvcmVzIGlzIGZhcm1lZC4gJmxkcXVvO0lmIHdlIGRpZG4mcnNxdW87dCBoYXZlIGFxdWFjdWx0dXJlLCB3ZSB3b3VsZG4mcnNxdW87dCBoYXZlIHNvIG11Y2ggZmlzaCBhdmFpbGFibGUsJnJkcXVvOyBzYXlzIE1hcmlhIENvcmRvdmEsIHdobyBwcmVwYXJlcyBmaXNoIGZvciBoZXIgZmFtaWx5IHRocmVlIHRpbWVzIGEgd2Vlay4gJmxkcXVvO0Zhcm1lZCBmaXNoIGlzIG1vcmUgcmVhc29uYWJseSBwcmljZWQgdGhhbiB3aWxkIGZpc2ggYW5kIGlzIG9uIGhhbmQgYXQgdGhlIG1hcmtldCBldmVyeSBkYXkuJnJkcXVvOyBDYXRjaGluZyBmYXJtZWQgZmlzaCBkb2VzbiZyc3F1bzt0IGRlcGVuZCBvbiB0aGUgd2VhdGhlciBvciBvbiBnb3Zlcm5tZW50LXNldCBxdW90YXMsIGJvdGggb2Ygd2hpY2ggYWZmZWN0IGZpc2hpbmcgaW4gdGhlIHdpbGQuIERlcGFydG1lbnQgb2YgQXF1YWN1bHR1cmUgcmVwcmVzZW50YXRpdmUgTWFyY3VzIERlU2lsdmEgYXJndWVzIHRoYXQgYXF1YWN1bHR1cmUgaGVscHMgcHJlc2VydmUgdGhlIGVjb2xvZ3kgb2YgdGhlIHdpbGQgc3BlY2llczsgdGh1cywgb3ZlcmZpc2hpbmcgYW5kIHRoZSBlbmRhbmdlcm1lbnQgb2YgZmlzaCBzcGVjaWVzIGFyZSBsZXNzIHByZXZhbGVudC4gJmxkcXVvO1dpbGQgZmlzaCBtYXkgaGF2ZSBncmVhdGVyIGZsYXZvdXIsIGJldHRlciBhcHBlYXJhbmNlLCBhbmQgYmV0dGVyIG51dHJpdGlvbiwgYnV0IGZhcm1lZCBmaXNoIGlzIG1vcmUgYWNjZXNzaWJsZSBhbmQgbW9yZSBlY29sb2d5LW1pbmRlZCwmcmRxdW87IGhlIHNheXMuPC9wPjxwPkNyaXRpY3Mgb2YgYXF1YWN1bHR1cmUgYXJlIHByaW1hcmlseSBjb25jZXJuZWQgYWJvdXQgY29udGFtaW5hbnRzLiBGaXNoZXJtZW4gY29udHJvbCB0aGUgZGlldHMgb2YgZmFybWVkIGZpc2ggYW5kIGluc2VydCBhZGRpdGl2ZXMgaW4gdGhlIGZvb2QuIFZlaW5vdCBwb2ludHMgb3V0IHRoYXQgdGhpcyBpcyB3aGVyZSBwcm9ibGVtcyBjYW4gYXJpc2UuICZsZHF1bztUaGUgY29tcG9uZW50cyBvZiB0aGUgZm9vZCBtYXkgbm90IGJlIGhlYWx0aHksJnJkcXVvOyBoZSBzYXlzLiBBbmdlbGEgQ3Jpc3Bpbm8sIHByZXNpZGVudCBvZiB0aGUgQ291bmNpbCBmb3IgQXF1YWN1bHR1cmUgUmVmb3JtLCBjYXJyaWVzIHRoZSBhcmd1bWVudCBmdXJ0aGVyLiAmbGRxdW87VGhlIGZpc2ggZmFybSBlbnZpcm9ubWVudCBvZiB0aWdodGx5IG1hc3NlZC10b2dldGhlciBmaXNoIGluIHRoZSBwZW5zIGNhdXNlcyBncmVhdGVyIHN1c2NlcHRpYmlsaXR5IHRvIGRpc2Vhc2UgYW5kLCBjb25zZXF1ZW50bHksIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiBoaWdoIGRvc2VzIG9mIGFudGliaW90aWNzLiBUaGlzIGlzIGhhcm1mdWwgdG8gY29uc3VtZXJzLiZyZHF1bzsgQ3Jpc3Bpbm8gYWRkcyB0aGF0IHRoZSB3YXRlciBpcyB1c3VhbGx5IGNvbnRhbWluYXRlZCwgZWl0aGVyIGZyb20gdGhlIGZpc2ggdGhlbXNlbHZlcyBvciBmcm9tIG90aGVyIGVudmlyb25tZW50YWwgZmFjdG9ycy4gTm9uZXRoZWxlc3MsIG1lZGljYWwgcHJvZmVzc2lvbmFscyBhbmQgbnV0cml0aW9uaXN0cyBtYWludGFpbiB0aGF0IG1hbnkgZm9vZHMgY29udGFpbiBhZGRpdGl2ZXMgbm93YWRheXMsIGJ1dCB0aGUgYmVuZWZpdHMgb2YgZWF0aW5nIGZpc2ggZmFyIG91dHdlaWdoIGFueSBwZXJjZWl2ZWQgZGlzYWR2YW50YWdlcy48L3A+In0sImJsb2NrcyI6W3sidHlwZSI6InN0ZW1saXN0IiwiaW5zdHIiOiJVc2luZyB0aGUgZHJvcC1kb3duIG1lbnUgKCAmIzk2NjI7ICksIGNob29zZSB0aGUgYmVzdCBvcHRpb24gYWNjb3JkaW5nIHRvIHRoZSBpbmZvcm1hdGlvbiBnaXZlbiBvbiB0aGUgd2Vic2l0ZS4iLCJpdGVtcyI6W3sibiI6MSwicHJlIjoiRmlzaGluZyBpbiB0aGUgd2lsZCBpcyBjb250cm9sbGVkIGJ5Iiwib3B0aW9ucyI6WyJlY29sb2dpc3RzXHUyMDE5IGFkdmljZS4iLCJpbXBvc2VkIGxpbWl0cy4iLCJtYXJrZXQgZGVtYW5kLiIsIm51bWJlciBvZiBmaXNoZXJzLiJdLCJrZXkiOjJ9LHsibiI6MiwicHJlIjoiQmFzZWQgb24gdGhlIGFydGljbGUsIGhlYWx0aCBleHBlcnRzIHdhbnQgcGVvcGxlIHRvIiwib3B0aW9ucyI6WyJsaW1pdCB0aGVpciB1c2Ugb2YgYW50aWJpb3RpY3MuIiwiYXZvaWQgY29uc3VtaW5nIGZhcm1lZCBmaXNoLiIsImJlIGNvZ25pemFudCBvZiBmb29kIGNvbnRlbnQuIiwiYWR2b2NhdGUgc3RyaWN0IGZvb2QgcmVndWxhdGlvbnMuIl0sImtleSI6M30seyJuIjozLCJwcmUiOiJTb21lIHBlb3BsZSBmYXZvdXIgYXF1YWN1bHR1cmUgYmVjYXVzZSBpdCIsIm9wdGlvbnMiOlsicHJvdmlkZXMgYW4gYWRkZWQgYm9vc3QgdG8gdGhlIGVjb25vbXkuIiwiY3JlYXRlcyBhIGdyZWF0ZXIgdmFyaWV0eSBvZiBmaXNoIGNob2ljZXMuIiwiaXMgc3VwZXJpb3IgaW4gYXBwZWFyYW5jZSBhbmQgZmxhdm91ci4iLCJpcyBtb3JlIGNvbnZlbmllbnQgYW5kIGNvc3QtZWZmZWN0aXZlLiJdLCJrZXkiOjR9LHsibiI6NCwicHJlIjoiQ29yZG92YSB3b3VsZCBtb3N0IGxpa2VseSBhZ3JlZSB0aGF0IGZhcm1lZCBmaXNoIGlzIiwib3B0aW9ucyI6WyJhIHdpbi13aW4gc2l0dWF0aW9uLiIsImFuIHVubmVjZXNzYXJ5IGV2aWwuIiwic2NhcmNlbHkgYXZhaWxhYmxlLiIsImdlbmVyYWxseSBwcmljZXkuIl0sImtleSI6MX0seyJuIjo1LCJwcmUiOiJDcmlzcGlubyB3b3VsZCBtb3N0IGxpa2VseSBhZ3JlZSB0aGF0Iiwib3B0aW9ucyI6WyJvY2VhbnMgYXJlIGJlY29taW5nIHRvbyBjb250YW1pbmF0ZWQuIiwiYXF1YWN1bHR1cmUgcHJhY3RpY2VzIG5lZWQgcmUtZXhhbWluaW5nLiIsImZhcm1lZCBmaXNoIHByb3ZpZGVzIGFkZGVkIG51dHJpdGlvbi4iLCJ0aGUgaW5jaWRlbmNlIG9mIGZpc2ggZGlzZWFzZSBpcyByaXNpbmcuIl0sImtleSI6Mn1dfSx7InR5cGUiOiJjbG96ZSIsImluc3RyIjoiVGhlIGZvbGxvd2luZyBpcyBhIGNvbW1lbnQgYnkgYSB2aXNpdG9yIHRvIHRoZSB3ZWJzaXRlIHBhZ2UuIENvbXBsZXRlIHRoZSBjb21tZW50IGJ5IGNob29zaW5nIHRoZSBiZXN0IG9wdGlvbiB0byBmaWxsIGluIGVhY2ggYmxhbmsuIiwiYm9keSI6WyJUaGlzIGNvbnRyb3ZlcnN5IGFib3V0IGZhcm1lZCBmaXNoIGlzIG5ldyB0byBtZS4gSSBkaWRuXHUyMDE5dCBrbm93IHRoYXQgdGhlIHNhbG1vbiBJIGJ1eSBpcyBmYXJtZWQgYW5kLCB0aGVyZWZvcmUsIix7ImIiOjYsIm9wdGlvbnMiOlsicG9sbHV0aW9uLWNhdXNpbmciLCJzdWJzdGFuZGFyZCIsIm1vcmUgd2hvbGVzb21lIiwidW5lY29ub21pY2FsIl0sImtleSI6Mn0sIi4gSSBhbHdheXMgY2hlY2sgdGhhdCBteSBmaXNoIGNob2ljZSBpcyBoaWdoIGluIG9tZWdhLTMgZmF0dHkgYWNpZHMgYmVjYXVzZSBteSBodXNiYW5kIG5lZWRzIHRoaXMgZm9yIGhpcyBoZWFydCwgYnV0IEkgaGFkIG5vIGlkZWEgYWJvdXQiLHsiYiI6Nywib3B0aW9ucyI6WyJ1bmRlc2lyYWJsZSBzdXBwbGVtZW50cyIsImVudmlyb25tZW50YWwgcmFtaWZpY2F0aW9ucyIsImhvcm1vbmFsIHNpZGUtZWZmZWN0cyIsImNvbnRyYWJhbmQgYW50aWJpb3RpY3MiXSwia2V5IjoxfSwiLiBXZSByZWNlbnRseSByZWFkIGFib3V0IGhvdyIseyJiIjo4LCJvcHRpb25zIjpbImZhcm0gcGVucyIsImFudGliaW90aWNzIiwiZmlzaCBkaWV0cyIsIm9tZWdhLTNzIl0sImtleSI6Mn0sIm5vIGxvbmdlciB3b3JrIGFzIHRoZXkgc2hvdWxkLCBhbmQgbWF5YmUgZG9zaW5nIGZhcm1lZCBmaXNoIHdpdGggdGhlbSBpcyBwYXJ0IG9mIHRoYXQgcHJvYmxlbS4gSG93ZXZlciwgd29ycnlpbmcgYWJvdXQgZmlzaCIseyJiIjo5LCJvcHRpb25zIjpbInN3aW1taW5nIGZyZWVseSIsImxpdmluZyBuYXR1cmFsbHkiLCJiZWluZyBjcmFtbWVkIiwiaGF2aW5nIGRpc2Vhc2VzIl0sImtleSI6M30sImluIHJlc3RyaWN0ZWQgYXJlYXMgaXMgcmlkaWN1bG91cy4gSVx1MjAxOW0gbm90IGNvbnZpbmNlZCB0aGF0IGZpc2ggYXBwcmVjaWF0ZSB0aGUgZXhwYW5zZSBvZiB0aGUgbGFrZXMgYW5kIG9jZWFucyBvZiB0aGVpciBuYXR1cmFsIGhhYml0YXQuIEV2ZW4gc28sIEkgYWdyZWUgd2l0aCBEZVNpbHZhIHRoYXQgd2Ugc2hvdWxkIix7ImIiOjEwLCJvcHRpb25zIjpbImNob29zZSB0byBwdXJjaGFzZSIsImNvbnN1bWUgbXVjaCBtb3JlIiwiaW5jcmVhc2UgdGhlIHF1b3RhcyBvZiIsInNhZmVndWFyZCB0aGUgc3RvY2tzIG9mIl0sImtleSI6NH0sIndpbGQgZmlzaC4iXX1dfV19OwoKZnVuY3Rpb24gY2xiRXN0aW1hdGVSKHJhdyl7CiAgaWYgKHJhdyA+PSAzNSkgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCAxMFx1MjAxMzEyJywgbm90ZTonQWR2YW5jZWQgcHJvZmljaWVuY3knIH07CiAgaWYgKHJhdyA+PSAzMCkgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCA5JywgIG5vdGU6J0VmZmVjdGl2ZSBwcm9maWNpZW5jeScgfTsKICBpZiAocmF3ID49IDI3KSByZXR1cm4geyBsZXZlbDonQ0VMUElQIDgnLCAgbm90ZTonR29vZCBwcm9maWNpZW5jeScgfTsKICBpZiAocmF3ID49IDIyKSByZXR1cm4geyBsZXZlbDonQ0VMUElQIDcnLCAgbm90ZTonQWRlcXVhdGUgcHJvZmljaWVuY3knIH07CiAgaWYgKHJhdyA+PSAxNykgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCA2JywgIG5vdGU6J0RldmVsb3BpbmcgcHJvZmljaWVuY3knIH07CiAgaWYgKHJhdyA+PSAxMSkgcmV0dXJuIHsgbGV2ZWw6J0NFTFBJUCA1JywgIG5vdGU6J0FjcXVpcmluZyBwcm9maWNpZW5jeScgfTsKICByZXR1cm4geyBsZXZlbDonQ0VMUElQIDQgb3IgYmVsb3cnLCBub3RlOidLZWVwIHByYWN0aWNpbmchJyB9Owp9CgooZnVuY3Rpb24oKXsKICAvKiAtLS0tIGluamVjdCBzY29wZWQgQ1NTIChXb3JkUHJlc3Mtc2FmZTogPHN0eWxlPiBpbiBjb250ZW50IGNhbiBiZSBzdHJpcHBlZCkgLS0tLSAqLwogIHZhciBDU1MgPSBgCi5jbHByLXdyYXB7LS1uYXZ5OiMwNTBFMjA7LS1iOTAwOiMwRDIzNTI7LS1iNzAwOiMxMjQ1QTg7LS1iNTAwOiMyNTYzRUI7LS1iNDAwOiMzQjgyRjY7LS1iMjAwOiM5M0M1RkQ7LS1iMTAwOiNEQkVBRkU7LS1iNTA6I0VGRjZGRjstLXRlYWw6IzBEOTQ4ODstLWN5YW46IzA2QjZENDstLWdyZWVuOiMxMEI5ODE7LS1ncmVlbjUwOiNFQ0ZERjU7LS1yb3NlOiNGNDNGNUU7LS10ZXh0OiMwRjE3MkE7LS1tdXRlZDojNDc1NTY5Oy0tc3VidGxlOiM5NEEzQjg7LS1ib3JkZXI6I0UyRThGMDstLWJhci1iZzojRThFQkVGOy0tYmFyLWJvcmRlcjojRDNEOUUwOy0tYmFyLXRleHQ6IzFGMjkzNzstLXBhbmVsLXAtYmc6I0Y0RjVGNzstLXBhbmVsLXAtYm9yZGVyOiNFM0U2RUE7LS1wYW5lbC1xLWJnOiNFOUY0Rjc7LS1wYW5lbC1xLWJvcmRlcjojRDZFOEVEOy0tZGQtb3Blbi1iZzojQ0JFQkY0O2ZvbnQtZmFtaWx5OidQbHVzIEpha2FydGEgU2Fucycsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sU2Vnb2UgVUksUm9ib3RvLHNhbnMtc2VyaWY7Y29sb3I6dmFyKC0tdGV4dCk7bWF4LXdpZHRoOjExODBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MTZweCAxNnB4IDU2cHg7bGluZS1oZWlnaHQ6MS41O2ZvbnQtc2l6ZToxNnB4O30KLmNscHItd3JhcCAqLC5jbHByLXdyYXAgKjo6YmVmb3JlLC5jbHByLXdyYXAgKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94O30KLmNscHItd3JhcCBidXR0b257Zm9udC1mYW1pbHk6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjt9Ci5jbHByLXdyYXAgaDEsLmNscHItd3JhcCBoMiwuY2xwci13cmFwIGgzLC5jbHByLXdyYXAgcHttYXJnaW46MDt9Ci5jbHByLWhlcm97cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MjJweDtiYWNrZ3JvdW5kOnZhcigtLW5hdnkpO2NvbG9yOiNmZmY7cGFkZGluZzozNHB4IDM4cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTNweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaGFkb3c6MCAyMHB4IDQwcHggLTIwcHggcmdiYSg1LDE0LDMyLC40NSk7fQouY2xwci1hdXJvcmF7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO30KLmNscHItYXVyb3JhIHNwYW57cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOjUwJTtmaWx0ZXI6Ymx1cig0NnB4KTtvcGFjaXR5Oi41NTt9Ci5jbHByLWF1cm9yYSBzcGFuOm50aC1jaGlsZCgxKXt3aWR0aDo0MjBweDtoZWlnaHQ6NDIwcHg7bGVmdDotMTIwcHg7dG9wOi0yMDBweDtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsIzEyNDVBOCAwJSx0cmFuc3BhcmVudCA3MCUpO30KLmNscHItYXVyb3JhIHNwYW46bnRoLWNoaWxkKDIpe3dpZHRoOjM4MHB4O2hlaWdodDozODBweDtyaWdodDotODBweDt0b3A6LTE2MHB4O2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjMEQ5NDg4IDAlLHRyYW5zcGFyZW50IDcwJSk7fQouY2xwci1hdXJvcmEgc3BhbjpudGgtY2hpbGQoMyl7d2lkdGg6MzQwcHg7aGVpZ2h0OjM0MHB4O3JpZ2h0OjIyJTtib3R0b206LTI0MHB4O2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjMjU2M0VCIDAlLHRyYW5zcGFyZW50IDcwJSk7fQouY2xwci1oZXJvLWJhZGdlc3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO3Bvc2l0aW9uOnJlbGF0aXZlO30KLmNscHItYmFkZ2UtYnJhbmR7YmFja2dyb3VuZDojZmZmO2NvbG9yOnZhcigtLWI5MDApO2ZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTNweDtwYWRkaW5nOjRweCAxMXB4O2JvcmRlci1yYWRpdXM6OTk5cHg7bGV0dGVyLXNwYWNpbmc6LjAxZW07fQouY2xwci1iYWRnZS1zZXR7Y29sb3I6dmFyKC0tYjIwMCk7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO30KLmNscHItaGVybyBoMXtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6Y2xhbXAoMjZweCw0dncsNDBweCk7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOi0uMDJlbTtsaW5lLWhlaWdodDoxLjEyO30KLmNscHItaGVyby1zdWJ7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6I0M3RDJFMztmb250LXNpemU6MTQuNXB4O21heC13aWR0aDo3NjBweDt9Ci5jbHByLWhlcm8tY2hpcHN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7ZmxleC13cmFwOndyYXA7cG9zaXRpb246cmVsYXRpdmU7fQouY2xwci1jaGlwe2ZvbnQtc2l6ZToxMi41cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiNFNUVFRkI7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNik7cGFkZGluZzo1cHggMTFweDtib3JkZXItcmFkaXVzOjk5OXB4O30KLmNscHItY3Rhe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4O2JhY2tncm91bmQ6dmFyKC0tYjUwMCk7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE1cHg7cGFkZGluZzoxMnB4IDIycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCAxMnB4IDI0cHggLTEwcHggcmdiYSgzNyw5OSwyMzUsLjgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMsYmFja2dyb3VuZCAuMTVzO30KLmNscHItY3RhOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JhY2tncm91bmQ6dmFyKC0tYjQwMCk7fQouY2xwci10b29sYmFye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWFyZ2luLXRvcDoxOHB4O3BhZGRpbmc6MTBweCAxNHB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6MCA2cHggMThweCAtMTJweCByZ2JhKDE1LDIzLDQyLC4yNSk7cG9zaXRpb246c3RpY2t5O3RvcDo4cHg7ei1pbmRleDozMDt9Ci5jbHByLXRvb2xiYXJbaGlkZGVuXXtkaXNwbGF5Om5vbmU7fQouY2xwci10b29sYmFyLXNwYWNlcntmbGV4OjE7fQouY2xwci1zY29yZS1jaGlwe2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1iOTAwKTtiYWNrZ3JvdW5kOnZhcigtLWI1MCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1iMTAwKTtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7fQouY2xwci10YnRue2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6OHB4IDE1cHg7Ym9yZGVyLXJhZGl1czoxMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xMnMsYm94LXNoYWRvdyAuMTJzO30KLmNscHItdGJ0bjpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNnB4IDE0cHggLThweCByZ2JhKDE1LDIzLDQyLC4zKTt9Ci5jbHByLXRidG4tY2hlY2t7YmFja2dyb3VuZDp2YXIoLS1ncmVlbik7Ym9yZGVyLWNvbG9yOnZhcigtLWdyZWVuKTtjb2xvcjojZmZmO30KLmNscHItdGJ0bi1jaGVjazpob3ZlcntiYWNrZ3JvdW5kOiMwY2E2Nzg7fQouY2xwci10YnRuW2Rpc2FibGVkXXtvcGFjaXR5Oi41O2N1cnNvcjpub3QtYWxsb3dlZDt0cmFuc2Zvcm06bm9uZTtib3gtc2hhZG93Om5vbmU7fQouY2xwci1zaW17bWFyZ2luLXRvcDoxNnB4O30KLmNscHItc2ltW2hpZGRlbl17ZGlzcGxheTpub25lO30KLmNscHItZG90c3tkaXNwbGF5OmZsZXg7Z2FwOjhweDttYXJnaW46MCAwIDEycHggMnB4O2ZsZXgtd3JhcDp3cmFwO30KLmNscHItZG90e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7Zm9udC1zaXplOjEyLjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo2cHggMTJweDtib3JkZXItcmFkaXVzOjk5OXB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4xNXM7fQouY2xwci1kb3QgYntkaXNwbGF5OmlubGluZS1mbGV4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1iMTAwKTtjb2xvcjp2YXIoLS1iOTAwKTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTFweDt9Ci5jbHByLWRvdC5jbHByLWN1cntiYWNrZ3JvdW5kOnZhcigtLWI1MDApO2JvcmRlci1jb2xvcjp2YXIoLS1iNTAwKTtjb2xvcjojZmZmO30KLmNscHItZG90LmNscHItY3VyIGJ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yNSk7Y29sb3I6I2ZmZjt9Ci5jbHByLWRvdC5jbHByLWRvbmUgYntiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKTtjb2xvcjojZmZmO30KLmNscHItY2F0e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJhci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDEwcHggMzBweCAtMThweCByZ2JhKDE1LDIzLDQyLC40KTt9Ci5jbHByLWJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTFweCAxNnB4O2JhY2tncm91bmQ6dmFyKC0tYmFyLWJnKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1iYXItYm9yZGVyKTt9Ci5jbHByLWJhci10aXRsZXtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYmFyLXRleHQpO2ZsZXg6MTttaW4td2lkdGg6MDt9Ci5jbHByLWJhci10aW1lcntmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1iYXItdGV4dCk7d2hpdGUtc3BhY2U6bm93cmFwO30KLmNscHItYmFyLXRpbWVyIGJ7Zm9udC13ZWlnaHQ6ODAwO30KLmNscHItY29sc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjA7fQouY2xwci1wYXNzYWdle3BhZGRpbmc6MjBweCAyMnB4O2JhY2tncm91bmQ6dmFyKC0tcGFuZWwtcC1iZyk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1wYW5lbC1wLWJvcmRlcik7bWF4LWhlaWdodDoxMjAwcHg7b3ZlcmZsb3c6YXV0bzt9Ci5jbHByLXFjb2x7cGFkZGluZzoxOHB4IDIycHg7YmFja2dyb3VuZDp2YXIoLS1wYW5lbC1xLWJnKTttYXgtaGVpZ2h0OjEyMDBweDtvdmVyZmxvdzphdXRvO30KLmNscHItcGxhYmVsLC5jbHByLWluc3Rye2Rpc3BsYXk6ZmxleDtnYXA6OXB4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWI5MDApO21hcmdpbi1ib3R0b206MTJweDt9Ci5jbHByLXBsYWJlbDo6YmVmb3JlLC5jbHByLWluc3RyOjpiZWZvcmV7Y29udGVudDoiaSI7ZmxleDpub25lO3dpZHRoOjE3cHg7aGVpZ2h0OjE3cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1iNTAwKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjgwMDtmb250LXN0eWxlOml0YWxpYztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxcHg7fQouY2xwci1wYXNzYWdlIHB7Zm9udC1zaXplOjE0LjVweDtjb2xvcjojMWUyYTNhO21hcmdpbi1ib3R0b206MTFweDtsaW5lLWhlaWdodDoxLjcyO30KLmNscHItcGltZ3t3aWR0aDoxMDAlO2hlaWdodDphdXRvO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcGFuZWwtcC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6I2ZmZjtkaXNwbGF5OmJsb2NrO30KLmNscHItYmxvY2t7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcGFuZWwtcS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjE2cHggMTZweDttYXJnaW4tYm90dG9tOjE2cHg7fQouY2xwci1zdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmbGV4LXdyYXA6d3JhcDtmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS10ZXh0KTtwYWRkaW5nOjlweCAwO2xpbmUtaGVpZ2h0OjEuNzt9Ci5jbHByLXN0ZW0gKyAuY2xwci1zdGVte2JvcmRlci10b3A6MXB4IGRhc2hlZCAjRTZFREYxO30KLmNscHItc251bXtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tYjcwMCk7fQouY2xwci1jbG96ZXtmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS10ZXh0KTtsaW5lLWhlaWdodDoyLjE1O30KLmNscHItY2xvemUgLmNscHItcGFyYXttYXJnaW4tYm90dG9tOjEycHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7fQouY2xwci1tYXRjaC1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7cGFkZGluZzoxMXB4IDA7Zm9udC1zaXplOjE0LjVweDtsaW5lLWhlaWdodDoxLjY7fQouY2xwci1tYXRjaC1yb3cgKyAuY2xwci1tYXRjaC1yb3d7Ym9yZGVyLXRvcDoxcHggZGFzaGVkICNFNkVERjE7fQouY2xwci1tYXRjaC1yb3cgLmNscHItc251bXttYXJnaW4tdG9wOjVweDt9Ci8qIGRyb3Bkb3duIHdpZGdldCAqLwouY2xwci1kZHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MnB4IDJweDt9Ci5jbHByLWRkLWJ0bntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi13aWR0aDo2NHB4O21heC13aWR0aDozNDBweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjQjdDMkNFO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NXB4IDlweDtmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuMzU7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzLGJvcmRlci1jb2xvciAuMTJzO30KLmNscHItZGQtYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYjUwKTtib3JkZXItY29sb3I6dmFyKC0tYjQwMCk7fQouY2xwci1kZC5jbHByLW9wZW4gLmNscHItZGQtYnRue2JhY2tncm91bmQ6dmFyKC0tZGQtb3Blbi1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWI0MDApO30KLmNscHItZGQtdHh0e2ZsZXg6MTttaW4td2lkdGg6MDt9Ci5jbHByLWRkLXR4dC5jbHByLWVtcHR5e2NvbG9yOnZhcigtLXN1YnRsZSk7bGV0dGVyLXNwYWNpbmc6M3B4O30KLmNscHItZGQtY2FyZXR7Zm9udC1zaXplOjlweDtjb2xvcjp2YXIoLS1iNzAwKTtmbGV4Om5vbmU7fQouY2xwci1kZC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjA7dG9wOmNhbGMoMTAwJSArIDRweCk7bGVmdDowO21pbi13aWR0aDoyNDBweDttYXgtd2lkdGg6MzYwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0M2RDBEQTtib3JkZXItcmFkaXVzOjhweDtib3gtc2hhZG93OjAgMTZweCAzNHB4IC0xMnB4IHJnYmEoMTUsMjMsNDIsLjQpO3BhZGRpbmc6NXB4O2Rpc3BsYXk6bm9uZTt9Ci5jbHByLWRkLmNscHItb3BlbiAuY2xwci1kZC1tZW51e2Rpc3BsYXk6YmxvY2s7fQouY2xwci1kZC1vcHR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjlweDtwYWRkaW5nOjhweCA5cHg7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOjEzLjVweDtjb2xvcjp2YXIoLS10ZXh0KTtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxLjQ7fQouY2xwci1kZC1vcHQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iNTApO30KLmNscHItZGQtb3B0IC5jbHByLXJhZGlve2ZsZXg6bm9uZTt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxLjVweCBzb2xpZCAjOUFBN0I0O21hcmdpbi10b3A6MXB4O30KLmNscHItZGQtb3B0LmNscHItc2VsIC5jbHByLXJhZGlve2JvcmRlci1jb2xvcjp2YXIoLS1iNTAwKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsIzI1NjNFQiA0MiUsI2ZmZiA0NyUpO30KLmNscHItZGQuY2xwci1yaWdodCAuY2xwci1kZC1idG57YmFja2dyb3VuZDp2YXIoLS1ncmVlbjUwKTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWdyZWVuKTtjb2xvcjojMDQ3ODU3O30KLmNscHItZGQuY2xwci13cm9uZyAuY2xwci1kZC1idG57YmFja2dyb3VuZDojRkZGMUYyO2JvcmRlcjoycHggc29saWQgdmFyKC0tcm9zZSk7Y29sb3I6I0JFMTIzQzt9Ci5jbHByLXNvbHZlZHtkaXNwbGF5Om5vbmU7bWFyZ2luLWxlZnQ6N3B4O2ZvbnQtc2l6ZToxMi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwNDc4NTc7fQouY2xwci1kZC5jbHByLXdyb25nIC5jbHByLXNvbHZlZHtkaXNwbGF5OmlubGluZTt9Ci5jbHByLW5hdntkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxNHB4IDE4cHg7YmFja2dyb3VuZDp2YXIoLS1iYXItYmcpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJhci1ib3JkZXIpO30KLmNscHItbmF2YnRue2JhY2tncm91bmQ6dmFyKC0tYjkwMCk7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEzLjVweDtwYWRkaW5nOjlweCAyMHB4O2JvcmRlci1yYWRpdXM6OXB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xMnMsYmFja2dyb3VuZCAuMTJzO30KLmNscHItbmF2YnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYjcwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7fQouY2xwci1uYXZidG4uY2xwci1naG9zdHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6dmFyKC0tbXV0ZWQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYmFyLWJvcmRlcik7fQouY2xwci1uYXZidG5bZGlzYWJsZWRde29wYWNpdHk6LjQ7Y3Vyc29yOm5vdC1hbGxvd2VkO3RyYW5zZm9ybTpub25lO30KLmNscHItcmVzdWx0c3ttYXJnaW4tdG9wOjE4cHg7fQouY2xwci1yZXN1bHRzW2hpZGRlbl17ZGlzcGxheTpub25lO30KLmNscHItcmVzLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE4cHg7cGFkZGluZzoyNHB4IDI2cHg7Ym94LXNoYWRvdzowIDE2cHggNDBweCAtMjJweCByZ2JhKDE1LDIzLDQyLC40KTt9Ci5jbHByLXJlcy10b3B7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MjBweDtmbGV4LXdyYXA6d3JhcDt9Ci5jbHByLXJlcy1zY29yZXtmb250LXNpemU6NDRweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tYjcwMCk7bGluZS1oZWlnaHQ6MTt9Ci5jbHByLXJlcy1zY29yZSBzcGFue2ZvbnQtc2l6ZToyMHB4O2NvbG9yOnZhcigtLXN1YnRsZSk7fQouY2xwci1yZXMtY2xie2JhY2tncm91bmQ6dmFyKC0tYjUwKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWIxMDApO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjEwcHggMTZweDt9Ci5jbHByLXJlcy1jbGIgYntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxOHB4O2NvbG9yOnZhcigtLWI5MDApO30KLmNscHItcmVzLWNsYiBzbWFsbHtjb2xvcjp2YXIoLS1tdXRlZCk7fQouY2xwci1yZXMtYnJlYWt7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6MTZweDt9Ci5jbHByLXJlcy1waWxse2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1tdXRlZCk7YmFja2dyb3VuZDojRjFGNUY5O2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo2cHggMTNweDt9Ci5jbHByLXJlcy1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtnYXA6MTBweDttYXJnaW4tdG9wOjE4cHg7ZmxleC13cmFwOndyYXA7fQpAbWVkaWEobWF4LXdpZHRoOjgyMHB4KXsuY2xwci1jb2xze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fS5jbHByLXBhc3NhZ2V7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tcGFuZWwtcC1ib3JkZXIpO21heC1oZWlnaHQ6bm9uZTt9LmNscHItcWNvbHttYXgtaGVpZ2h0Om5vbmU7fX0KYDsKICB2YXIgc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOyBzdC50ZXh0Q29udGVudCA9IENTUzsgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdCk7CiAgdmFyIHdyYXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwcldyYXAnKTsKICB2YXIgc3RhcnRCdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwclN0YXJ0Jyk7CiAgdmFyIHRvb2xiYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xwclRvb2xiYXInKTsKICB2YXIgc2ltID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJTaW0nKTsKICB2YXIgZG90c0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJEb3RzJyk7CiAgdmFyIGNhdEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJDYXQnKTsKICB2YXIgcmVzdWx0c0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJSZXN1bHRzJyk7CiAgdmFyIHNjb3JlQ2hpcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByU2NvcmVDaGlwJyk7CiAgdmFyIGNoZWNrQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NscHJDaGVjaycpOwogIHZhciByZXNldEJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByUmVzZXQnKTsKCiAgdmFyIFEgPSBbXTsKICB2YXIgY3VyUGFydCA9IDA7CiAgdmFyIGNoZWNrZWQgPSBmYWxzZTsKCiAgZnVuY3Rpb24gZWwodGFnLCBjbHMsIGh0bWwpeyB2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7IGlmKGNscyllLmNsYXNzTmFtZT1jbHM7IGlmKGh0bWwhPW51bGwpZS5pbm5lckhUTUw9aHRtbDsgcmV0dXJuIGU7IH0KCiAgLyogQnVpbGQgdGhlIHBlcnNpc3RlbnQgcXVlc3Rpb24gbGlzdCBPTkNFOyBhdHRhY2ggLl9xIHRvIGVhY2ggaXRlbS9ibGFuayBzbwogICAgIHJlLXJlbmRlcmluZyBhIHBhcnQgcmV1c2VzIHRoZSBzYW1lIHN0YXRlIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgaXQuICovCiAgZnVuY3Rpb24gaW5pdFF1ZXN0aW9ucygpewogICAgUSA9IFtdOwogICAgUkRBVEEucGFydHMuZm9yRWFjaChmdW5jdGlvbihwYXJ0KXsKICAgICAgcGFydC5ibG9ja3MuZm9yRWFjaChmdW5jdGlvbihibGspewogICAgICAgIGlmKGJsay50eXBlPT09J2Nsb3plJyl7CiAgICAgICAgICBibGsuYm9keS5mb3JFYWNoKGZ1bmN0aW9uKHRvayl7IGlmKHR5cGVvZiB0b2s9PT0nb2JqZWN0Jyl7IHRvay5fcT17c2VsOm51bGwsa2V5OnRvay5rZXksbjp0b2suYixwYXJ0OnBhcnQuaWR9OyBRLnB1c2godG9rLl9xKTsgfSB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYmxrLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oaXQpeyBpdC5fcT17c2VsOm51bGwsa2V5Oml0LmtleSxuOml0Lm4scGFydDpwYXJ0LmlkfTsgUS5wdXNoKGl0Ll9xKTsgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gbWFrZURyb3Bkb3duKG9wdGlvbnMsIHFyZWYpewogICAgdmFyIGRkID0gZWwoJ3NwYW4nLCdjbHByLWRkJyk7CiAgICB2YXIgYnRuID0gZWwoJ2J1dHRvbicsJ2NscHItZGQtYnRuJyk7CiAgICB2YXIgdHh0ID0gZWwoJ3NwYW4nLCdjbHByLWRkLXR4dCBjbHByLWVtcHR5JywnICAgJyk7CiAgICB2YXIgY2FyZXQgPSBlbCgnc3BhbicsJ2NscHItZGQtY2FyZXQnLCdcdTI1YmUnKTsKICAgIGJ0bi5hcHBlbmRDaGlsZCh0eHQpOyBidG4uYXBwZW5kQ2hpbGQoY2FyZXQpOwogICAgdmFyIHNvbHZlZCA9IGVsKCdzcGFuJywnY2xwci1zb2x2ZWQnLCcnKTsKICAgIHZhciBtZW51ID0gZWwoJ3NwYW4nLCdjbHByLWRkLW1lbnUnKTsKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbihvcHQsIGkpewogICAgICB2YXIgbyA9IGVsKCdzcGFuJywnY2xwci1kZC1vcHQnKTsKICAgICAgby5hcHBlbmRDaGlsZChlbCgnc3BhbicsJ2NscHItcmFkaW8nKSk7CiAgICAgIG8uYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLG51bGwsb3B0KSk7CiAgICAgIG8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldil7CiAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgaWYoY2hlY2tlZCkgcmV0dXJuOwogICAgICAgIHFyZWYuc2VsID0gaSsxOwogICAgICAgIHR4dC50ZXh0Q29udGVudCA9IG9wdDsgdHh0LmNsYXNzTmFtZT0nY2xwci1kZC10eHQnOwogICAgICAgIG1lbnUucXVlcnlTZWxlY3RvckFsbCgnLmNscHItZGQtb3B0JykuZm9yRWFjaChmdW5jdGlvbih4KXt4LmNsYXNzTGlzdC5yZW1vdmUoJ2NscHItc2VsJyk7fSk7CiAgICAgICAgby5jbGFzc0xpc3QuYWRkKCdjbHByLXNlbCcpOwogICAgICAgIGNsb3NlQWxsKCk7CiAgICAgICAgdXBkYXRlU2NvcmVDaGlwKCk7CiAgICAgIH0pOwogICAgICBtZW51LmFwcGVuZENoaWxkKG8pOwogICAgfSk7CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldil7CiAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBpZihjaGVja2VkKSByZXR1cm47CiAgICAgIHZhciB3YXNPcGVuID0gZGQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjbHByLW9wZW4nKTsKICAgICAgY2xvc2VBbGwoKTsKICAgICAgaWYoIXdhc09wZW4pIGRkLmNsYXNzTGlzdC5hZGQoJ2NscHItb3BlbicpOwogICAgfSk7CiAgICBkZC5hcHBlbmRDaGlsZChidG4pOyBkZC5hcHBlbmRDaGlsZChzb2x2ZWQpOyBkZC5hcHBlbmRDaGlsZChtZW51KTsKICAgIHFyZWYuZGRFbCA9IGRkOyBxcmVmLnR4dEVsID0gdHh0OyBxcmVmLnNvbHZlZEVsID0gc29sdmVkOyBxcmVmLm9wdGlvbnMgPSBvcHRpb25zOwogICAgaWYocXJlZi5zZWwhPW51bGwpewogICAgICB0eHQudGV4dENvbnRlbnQgPSBvcHRpb25zW3FyZWYuc2VsLTFdOyB0eHQuY2xhc3NOYW1lPSdjbHByLWRkLXR4dCc7CiAgICAgIHZhciBzbyA9IG1lbnUucXVlcnlTZWxlY3RvckFsbCgnLmNscHItZGQtb3B0JylbcXJlZi5zZWwtMV07IGlmKHNvKSBzby5jbGFzc0xpc3QuYWRkKCdjbHByLXNlbCcpOwogICAgfQogICAgcmV0dXJuIGRkOwogIH0KICBmdW5jdGlvbiBjbG9zZUFsbCgpeyB3cmFwLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jbHByLWRkLmNscHItb3BlbicpLmZvckVhY2goZnVuY3Rpb24oZCl7ZC5jbGFzc0xpc3QucmVtb3ZlKCdjbHByLW9wZW4nKTt9KTsgfQogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2xvc2VBbGwpOwoKICBmdW5jdGlvbiBidWlsZFBhcnQocGkpewogICAgdmFyIHBhcnQgPSBSREFUQS5wYXJ0c1twaV07CiAgICBjYXRFbC5pbm5lckhUTUw9Jyc7CiAgICB2YXIgYmFyID0gZWwoJ2RpdicsJ2NscHItYmFyJyk7CiAgICBiYXIuYXBwZW5kQ2hpbGQoZWwoJ2RpdicsJ2NscHItYmFyLXRpdGxlJywgJ1ByYWN0aWNlIFRlc3QgMSBcdTIwMTMgJytwYXJ0Lm5hbWUpKTsKICAgIGJhci5hcHBlbmRDaGlsZChlbCgnZGl2JywnY2xwci1iYXItdGltZXInLCdTdWdnZXN0ZWQgdGltZTogPGI+JytwYXJ0LnRpbWUrJzwvYj4nKSk7CiAgICBjYXRFbC5hcHBlbmRDaGlsZChiYXIpOwogICAgdmFyIGNvbHMgPSBlbCgnZGl2JywnY2xwci1jb2xzJyk7CiAgICB2YXIgbGVmdCA9IGVsKCdkaXYnLCdjbHByLXBhc3NhZ2UnKTsKICAgIGxlZnQuYXBwZW5kQ2hpbGQoZWwoJ2RpdicsJ2NscHItcGxhYmVsJywgcGFydC5wYXNzYWdlLmxhYmVsKSk7CiAgICBpZihwYXJ0LnBhc3NhZ2UudHlwZT09PSdpbWFnZScpewogICAgICB2YXIgaW1nID0gZWwoJ2ltZycsJ2NscHItcGltZycpOyBpbWcuc3JjID0gcGFydC5wYXNzYWdlLnNyYzsgaW1nLmFsdCA9IHBhcnQucGFzc2FnZS5hbHR8fCcnOyBsZWZ0LmFwcGVuZENoaWxkKGltZyk7CiAgICB9IGVsc2UgewogICAgICBsZWZ0LmFwcGVuZENoaWxkKGVsKCdkaXYnLG51bGwsIHBhcnQucGFzc2FnZS5odG1sKSk7CiAgICB9CiAgICB2YXIgcmlnaHQgPSBlbCgnZGl2JywnY2xwci1xY29sJyk7CiAgICBwYXJ0LmJsb2Nrcy5mb3JFYWNoKGZ1bmN0aW9uKGJsb2NrKXsgcmlnaHQuYXBwZW5kQ2hpbGQoYnVpbGRCbG9jayhibG9jaywgcGFydCkpOyB9KTsKICAgIGNvbHMuYXBwZW5kQ2hpbGQobGVmdCk7IGNvbHMuYXBwZW5kQ2hpbGQocmlnaHQpOwogICAgY2F0RWwuYXBwZW5kQ2hpbGQoY29scyk7CiAgICB2YXIgbmF2ID0gZWwoJ2RpdicsJ2NscHItbmF2Jyk7CiAgICB2YXIgcHJldiA9IGVsKCdidXR0b24nLCdjbHByLW5hdmJ0biBjbHByLWdob3N0JywnXHUyMTkwIFByZXZpb3VzIHBhcnQnKTsKICAgIHZhciBuZXh0ID0gZWwoJ2J1dHRvbicsJ2NscHItbmF2YnRuJywnTmV4dCBwYXJ0IFx1MjE5MicpOwogICAgcHJldi5kaXNhYmxlZCA9IChwaT09PTApOyBuZXh0LmRpc2FibGVkID0gKHBpPT09UkRBVEEucGFydHMubGVuZ3RoLTEpOwogICAgcHJldi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IGlmKHBpPjApIGdvKHBpLTEpOyB9KTsKICAgIG5leHQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBpZihwaTxSREFUQS5wYXJ0cy5sZW5ndGgtMSkgZ28ocGkrMSk7IH0pOwogICAgbmF2LmFwcGVuZENoaWxkKHByZXYpOyBuYXYuYXBwZW5kQ2hpbGQobmV4dCk7CiAgICBjYXRFbC5hcHBlbmRDaGlsZChuYXYpOwogICAgaWYoY2hlY2tlZCkgYXBwbHlNYXJrcygpOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRCbG9jayhibG9jaywgcGFydCl7CiAgICB2YXIgd3JhcEIgPSBlbCgnZGl2JywnY2xwci1ibG9jaycpOwogICAgd3JhcEIuYXBwZW5kQ2hpbGQoZWwoJ2RpdicsJ2NscHItaW5zdHInLCBibG9jay5pbnN0cikpOwogICAgaWYoYmxvY2sudHlwZT09PSdzdGVtbGlzdCcpewogICAgICBibG9jay5pdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0KXsKICAgICAgICB2YXIgcm93ID0gZWwoJ2RpdicsJ2NscHItc3RlbScpOwogICAgICAgIHJvdy5hcHBlbmRDaGlsZChlbCgnc3BhbicsJ2NscHItc251bScsIGl0Lm4rJy4nKSk7CiAgICAgICAgcm93LmFwcGVuZENoaWxkKGVsKCdzcGFuJyxudWxsLCBpdC5wcmUrJyAnKSk7CiAgICAgICAgcm93LmFwcGVuZENoaWxkKG1ha2VEcm9wZG93bihpdC5vcHRpb25zLCBpdC5fcSkpOwogICAgICAgIHdyYXBCLmFwcGVuZENoaWxkKHJvdyk7CiAgICAgIH0pOwogICAgfSBlbHNlIGlmKGJsb2NrLnR5cGU9PT0nY2xvemUnKXsKICAgICAgdmFyIGJveCA9IGVsKCdkaXYnLCdjbHByLWNsb3plJyk7CiAgICAgIGJsb2NrLmJvZHkuZm9yRWFjaChmdW5jdGlvbih0b2spewogICAgICAgIGlmKHR5cGVvZiB0b2s9PT0nc3RyaW5nJyl7CiAgICAgICAgICB2YXIgc2VncyA9IHRvay5zcGxpdCgnXG5cbicpOwogICAgICAgICAgc2Vncy5mb3JFYWNoKGZ1bmN0aW9uKHNlZywgaWR4KXsKICAgICAgICAgICAgaWYoaWR4PjApeyBib3guYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLG51bGwsJzxicj48YnI+JykpOyB9CiAgICAgICAgICAgIGJveC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzZWcpKTsKICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBib3guYXBwZW5kQ2hpbGQobWFrZURyb3Bkb3duKHRvay5vcHRpb25zLCB0b2suX3EpKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB3cmFwQi5hcHBlbmRDaGlsZChib3gpOwogICAgfSBlbHNlIGlmKGJsb2NrLnR5cGU9PT0nbWF0Y2gnKXsKICAgICAgYmxvY2suaXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdCl7CiAgICAgICAgdmFyIHJvdyA9IGVsKCdkaXYnLCdjbHByLW1hdGNoLXJvdycpOwogICAgICAgIHJvdy5hcHBlbmRDaGlsZChtYWtlRHJvcGRvd24oYmxvY2subGV0dGVycywgaXQuX3EpKTsKICAgICAgICByb3cuYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLCdjbHByLXNudW0nLCBpdC5uKycuJykpOwogICAgICAgIHJvdy5hcHBlbmRDaGlsZChlbCgnc3BhbicsbnVsbCwgaXQudGV4dCkpOwogICAgICAgIHdyYXBCLmFwcGVuZENoaWxkKHJvdyk7CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHdyYXBCOwogIH0KCiAgZnVuY3Rpb24gYnVpbGREb3RzKCl7CiAgICBkb3RzRWwuaW5uZXJIVE1MPScnOwogICAgUkRBVEEucGFydHMuZm9yRWFjaChmdW5jdGlvbihwLCBpKXsKICAgICAgdmFyIGQgPSBlbCgnYnV0dG9uJywnY2xwci1kb3QnKyhpPT09Y3VyUGFydD8nIGNscHItY3VyJzonJykpOwogICAgICBkLmFwcGVuZENoaWxkKGVsKCdiJyxudWxsLChpKzEpKSk7CiAgICAgIGQuYXBwZW5kQ2hpbGQoZWwoJ3NwYW4nLG51bGwsWydDb3JyZXNwb25kZW5jZScsJ0FwcGx5IGEgRGlhZ3JhbScsJ0luZm9ybWF0aW9uJywnVmlld3BvaW50cyddW2ldKSk7CiAgICAgIGQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBnbyhpKTsgfSk7CiAgICAgIGRvdHNFbC5hcHBlbmRDaGlsZChkKTsKICAgIH0pOwogIH0KICBmdW5jdGlvbiBnbyhwaSl7IGN1clBhcnQ9cGk7IGJ1aWxkRG90cygpOyBidWlsZFBhcnQocGkpOyBjYXRFbC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pOyB9CgogIGZ1bmN0aW9uIHVwZGF0ZVNjb3JlQ2hpcCgpewogICAgdmFyIGFucyA9IFEuZmlsdGVyKGZ1bmN0aW9uKHEpe3JldHVybiBxLnNlbCE9bnVsbDt9KS5sZW5ndGg7CiAgICBzY29yZUNoaXAudGV4dENvbnRlbnQgPSBjaGVja2VkID8gKFEuZmlsdGVyKGZ1bmN0aW9uKHEpe3JldHVybiBxLnNlbD09PXEua2V5O30pLmxlbmd0aCsnIC8gJytRLmxlbmd0aCsnIGNvcnJlY3QnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChhbnMrJyAvICcrUS5sZW5ndGgrJyBhbnN3ZXJlZCcpOwogIH0KCiAgZnVuY3Rpb24gYXBwbHlNYXJrcygpewogICAgUS5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgICBpZighcS5kZEVsKSByZXR1cm47CiAgICAgIHEuZGRFbC5jbGFzc0xpc3QucmVtb3ZlKCdjbHByLXJpZ2h0JywnY2xwci13cm9uZycpOwogICAgICBpZihxLnNlbD09PXEua2V5KXsgcS5kZEVsLmNsYXNzTGlzdC5hZGQoJ2NscHItcmlnaHQnKTsgfQogICAgICBlbHNlIHsKICAgICAgICBxLmRkRWwuY2xhc3NMaXN0LmFkZCgnY2xwci13cm9uZycpOwogICAgICAgIGlmKHEuc29sdmVkRWwpIHEuc29sdmVkRWwudGV4dENvbnRlbnQgPSAnXHUyNzEzICcrcS5vcHRpb25zW3Eua2V5LTFdOwogICAgICAgIGlmKHEuc2VsPT1udWxsICYmIHEudHh0RWwpeyBxLnR4dEVsLnRleHRDb250ZW50PScobm8gYW5zd2VyKSc7IHEudHh0RWwuY2xhc3NOYW1lPSdjbHByLWRkLXR4dCc7IH0KICAgICAgfQogICAgfSk7CiAgfQoKICBmdW5jdGlvbiBkb0NoZWNrKCl7CiAgICBjaGVja2VkID0gdHJ1ZTsKICAgIGFwcGx5TWFya3MoKTsKICAgIHZhciBjb3JyZWN0ID0gUS5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIHEuc2VsPT09cS5rZXk7fSkubGVuZ3RoOwogICAgdXBkYXRlU2NvcmVDaGlwKCk7CiAgICBjaGVja0J0bi5kaXNhYmxlZCA9IHRydWU7CiAgICB2YXIgYnlQYXJ0ID0ge307CiAgICBRLmZvckVhY2goZnVuY3Rpb24ocSl7IGJ5UGFydFtxLnBhcnRdPWJ5UGFydFtxLnBhcnRdfHx7YzowLHQ6MH07IGJ5UGFydFtxLnBhcnRdLnQrKzsgaWYocS5zZWw9PT1xLmtleSlieVBhcnRbcS5wYXJ0XS5jKys7IH0pOwogICAgdmFyIGVzdCA9IGNsYkVzdGltYXRlUihjb3JyZWN0KTsKICAgIHZhciBwaWxscyA9IFJEQVRBLnBhcnRzLm1hcChmdW5jdGlvbihwKXsgdmFyIGI9YnlQYXJ0W3AuaWRdfHx7YzowLHQ6MH07IHJldHVybiAnPHNwYW4gY2xhc3M9ImNscHItcmVzLXBpbGwiPlBhcnQgJytwLmlkKyc6ICcrYi5jKycvJytiLnQrJzwvc3Bhbj4nOyB9KS5qb2luKCcnKTsKICAgIHJlc3VsdHNFbC5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0iY2xwci1yZXMtY2FyZCI+JwogICAgICArICc8ZGl2IGNsYXNzPSJjbHByLXJlcy10b3AiPicKICAgICAgKyAnPGRpdiBjbGFzcz0iY2xwci1yZXMtc2NvcmUiPicrY29ycmVjdCsnPHNwYW4+LycrUS5sZW5ndGgrJzwvc3Bhbj48L2Rpdj4nCiAgICAgICsgJzxkaXYgY2xhc3M9ImNscHItcmVzLWNsYiI+PGI+Jytlc3QubGV2ZWwrJzwvYj48c21hbGw+Jytlc3Qubm90ZSsnICZtaWRkb3Q7IGVzdGltYXRlZCBSZWFkaW5nIGJhbmQ8L3NtYWxsPjwvZGl2PicKICAgICAgKyAnPC9kaXY+JwogICAgICArICc8ZGl2IGNsYXNzPSJjbHByLXJlcy1icmVhayI+JytwaWxscysnPC9kaXY+JwogICAgICArICc8ZGl2IGNsYXNzPSJjbHByLXJlcy1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJjbHByLW5hdmJ0biBjbHByLWdob3N0IiBpZD0iY2xwclJldmlldyI+UmV2aWV3IGFuc3dlcnMgaW4gZWFjaCBwYXJ0PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iY2xwci1uYXZidG4iIGlkPSJjbHByUmV0cnkiPlRyeSBhZ2FpbjwvYnV0dG9uPjwvZGl2PicKICAgICAgKyAnPHAgc3R5bGU9Im1hcmdpbi10b3A6MTJweDtmb250LXNpemU6MTIuNXB4O2NvbG9yOnZhcigtLW11dGVkKSI+RXN0aW1hdGVkIGJhbmQgaXMgYSBzdHVkeSBndWlkZSBvbmx5LCBub3QgYW4gb2ZmaWNpYWwgQ0VMUElQIHNjb3JlLiBDb3JyZWN0IGFuc3dlcnMgYXJlIHNob3duIHdpdGggYSBncmVlbiBjaGVjayBvbiBlYWNoIGRyb3AtZG93biB5b3UgYW5zd2VyZWQgaW5jb3JyZWN0bHkuPC9wPicKICAgICAgKyAnPC9kaXY+JzsKICAgIHJlc3VsdHNFbC5oaWRkZW4gPSBmYWxzZTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByUmV0cnknKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlc2V0QWxsKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbHByUmV2aWV3JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBnbygwKTsgfSk7CiAgICByZXN1bHRzRWwuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidzdGFydCd9KTsKICB9CgogIGZ1bmN0aW9uIHJlc2V0QWxsKCl7CiAgICBjaGVja2VkPWZhbHNlOyBpbml0UXVlc3Rpb25zKCk7IGN1clBhcnQ9MDsKICAgIGNoZWNrQnRuLmRpc2FibGVkPWZhbHNlOwogICAgcmVzdWx0c0VsLmhpZGRlbj10cnVlOyByZXN1bHRzRWwuaW5uZXJIVE1MPScnOwogICAgYnVpbGREb3RzKCk7IGJ1aWxkUGFydCgwKTsKICAgIHVwZGF0ZVNjb3JlQ2hpcCgpOwogICAgc2ltLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJyxibG9jazonc3RhcnQnfSk7CiAgfQoKICBzdGFydEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7CiAgICB3cmFwLnF1ZXJ5U2VsZWN0b3IoJy5jbHByLWhlcm8nKS5zdHlsZS5kaXNwbGF5PSdub25lJzsKICAgIHRvb2xiYXIuaGlkZGVuPWZhbHNlOyBzaW0uaGlkZGVuPWZhbHNlOwogICAgaW5pdFF1ZXN0aW9ucygpOyBjdXJQYXJ0PTA7IGNoZWNrZWQ9ZmFsc2U7CiAgICBidWlsZERvdHMoKTsgYnVpbGRQYXJ0KDApOyB1cGRhdGVTY29yZUNoaXAoKTsKICB9KTsKICBjaGVja0J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGRvQ2hlY2spOwogIHJlc2V0QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVzZXRBbGwpOwp9KSgpOw==\"))<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>CELPIP Reading Set 12 Practice Test 1: 4 parts, 38 questions in the real exam format with instant scoring and answer key. About 55 minutes. Free, no sign-up.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-6474","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/6474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=6474"}],"version-history":[{"count":1,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/6474\/revisions"}],"predecessor-version":[{"id":6542,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/6474\/revisions\/6542"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=6474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}