Received: from localhost (unknown [200.46.204.183]) by mail.postgresql.org (Postfix) with ESMTP id 183E665019B for ; Tue, 2 Dec 2008 12:02:40 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 44793-05 for ; Tue, 2 Dec 2008 12:02:37 -0400 (AST) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from yw-out-2324.google.com (yw-out-2324.google.com [74.125.46.31]) by mail.postgresql.org (Postfix) with ESMTP id B14EB64FDB3 for ; Tue, 2 Dec 2008 12:02:36 -0400 (AST) Received: by yw-out-2324.google.com with SMTP id 3so1228032ywj.73 for ; Tue, 02 Dec 2008 08:02:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=IvHLhu/e3KAyaXYUhG/TAJ/SFHRBavsoT0DMSX2F/rA=; b=NG6dCVr6kI1D8q+nzeGILK5bSOBWastjoyTSzhNA18OCN+axtepf8gWh1AuZTn4gBj Oh4m1lYNDhdSnLo5CUe/J2vQqQbNx8eMef75bU8BDILVfv8vB9GBSPC7Mg/WBfG66IBI kOjsSadOiFwOtFP0TieMdoTov7NRM2phpTpAE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=iChvagYhyGGbhycMH7ZkDANz/IiwisdybnB9yU1KKZCAKm9jFL8jVTP3X1FJHU+MDR csgRk7uR268DzkrZ5U+iMpVeGh6GpHjiDyNRZVm+Z0ls17NjIaPG8oa2lVtXA4NTdBzo IdQNg9kCA8Uo0Z+MV9wgXa/kVIpcgj2u9br4Y= Received: by 10.151.149.14 with SMTP id b14mr24148687ybo.96.1228233756028; Tue, 02 Dec 2008 08:02:36 -0800 (PST) Received: by 10.151.106.1 with HTTP; Tue, 2 Dec 2008 08:02:35 -0800 (PST) Message-ID: <48d0cacb0812020802t1ae88fcfse12f2526ab1c993b@mail.gmail.com> Date: Tue, 2 Dec 2008 14:02:35 -0200 From: "Daniel Cristian Cruz" To: pgsql-performance@postgresql.org Subject: Fwd: Not so simple query and a half million loop In-Reply-To: <48d0cacb0812010526i7c51b29fs9319618b3aaf3f49@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_64296_1638955.1228233756006" References: <48d0cacb0812010526i7c51b29fs9319618b3aaf3f49@mail.gmail.com> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200812/16 X-Sequence-Number: 32052 ------=_Part_64296_1638955.1228233756006 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, all! No one knows why I got "actual time=0.014..0.570 rows=30 loops=511222" and "actual time=0.005..0.006 rows=1 loops=15158976"? With: cu.cal_user_type = 'u' AND cu.cal_recur_date = COALESCE((SELECT cd.cal_start FROM egw_cal_dates icd WHERE icd.cal_id = cd.cal_id AND icd.cal_start = cd.cal_start AND icd.cal_start <> 0), 0) ~ 450 seconds With cu.cal_user_type = 'u' ~ 130 ms With cu.cal_recur_date = COALESCE((SELECT cd.cal_start FROM egw_cal_dates icd WHERE icd.cal_id = cd.cal_id AND icd.cal_start = cd.cal_start AND icd.cal_start <> 0), 0) ~ 1 second I've tryied to increase statistics to maximum, with no success. This is the eGroupware database schema, with a few records. The complete queries and plan folows. ---------- Forwarded message ---------- From: Daniel Cristian Cruz Date: 2008/12/1 Subject: Not so simple query and a half million loop To: pgsql-admin I've tryied 4 times to post this message to pgsql-performance without success... No return, even an error... -- Daniel Cristian Cruz クルズ クリスチアン ダニエル ------=_Part_64296_1638955.1228233756006 Content-Type: application/octet-stream; name=query.sql Content-Transfer-Encoding: base64 X-Attachment-Id: f_fo8qibst0 Content-Disposition: attachment; filename=query.sql LS1UaGUgcHJvYmxlbSAoOC4yLjExKToKU0VMRUNUCiByZXNvdXJjZSwKIGNhdGVnb3J5LAogdXNl cmlkLAogdGl0bGUsCiB5ZWFyLAogbW9udGgsCiBTVU0oaG91cnMpCkZST00KICgKICBTRUxFQ1QK ICAgci5uYW1lIEFTIHJlc291cmNlLAogICBBUlJBWShTRUxFQ1QgY2EuY2F0X25hbWUgRlJPTSBl Z3dfY2F0ZWdvcmllcyBjYSBXSEVSRSBjYS5jYXRfaWQ6OnRleHQgPSBBTlkgKHN0cmluZ190b19h cnJheShjLmNhbF9jYXRlZ29yeSwgJywnKSkpIEFTIGNhdGVnb3J5LAogICBjdS5jYWxfdXNlcl9p ZCBBUyB1c2VyaWQsCiAgIGMuY2FsX3RpdGxlIEFTIHRpdGxlLAogICBFWFRSQUNUKHllYXIgRlJP TSAoVElNRVNUQU1QIFdJVEggVElNRSBaT05FICdlcG9jaCcgKyBjZC5jYWxfc3RhcnQgKiBJTlRF UlZBTCAnMSBzZWNvbmQnKSkgQVMgeWVhciwKICAgRVhUUkFDVChtb250aCBGUk9NIChUSU1FU1RB TVAgV0lUSCBUSU1FIFpPTkUgJ2Vwb2NoJyArIGNkLmNhbF9zdGFydCAqIElOVEVSVkFMICcxIHNl Y29uZCcpKSBBUyBtb250aCwKICAgKGNkLmNhbF9lbmQgLSBjZC5jYWxfc3RhcnQpICogSU5URVJW QUwgJzEgc2Vjb25kJyBBUyBob3VycwogIEZST00gZWd3X2NhbF91c2VyIGNyCiAgSk9JTiBlZ3df Y2FsX2RhdGVzIGNkCiAgIE9OCiAgICBjZC5jYWxfaWQgPSBjci5jYWxfaWQgQU5ECiAgICBjci5j YWxfcmVjdXJfZGF0ZSA9IENPQUxFU0NFKChTRUxFQ1QgY2QuY2FsX3N0YXJ0IEZST00gZWd3X2Nh bF9kYXRlcyBpY2QgV0hFUkUgaWNkLmNhbF9pZCA9IGNkLmNhbF9pZCBBTkQgaWNkLmNhbF9zdGFy dCA9IGNkLmNhbF9zdGFydCBBTkQgaWNkLmNhbF9zdGFydCA8PiAwKSwgMCkKICBKT0lOIGVnd19y ZXNvdXJjZXMgcgogICBPTgogICAgci5yZXNfaWQgPSBjci5jYWxfdXNlcl9pZCBBTkQKICAgIGNy LmNhbF91c2VyX3R5cGUgPSAncicKICBKT0lOIGVnd19jYXRlZ29yaWVzIGN0CiAgIE9OIGN0LmNh dF9pZCA9IHIuY2F0X2lkCiAgSk9JTiBlZ3dfY2FsIGMKICAgT04gYy5jYWxfaWQgPSBjZC5jYWxf aWQKICBMRUZUIEpPSU4gZWd3X2NhbF91c2VyIGN1CiAgIE9OCiAgICBjdS5jYWxfaWQgPSBjci5j YWxfaWQgQU5ECiAgICBjdS5jYWxfdXNlcl90eXBlID0gJ3UnIEFORAogICAgY3UuY2FsX3JlY3Vy X2RhdGUgPSBDT0FMRVNDRSgoU0VMRUNUIGNkLmNhbF9zdGFydCBGUk9NIGVnd19jYWxfZGF0ZXMg aWNkIFdIRVJFIGljZC5jYWxfaWQgPSBjZC5jYWxfaWQgQU5EIGljZC5jYWxfc3RhcnQgPSBjZC5j YWxfc3RhcnQgQU5EIGljZC5jYWxfc3RhcnQgPD4gMCksIDApCiAgV0hFUkUKICAgY3QuY2F0X21h aW4gPSAxMzMgQU5ECiAgIHIucmVzX2lkID0gODUyMiBBTkQKICAgY3UuY2FsX3VzZXJfaWQgPSAy Nzg4MjcgQU5ECiAgIEVYVFJBQ1QoeWVhciBGUk9NIChUSU1FU1RBTVAgJ2Vwb2NoJyArIGNkLmNh bF9zdGFydCAqIElOVEVSVkFMICcxIHNlY29uZCcpKSA9IDIwMDggQU5ECiAgIEVYVFJBQ1QobW9u dGggRlJPTSAoVElNRVNUQU1QICdlcG9jaCcgKyBjZC5jYWxfc3RhcnQgKiBJTlRFUlZBTCAnMSBz ZWNvbmQnKSkgSU4gKDEwLDExLDEyKQogKSBmb28KR1JPVVAgQlkKIHJlc291cmNlLAogY2F0ZWdv cnksCiB1c2VyaWQsCiB0aXRsZSwKIHllYXIsCiBtb250aApPUkRFUiBCWQogeWVhciwKIG1vbnRo LAogcmVzb3VyY2UsCiBjYXRlZ29yeSwKIHVzZXJpZCwKIHRpdGxlOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVS WSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEdy b3VwQWdncmVnYXRlICAoY29zdD0xMjUuMjAuLjE4My42NyByb3dzPTEgd2lkdGg9MTgwKSAoYWN0 dWFsIHRpbWU9NDc1Mjc2LjkwMi4uNDc1Mjc3LjEzMCByb3dzPTQgbG9vcHM9MSkKICAgLT4gIFNv cnQgIChjb3N0PTEyNS4yMC4uMTI1LjIwIHJvd3M9MSB3aWR0aD0xODApIChhY3R1YWwgdGltZT00 NzUyNzYuODIyLi40NzUyNzYuOTIwIHJvd3M9NjQgbG9vcHM9MSkKICAgICAgICAgU29ydCBLZXk6 IGRhdGVfcGFydCgneWVhcic6OnRleHQsICgnMTk2OS0xMi0zMSAyMTowMDowMC0wMyc6OnRpbWVz dGFtcCB3aXRoIHRpbWUgem9uZSArICgoY2QuY2FsX3N0YXJ0KTo6ZG91YmxlIHByZWNpc2lvbiAq ICcwMDowMDowMSc6OmludGVydmFsKSkpLCBkYXRlX3BhcnQoJ21vbnRoJzo6dGV4dCwgKCcxOTY5 LTEyLTMxIDIxOjAwOjAwLTAzJzo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lICsgKChjZC5jYWxf c3RhcnQpOjpkb3VibGUgcHJlY2lzaW9uICogJzAwOjAwOjAxJzo6aW50ZXJ2YWwpKSksIHIubmFt ZSwgKHN1YnBsYW4pLCBjdS5jYWxfdXNlcl9pZCwgYy5jYWxfdGl0bGUKICAgICAgICAgLT4gIE5l c3RlZCBMb29wICAoY29zdD0wLjAwLi4xMjUuMTkgcm93cz0xIHdpZHRoPTE4MCkgKGFjdHVhbCB0 aW1lPTIyMTg4Ljg4OS4uNDc1Mjc1LjM2NCByb3dzPTY0IGxvb3BzPTEpCiAgICAgICAgICAgICAg IEpvaW4gRmlsdGVyOiAoKGNyLmNhbF9yZWN1cl9kYXRlID0gQ09BTEVTQ0UoKHN1YnBsYW4pLCAw OjpiaWdpbnQpKSBBTkQgKGN1LmNhbF9yZWN1cl9kYXRlID0gQ09BTEVTQ0UoKHN1YnBsYW4pLCAw OjpiaWdpbnQpKSkKICAgICAgICAgICAgICAgLT4gIE5lc3RlZCBMb29wICAoY29zdD0wLjAwLi40 Mi4wMCByb3dzPTEgd2lkdGg9MTkyKSAoYWN0dWFsIHRpbWU9MC41MzUuLjI3ODguMzM5IHJvd3M9 NTExMjIyIGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAgKGNv c3Q9MC4wMC4uMzguNzEgcm93cz0xIHdpZHRoPTE3MSkgKGFjdHVhbCB0aW1lPTAuMTIxLi45MC4w MjEgcm93cz0xMTA1IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0 ZWQgTG9vcCAgKGNvc3Q9MC4wMC4uMzUuODQgcm93cz0xIHdpZHRoPTEyMCkgKGFjdHVhbCB0aW1l PTAuMTA0Li4xOC44NTUgcm93cz0xMTA1IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAgKGNvc3Q9MC4wMC4uMTYuNTUgcm93cz0xIHdpZHRo PTExMikgKGFjdHVhbCB0aW1lPTAuMDQ2Li4wLjA1OCByb3dzPTEgbG9vcHM9MSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgZWd3X3Jl c291cmNlc19wa2V5IG9uIGVnd19yZXNvdXJjZXMgciAgKGNvc3Q9MC4wMC4uOC4yNyByb3dzPTEg d2lkdGg9MTE2KSAoYWN0dWFsIHRpbWU9MC4wMjUuLjAuMDI5IHJvd3M9MSBsb29wcz0xKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAocmVz X2lkID0gODUyMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIElu ZGV4IFNjYW4gdXNpbmcgZWd3X2NhdGVnb3JpZXNfcGtleSBvbiBlZ3dfY2F0ZWdvcmllcyBjdCAg KGNvc3Q9MC4wMC4uOC4yNyByb3dzPTEgd2lkdGg9NCkgKGFjdHVhbCB0aW1lPTAuMDEyLi4wLjAx NSByb3dzPTEgbG9vcHM9MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSW5kZXggQ29uZDogKGN0LmNhdF9pZCA9IHIuY2F0X2lkKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChjYXRfbWFpbiA9IDEzMykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaWR4X2Vn d18wMDAxIG9uIGVnd19jYWxfdXNlciBjciAgKGNvc3Q9MC4wMC4uMTkuMjMgcm93cz00IHdpZHRo PTIxKSAoYWN0dWFsIHRpbWU9MC4wNDQuLjE0Ljc0MiByb3dzPTExMDUgbG9vcHM9MSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCgoci5yZXNfaWQp Ojp0ZXh0ID0gKGNyLmNhbF91c2VyX2lkKTo6dGV4dCkgQU5EICgoY3IuY2FsX3VzZXJfdHlwZSk6 OnRleHQgPSAncic6OnRleHQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXgg U2NhbiB1c2luZyBlZ3dfY2FsX3BrZXkgb24gZWd3X2NhbCBjICAoY29zdD0wLjAwLi4yLjg2IHJv d3M9MSB3aWR0aD01MSkgKGFjdHVhbCB0aW1lPTAuMDUzLi4wLjA1NiByb3dzPTEgbG9vcHM9MTEw NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGNyLmNhbF9p ZCA9IGMuY2FsX2lkKQogICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBl Z3dfY2FsX3VzZXJfcGtleSBvbiBlZ3dfY2FsX3VzZXIgY3UgIChjb3N0PTAuMDAuLjMuMjggcm93 cz0xIHdpZHRoPTIxKSAoYWN0dWFsIHRpbWU9MC4wMTcuLjAuOTc4IHJvd3M9NDYzIGxvb3BzPTEx MDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoY3UuY2FsX2lkID0g Y3IuY2FsX2lkKSBBTkQgKChjdS5jYWxfdXNlcl90eXBlKTo6dGV4dCA9ICd1Jzo6dGV4dCkgQU5E ICgoY3UuY2FsX3VzZXJfaWQpOjp0ZXh0ID0gJzI3ODgyNyc6OnRleHQpKQogICAgICAgICAgICAg ICAtPiAgSW5kZXggU2NhbiB1c2luZyBlZ3dfY2FsX2RhdGVzX3BrZXkgb24gZWd3X2NhbF9kYXRl cyBjZCAgKGNvc3Q9MC4wMC4uOC4xOCByb3dzPTEgd2lkdGg9MjApIChhY3R1YWwgdGltZT0wLjAx NC4uMC41NzAgcm93cz0zMCBsb29wcz01MTEyMjIpCiAgICAgICAgICAgICAgICAgICAgIEluZGV4 IENvbmQ6IChjZC5jYWxfaWQgPSBjci5jYWxfaWQpCiAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKChkYXRlX3BhcnQoJ3llYXInOjp0ZXh0LCAoJzE5NzAtMDEtMDEgMDA6MDA6MDAnOjp0aW1l c3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgKyAoKGNhbF9zdGFydCk6OmRvdWJsZSBwcmVjaXNpb24g KiAnMDA6MDA6MDEnOjppbnRlcnZhbCkpKSA9IDIwMDg6OmRvdWJsZSBwcmVjaXNpb24pIEFORCAo ZGF0ZV9wYXJ0KCdtb250aCc6OnRleHQsICgnMTk3MC0wMS0wMSAwMDowMDowMCc6OnRpbWVzdGFt cCB3aXRob3V0IHRpbWUgem9uZSArICgoY2FsX3N0YXJ0KTo6ZG91YmxlIHByZWNpc2lvbiAqICcw MDowMDowMSc6OmludGVydmFsKSkpID0gQU5ZICgnezEwLDExLDEyfSc6OmRvdWJsZSBwcmVjaXNp b25bXSkpKQogICAgICAgICAgICAgICBTdWJQbGFuCiAgICAgICAgICAgICAgICAgLT4gIEluZGV4 IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxfZGF0ZXMgaWNkICAoY29z dD0wLjAwLi44LjI4IHJvd3M9MSB3aWR0aD0wKSAoYWN0dWFsIHRpbWU9MC4wMDQuLjAuMDA2IHJv d3M9MSBsb29wcz0yOTUyMCkKICAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoKGNh bF9pZCA9ICQyKSBBTkQgKGNhbF9zdGFydCA9ICQxKSkKICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6IChjYWxfc3RhcnQgPD4gMCkKICAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1 c2luZyBlZ3dfY2FsX2RhdGVzX3BrZXkgb24gZWd3X2NhbF9kYXRlcyBpY2QgIChjb3N0PTAuMDAu LjguMjggcm93cz0xIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjAwNS4uMC4wMDYgcm93cz0xIGxv b3BzPTE1MTU4OTc2KQogICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoY2FsX2lk ID0gJDIpIEFORCAoY2FsX3N0YXJ0ID0gJDEpKQogICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKGNhbF9zdGFydCA8PiAwKQogICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSGVhcCBTY2Fu IG9uIGVnd19jYXRlZ29yaWVzIGNhICAoY29zdD0zMC41OS4uNTguNDEgcm93cz0xMCB3aWR0aD01 MCkgKGFjdHVhbCB0aW1lPTAuMDI0Li4wLjAyNSByb3dzPTEgbG9vcHM9NjQpCiAgICAgICAgICAg ICAgICAgICAgICAgUmVjaGVjayBDb25kOiAoKGNhdF9pZCk6OnRleHQgPSBBTlkgKHN0cmluZ190 b19hcnJheSgoJDApOjp0ZXh0LCAnLCc6OnRleHQpKSkKICAgICAgICAgICAgICAgICAgICAgICAt PiAgQml0bWFwIEluZGV4IFNjYW4gb24gaWR4X2Vnd18wMDA1ICAoY29zdD0wLjAwLi4zMC41OSBy b3dzPTEwIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjAxNi4uMC4wMTYgcm93cz0xIGxvb3BzPTY0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoY2F0X2lkKTo6dGV4 dCA9IEFOWSAoc3RyaW5nX3RvX2FycmF5KCgkMCk6OnRleHQsICcsJzo6dGV4dCkpKQogVG90YWwg cnVudGltZTogNDc1Mjc3LjY0NiBtcwooMzUgcmVnaXN0cm9zKQoKLS1Hb29kIG9uZToKU0VMRUNU CiByZXNvdXJjZSwKIGNhdGVnb3J5LAogdXNlcmlkLAogdGl0bGUsCiB5ZWFyLAogbW9udGgsCiBT VU0oaG91cnMpCkZST00KICgKICBTRUxFQ1QKICAgci5uYW1lIEFTIHJlc291cmNlLAogICBBUlJB WShTRUxFQ1QgY2EuY2F0X25hbWUgRlJPTSBlZ3dfY2F0ZWdvcmllcyBjYSBXSEVSRSBjYS5jYXRf aWQ6OnRleHQgPSBBTlkgKHN0cmluZ190b19hcnJheShjLmNhbF9jYXRlZ29yeSwgJywnKSkpIEFT IGNhdGVnb3J5LAogICBjdS5jYWxfdXNlcl9pZCBBUyB1c2VyaWQsCiAgIGMuY2FsX3RpdGxlIEFT IHRpdGxlLAogICBFWFRSQUNUKHllYXIgRlJPTSAoVElNRVNUQU1QIFdJVEggVElNRSBaT05FICdl cG9jaCcgKyBjZC5jYWxfc3RhcnQgKiBJTlRFUlZBTCAnMSBzZWNvbmQnKSkgQVMgeWVhciwKICAg RVhUUkFDVChtb250aCBGUk9NIChUSU1FU1RBTVAgV0lUSCBUSU1FIFpPTkUgJ2Vwb2NoJyArIGNk LmNhbF9zdGFydCAqIElOVEVSVkFMICcxIHNlY29uZCcpKSBBUyBtb250aCwKICAgKGNkLmNhbF9l bmQgLSBjZC5jYWxfc3RhcnQpICogSU5URVJWQUwgJzEgc2Vjb25kJyBBUyBob3VycwogIEZST00g ZWd3X2NhbF91c2VyIGNyCiAgSk9JTiBlZ3dfY2FsX2RhdGVzIGNkCiAgIE9OCiAgICBjZC5jYWxf aWQgPSBjci5jYWxfaWQgQU5ECiAgICBjci5jYWxfcmVjdXJfZGF0ZSA9IENPQUxFU0NFKChTRUxF Q1QgY2QuY2FsX3N0YXJ0IEZST00gZWd3X2NhbF9kYXRlcyBpY2QgV0hFUkUgaWNkLmNhbF9pZCA9 IGNkLmNhbF9pZCBBTkQgaWNkLmNhbF9zdGFydCA9IGNkLmNhbF9zdGFydCBBTkQgaWNkLmNhbF9z dGFydCA8PiAwKSwgMCkKICBKT0lOIGVnd19yZXNvdXJjZXMgcgogICBPTgogICAgci5yZXNfaWQg PSBjci5jYWxfdXNlcl9pZCBBTkQKICAgIGNyLmNhbF91c2VyX3R5cGUgPSAncicKICBKT0lOIGVn d19jYXRlZ29yaWVzIGN0CiAgIE9OIGN0LmNhdF9pZCA9IHIuY2F0X2lkCiAgSk9JTiBlZ3dfY2Fs IGMKICAgT04gYy5jYWxfaWQgPSBjZC5jYWxfaWQKICBMRUZUIEpPSU4gZWd3X2NhbF91c2VyIGN1 CiAgIE9OCiAgICBjdS5jYWxfaWQgPSBjci5jYWxfaWQgQU5ECiAgICBjdS5jYWxfdXNlcl90eXBl ID0gJ3UnIEFORAogICAgY3UuY2FsX3JlY3VyX2RhdGUgPSBDT0FMRVNDRSgoU0VMRUNUIGNkLmNh bF9zdGFydCBGUk9NIGVnd19jYWxfZGF0ZXMgaWNkIFdIRVJFIGljZC5jYWxfaWQgPSBjZC5jYWxf aWQgQU5EIGljZC5jYWxfc3RhcnQgPSBjZC5jYWxfc3RhcnQgQU5EIGljZC5jYWxfc3RhcnQgPD4g MCksIDApCiAgV0hFUkUKICAgY3QuY2F0X21haW4gPSAxMzMgQU5ECiAgIGN1LmNhbF91c2VyX2lk ID0gMjc4ODI3IEFORAogICBFWFRSQUNUKHllYXIgRlJPTSAoVElNRVNUQU1QICdlcG9jaCcgKyBj ZC5jYWxfc3RhcnQgKiBJTlRFUlZBTCAnMSBzZWNvbmQnKSkgPSAyMDA4IEFORAogICBFWFRSQUNU KG1vbnRoIEZST00gKFRJTUVTVEFNUCAnZXBvY2gnICsgY2QuY2FsX3N0YXJ0ICogSU5URVJWQUwg JzEgc2Vjb25kJykpIElOICgxMCwxMSwxMikKICkgZm9vCkdST1VQIEJZCiByZXNvdXJjZSwKIGNh dGVnb3J5LAogdXNlcmlkLAogdGl0bGUsCiB5ZWFyLAogbW9udGgKT1JERVIgQlkKIHllYXIsCiBt b250aCwKIHJlc291cmNlLAogY2F0ZWdvcnksCiB1c2VyaWQsCiB0aXRsZTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBHcm91cEFn Z3JlZ2F0ZSAgKGNvc3Q9MjU3LjYyLi4zMTYuMDkgcm93cz0xIHdpZHRoPTE4MCkgKGFjdHVhbCB0 aW1lPTEzNS44ODUuLjEzNi4xMTIgcm93cz00IGxvb3BzPTEpCiAgIC0+ICBTb3J0ICAoY29zdD0y NTcuNjIuLjI1Ny42MiByb3dzPTEgd2lkdGg9MTgwKSAoYWN0dWFsIHRpbWU9MTM1LjgyMi4uMTM1 LjkyMyByb3dzPTY0IGxvb3BzPTEpCiAgICAgICAgIFNvcnQgS2V5OiBkYXRlX3BhcnQoJ3llYXIn Ojp0ZXh0LCAoJzE5NjktMTItMzEgMjE6MDA6MDAtMDMnOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpv bmUgKyAoKGNkLmNhbF9zdGFydCk6OmRvdWJsZSBwcmVjaXNpb24gKiAnMDA6MDA6MDEnOjppbnRl cnZhbCkpKSwgZGF0ZV9wYXJ0KCdtb250aCc6OnRleHQsICgnMTk2OS0xMi0zMSAyMTowMDowMC0w Myc6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSArICgoY2QuY2FsX3N0YXJ0KTo6ZG91YmxlIHBy ZWNpc2lvbiAqICcwMDowMDowMSc6OmludGVydmFsKSkpLCByLm5hbWUsIChzdWJwbGFuKSwgY3Uu Y2FsX3VzZXJfaWQsIGMuY2FsX3RpdGxlCiAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAgKGNvc3Q9 NDAuNzIuLjI1Ny42MSByb3dzPTEgd2lkdGg9MTgwKSAoYWN0dWFsIHRpbWU9OTEuMDY3Li4xMzQu NTgwIHJvd3M9NjQgbG9vcHM9MSkKICAgICAgICAgICAgICAgLT4gIE5lc3RlZCBMb29wICAoY29z dD00MC43Mi4uMTkwLjg5IHJvd3M9MSB3aWR0aD0xNDUpIChhY3R1YWwgdGltZT05MC45NTEuLjEz MS44NTcgcm93cz02NCBsb29wcz0xKQogICAgICAgICAgICAgICAgICAgICAtPiAgTmVzdGVkIExv b3AgIChjb3N0PTMyLjQ0Li4xNjYuMDIgcm93cz0xIHdpZHRoPTEzMikgKGFjdHVhbCB0aW1lPTMz LjAyMi4uMTI3LjQ5MiByb3dzPTE5NiBsb29wcz0xKQogICAgICAgICAgICAgICAgICAgICAgICAg ICBKb2luIEZpbHRlcjogKChyLnJlc19pZCk6OnRleHQgPSAoY3IuY2FsX3VzZXJfaWQpOjp0ZXh0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgTmVzdGVkIExvb3AgIChjb3N0PTMyLjQ0 Li4xMTAuMDIgcm93cz0xIHdpZHRoPTMzKSAoYWN0dWFsIHRpbWU9MzIuOTI3Li44Mi40MTggcm93 cz0xOTYgbG9vcHM9MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEJpdG1h cCBIZWFwIFNjYW4gb24gZWd3X2NhbF9kYXRlcyBjZCAgKGNvc3Q9MjQuMTYuLjM1LjQyIHJvd3M9 MyB3aWR0aD0yMCkgKGFjdHVhbCB0aW1lPTMuODM0Li4xMC4zMzcgcm93cz0zODcxIGxvb3BzPTEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDogKChk YXRlX3BhcnQoJ3llYXInOjp0ZXh0LCAoJzE5NzAtMDEtMDEgMDA6MDA6MDAnOjp0aW1lc3RhbXAg d2l0aG91dCB0aW1lIHpvbmUgKyAoKGNhbF9zdGFydCk6OmRvdWJsZSBwcmVjaXNpb24gKiAnMDA6 MDA6MDEnOjppbnRlcnZhbCkpKSA9IDIwMDg6OmRvdWJsZSBwcmVjaXNpb24pIEFORCAoZGF0ZV9w YXJ0KCdtb250aCc6OnRleHQsICgnMTk3MC0wMS0wMSAwMDowMDowMCc6OnRpbWVzdGFtcCB3aXRo b3V0IHRpbWUgem9uZSArICgoY2FsX3N0YXJ0KTo6ZG91YmxlIHByZWNpc2lvbiAqICcwMDowMDow MSc6OmludGVydmFsKSkpID0gQU5ZICgnezEwLDExLDEyfSc6OmRvdWJsZSBwcmVjaXNpb25bXSkp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgQml0bWFwQW5kICAo Y29zdD0yNC4xNi4uMjQuMTYgcm93cz0zIHdpZHRoPTApIChhY3R1YWwgdGltZT0zLjc5NS4uMy43 OTUgcm93cz0wIGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBpZHhfZWd3XzAwMDIgIChjb3N0PTAuMDAu LjUuOTkgcm93cz0yMzAgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTEuOTcyLi4xLjk3MiByb3dzPTE0 MTE4IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEluZGV4IENvbmQ6IChkYXRlX3BhcnQoJ3llYXInOjp0ZXh0LCAoJzE5NzAtMDEtMDEg MDA6MDA6MDAnOjp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgKyAoKGNhbF9zdGFydCk6OmRv dWJsZSBwcmVjaXNpb24gKiAnMDA6MDA6MDEnOjppbnRlcnZhbCkpKSA9IDIwMDg6OmRvdWJsZSBw cmVjaXNpb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBpZHhfZWd3XzAwMDYgIChjb3N0PTAuMDAuLjE3LjkyIHJv d3M9Njg3IHdpZHRoPTApIChhY3R1YWwgdGltZT0xLjc4OS4uMS43ODkgcm93cz0xMjc5OSBsb29w cz0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ bmRleCBDb25kOiAoZGF0ZV9wYXJ0KCdtb250aCc6OnRleHQsICgnMTk3MC0wMS0wMSAwMDowMDow MCc6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSArICgoY2FsX3N0YXJ0KTo6ZG91YmxlIHBy ZWNpc2lvbiAqICcwMDowMDowMSc6OmludGVydmFsKSkpID0gQU5ZICgnezEwLDExLDEyfSc6OmRv dWJsZSBwcmVjaXNpb25bXSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBJ bmRleCBTY2FuIHVzaW5nIGVnd19jYWxfdXNlcl9wa2V5IG9uIGVnd19jYWxfdXNlciBjciAgKGNv c3Q9OC4yOC4uMTYuNTcgcm93cz0xIHdpZHRoPTIxKSAoYWN0dWFsIHRpbWU9MC4wMDUuLjAuMDA1 IHJvd3M9MCBsb29wcz0zODcxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJbmRleCBDb25kOiAoKGNkLmNhbF9pZCA9IGNyLmNhbF9pZCkgQU5EIChjci5jYWxfcmVjdXJf ZGF0ZSA9IENPQUxFU0NFKChzdWJwbGFuKSwgMDo6YmlnaW50KSkgQU5EICgoY3IuY2FsX3VzZXJf dHlwZSk6OnRleHQgPSAncic6OnRleHQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdWJQbGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIEluZGV4IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxfZGF0ZXMg aWNkICAoY29zdD0wLjAwLi44LjI4IHJvd3M9MSB3aWR0aD0wKSAoYWN0dWFsIHRpbWU9MC4wMDUu LjAuMDA2IHJvd3M9MSBsb29wcz0zODcxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoY2FsX2lkID0gJDIpIEFORCAoY2FsX3N0YXJ0 ID0gJDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKGNhbF9zdGFydCA8PiAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGVnd19jYWxfZGF0ZXNfcGtleSBvbiBlZ3dfY2Fs X2RhdGVzIGljZCAgKGNvc3Q9MC4wMC4uOC4yOCByb3dzPTEgd2lkdGg9MCkgKG5ldmVyIGV4ZWN1 dGVkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4 IENvbmQ6ICgoY2FsX2lkID0gJDIpIEFORCAoY2FsX3N0YXJ0ID0gJDEpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGNhbF9zdGFydCA8PiAw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgTmVzdGVkIExvb3AgIChjb3N0PTAuMDAu LjU1LjgwIHJvd3M9MTMgd2lkdGg9MTEyKSAoYWN0dWFsIHRpbWU9MC4wMTMuLjAuMTk3IHJvd3M9 MTMgbG9vcHM9MTk2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXgg U2NhbiB1c2luZyBpZHhfZWd3XzAwMDMgb24gZWd3X2NhdGVnb3JpZXMgY3QgIChjb3N0PTAuMDAu LjEzLjE2IHJvd3M9MyB3aWR0aD00KSAoYWN0dWFsIHRpbWU9MC4wMDQuLjAuMDMyIHJvd3M9MTUg bG9vcHM9MTk2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCBD b25kOiAoY2F0X21haW4gPSAxMzMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBJbmRleCBTY2FuIHVzaW5nIGlkeF9lZ3dfMDAwNCBvbiBlZ3dfcmVzb3VyY2VzIHIgIChjb3N0 PTAuMDAuLjE0LjA4IHJvd3M9MTEgd2lkdGg9MTE2KSAoYWN0dWFsIHRpbWU9MC4wMDMuLjAuMDA1 IHJvd3M9MSBsb29wcz0yOTQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJbmRleCBDb25kOiAoY3QuY2F0X2lkID0gci5jYXRfaWQpCiAgICAgICAgICAgICAgICAgICAg IC0+ICBJbmRleCBTY2FuIHVzaW5nIGVnd19jYWxfdXNlcl9wa2V5IG9uIGVnd19jYWxfdXNlciBj dSAgKGNvc3Q9OC4yOC4uMTYuNTggcm93cz0xIHdpZHRoPTIxKSAoYWN0dWFsIHRpbWU9MC4wMDcu LjAuMDA4IHJvd3M9MCBsb29wcz0xOTYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4 IENvbmQ6ICgoY3UuY2FsX2lkID0gY3IuY2FsX2lkKSBBTkQgKGN1LmNhbF9yZWN1cl9kYXRlID0g Q09BTEVTQ0UoKHN1YnBsYW4pLCAwOjpiaWdpbnQpKSBBTkQgKChjdS5jYWxfdXNlcl90eXBlKTo6 dGV4dCA9ICd1Jzo6dGV4dCkgQU5EICgoY3UuY2FsX3VzZXJfaWQpOjp0ZXh0ID0gJzI3ODgyNyc6 OnRleHQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJQbGFuCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9u IGVnd19jYWxfZGF0ZXMgaWNkICAoY29zdD0wLjAwLi44LjI4IHJvd3M9MSB3aWR0aD0wKSAoYWN0 dWFsIHRpbWU9MC4wMDUuLjAuMDA3IHJvd3M9MSBsb29wcz0xOTYpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKChjYWxfaWQgPSAkMikgQU5EIChjYWxfc3Rh cnQgPSAkMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoY2Fs X3N0YXJ0IDw+IDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4g dXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxfZGF0ZXMgaWNkICAoY29zdD0wLjAw Li44LjI4IHJvd3M9MSB3aWR0aD0wKSAobmV2ZXIgZXhlY3V0ZWQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKChjYWxfaWQgPSAkMikgQU5EIChjYWxfc3Rh cnQgPSAkMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoY2Fs X3N0YXJ0IDw+IDApCiAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGVnd19jYWxf cGtleSBvbiBlZ3dfY2FsIGMgIChjb3N0PTAuMDAuLjguMjcgcm93cz0xIHdpZHRoPTUxKSAoYWN0 dWFsIHRpbWU9MC4wMDQuLjAuMDA2IHJvd3M9MSBsb29wcz02NCkKICAgICAgICAgICAgICAgICAg ICAgSW5kZXggQ29uZDogKGMuY2FsX2lkID0gY2QuY2FsX2lkKQogICAgICAgICAgICAgICBTdWJQ bGFuCiAgICAgICAgICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gZWd3X2NhdGVnb3Jp ZXMgY2EgIChjb3N0PTMwLjU5Li41OC40MSByb3dzPTEwIHdpZHRoPTUwKSAoYWN0dWFsIHRpbWU9 MC4wMTMuLjAuMDE1IHJvd3M9MSBsb29wcz02NCkKICAgICAgICAgICAgICAgICAgICAgICBSZWNo ZWNrIENvbmQ6ICgoY2F0X2lkKTo6dGV4dCA9IEFOWSAoc3RyaW5nX3RvX2FycmF5KCgkMCk6OnRl eHQsICcsJzo6dGV4dCkpKQogICAgICAgICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXgg U2NhbiBvbiBpZHhfZWd3XzAwMDUgIChjb3N0PTAuMDAuLjMwLjU5IHJvd3M9MTAgd2lkdGg9MCkg KGFjdHVhbCB0aW1lPTAuMDA4Li4wLjAwOCByb3dzPTEgbG9vcHM9NjQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKChjYXRfaWQpOjp0ZXh0ID0gQU5ZIChzdHJpbmdf dG9fYXJyYXkoKCQwKTo6dGV4dCwgJywnOjp0ZXh0KSkpCiBUb3RhbCBydW50aW1lOiAxMzYuNzAy IG1zCig0NiByZWdpc3Ryb3MpCgotLUFub3RoZXIgZ29vZCBvbmU6ClNFTEVDVAogcmVzb3VyY2Us CiBjYXRlZ29yeSwKIHVzZXJpZCwKIHRpdGxlLAogeWVhciwKIG1vbnRoLAogU1VNKGhvdXJzKQpG Uk9NCiAoCiAgU0VMRUNUCiAgIHIubmFtZSBBUyByZXNvdXJjZSwKICAgQVJSQVkoU0VMRUNUIGNh LmNhdF9uYW1lIEZST00gZWd3X2NhdGVnb3JpZXMgY2EgV0hFUkUgY2EuY2F0X2lkOjp0ZXh0ID0g QU5ZIChzdHJpbmdfdG9fYXJyYXkoYy5jYWxfY2F0ZWdvcnksICcsJykpKSBBUyBjYXRlZ29yeSwK ICAgY3UuY2FsX3VzZXJfaWQgQVMgdXNlcmlkLAogICBjLmNhbF90aXRsZSBBUyB0aXRsZSwKICAg RVhUUkFDVCh5ZWFyIEZST00gKFRJTUVTVEFNUCBXSVRIIFRJTUUgWk9ORSAnZXBvY2gnICsgY2Qu Y2FsX3N0YXJ0ICogSU5URVJWQUwgJzEgc2Vjb25kJykpIEFTIHllYXIsCiAgIEVYVFJBQ1QobW9u dGggRlJPTSAoVElNRVNUQU1QIFdJVEggVElNRSBaT05FICdlcG9jaCcgKyBjZC5jYWxfc3RhcnQg KiBJTlRFUlZBTCAnMSBzZWNvbmQnKSkgQVMgbW9udGgsCiAgIChjZC5jYWxfZW5kIC0gY2QuY2Fs X3N0YXJ0KSAqIElOVEVSVkFMICcxIHNlY29uZCcgQVMgaG91cnMKICBGUk9NIGVnd19jYWxfdXNl ciBjcgogIEpPSU4gZWd3X2NhbF9kYXRlcyBjZAogICBPTgogICAgY2QuY2FsX2lkID0gY3IuY2Fs X2lkIEFORAogICAgY3IuY2FsX3JlY3VyX2RhdGUgPSBDT0FMRVNDRSgoU0VMRUNUIGNkLmNhbF9z dGFydCBGUk9NIGVnd19jYWxfZGF0ZXMgaWNkIFdIRVJFIGljZC5jYWxfaWQgPSBjZC5jYWxfaWQg QU5EIGljZC5jYWxfc3RhcnQgPSBjZC5jYWxfc3RhcnQgQU5EIGljZC5jYWxfc3RhcnQgPD4gMCks IDApCiAgSk9JTiBlZ3dfcmVzb3VyY2VzIHIKICAgT04KICAgIHIucmVzX2lkID0gY3IuY2FsX3Vz ZXJfaWQgQU5ECiAgICBjci5jYWxfdXNlcl90eXBlID0gJ3InCiAgSk9JTiBlZ3dfY2F0ZWdvcmll cyBjdAogICBPTiBjdC5jYXRfaWQgPSByLmNhdF9pZAogIEpPSU4gZWd3X2NhbCBjCiAgIE9OIGMu Y2FsX2lkID0gY2QuY2FsX2lkCiAgTEVGVCBKT0lOIGVnd19jYWxfdXNlciBjdQogICBPTgogICAg Y3UuY2FsX2lkID0gY3IuY2FsX2lkIEFORAogICAgY3UuY2FsX3VzZXJfdHlwZSA9ICd1JyBBTkQK ICAgIGN1LmNhbF9yZWN1cl9kYXRlID0gQ09BTEVTQ0UoKFNFTEVDVCBjZC5jYWxfc3RhcnQgRlJP TSBlZ3dfY2FsX2RhdGVzIGljZCBXSEVSRSBpY2QuY2FsX2lkID0gY2QuY2FsX2lkIEFORCBpY2Qu Y2FsX3N0YXJ0ID0gY2QuY2FsX3N0YXJ0IEFORCBpY2QuY2FsX3N0YXJ0IDw+IDApLCAwKQogIFdI RVJFCiAgIGN0LmNhdF9tYWluID0gMTMzIEFORAogICByLnJlc19pZCA9IDg1MjIgQU5ECiAgIEVY VFJBQ1QoeWVhciBGUk9NIChUSU1FU1RBTVAgJ2Vwb2NoJyArIGNkLmNhbF9zdGFydCAqIElOVEVS VkFMICcxIHNlY29uZCcpKSA9IDIwMDggQU5ECiAgIEVYVFJBQ1QobW9udGggRlJPTSAoVElNRVNU QU1QICdlcG9jaCcgKyBjZC5jYWxfc3RhcnQgKiBJTlRFUlZBTCAnMSBzZWNvbmQnKSkgSU4gKDEw LDExLDEyKQogKSBmb28KR1JPVVAgQlkKIHJlc291cmNlLAogY2F0ZWdvcnksCiB1c2VyaWQsCiB0 aXRsZSwKIHllYXIsCiBtb250aApPUkRFUiBCWQogeWVhciwKIG1vbnRoLAogcmVzb3VyY2UsCiBj YXRlZ29yeSwKIHVzZXJpZCwKIHRpdGxlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEdyb3Vw QWdncmVnYXRlICAoY29zdD0xMzIuMTcuLjE5MC42NCByb3dzPTEgd2lkdGg9MTgwKSAoYWN0dWFs IHRpbWU9OTc4LjUwMi4uOTc5LjE3NCByb3dzPTE4IGxvb3BzPTEpCiAgIC0+ICBTb3J0ICAoY29z dD0xMzIuMTcuLjEzMi4xNyByb3dzPTEgd2lkdGg9MTgwKSAoYWN0dWFsIHRpbWU9OTc4LjQ0OC4u OTc4LjY4NiByb3dzPTE2MCBsb29wcz0xKQogICAgICAgICBTb3J0IEtleTogZGF0ZV9wYXJ0KCd5 ZWFyJzo6dGV4dCwgKCcxOTY5LTEyLTMxIDIxOjAwOjAwLTAzJzo6dGltZXN0YW1wIHdpdGggdGlt ZSB6b25lICsgKChjZC5jYWxfc3RhcnQpOjpkb3VibGUgcHJlY2lzaW9uICogJzAwOjAwOjAxJzo6 aW50ZXJ2YWwpKSksIGRhdGVfcGFydCgnbW9udGgnOjp0ZXh0LCAoJzE5NjktMTItMzEgMjE6MDA6 MDAtMDMnOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgKyAoKGNkLmNhbF9zdGFydCk6OmRvdWJs ZSBwcmVjaXNpb24gKiAnMDA6MDA6MDEnOjppbnRlcnZhbCkpKSwgci5uYW1lLCAoc3VicGxhbiks IGN1LmNhbF91c2VyX2lkLCBjLmNhbF90aXRsZQogICAgICAgICAtPiAgTmVzdGVkIExvb3AgTGVm dCBKb2luICAoY29zdD04LjI4Li4xMzIuMTYgcm93cz0xIHdpZHRoPTE4MCkgKGFjdHVhbCB0aW1l PTAuNDQxLi45NzQuNDI0IHJvd3M9MTYwIGxvb3BzPTEpCiAgICAgICAgICAgICAgIC0+ICBOZXN0 ZWQgTG9vcCAgKGNvc3Q9MC4wMC4uNDguODYgcm93cz0xIHdpZHRoPTE3OSkgKGFjdHVhbCB0aW1l PTAuMzQxLi45NjYuMDA0IHJvd3M9MTQ5IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgIEpv aW4gRmlsdGVyOiAoY3IuY2FsX3JlY3VyX2RhdGUgPSBDT0FMRVNDRSgoc3VicGxhbiksIDA6OmJp Z2ludCkpCiAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAgKGNvc3Q9MC4wMC4u MzguNzEgcm93cz0xIHdpZHRoPTE3MSkgKGFjdHVhbCB0aW1lPTAuMTIzLi4xOS43MzIgcm93cz0x MTA1IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAg KGNvc3Q9MC4wMC4uMzUuODQgcm93cz0xIHdpZHRoPTEyMCkgKGFjdHVhbCB0aW1lPTAuMTA2Li41 Ljc5MCByb3dzPTExMDUgbG9vcHM9MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIE5lc3RlZCBMb29wICAoY29zdD0wLjAwLi4xNi41NSByb3dzPTEgd2lkdGg9MTEyKSAoYWN0 dWFsIHRpbWU9MC4wNDYuLjAuMDYwIHJvd3M9MSBsb29wcz0xKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBlZ3dfcmVzb3VyY2VzX3Br ZXkgb24gZWd3X3Jlc291cmNlcyByICAoY29zdD0wLjAwLi44LjI3IHJvd3M9MSB3aWR0aD0xMTYp IChhY3R1YWwgdGltZT0wLjAyNS4uMC4wMjkgcm93cz0xIGxvb3BzPTEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChyZXNfaWQgPSA4NTIy KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1 c2luZyBlZ3dfY2F0ZWdvcmllc19wa2V5IG9uIGVnd19jYXRlZ29yaWVzIGN0ICAoY29zdD0wLjAw Li44LjI3IHJvd3M9MSB3aWR0aD00KSAoYWN0dWFsIHRpbWU9MC4wMTIuLjAuMDE2IHJvd3M9MSBs b29wcz0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRl eCBDb25kOiAoY3QuY2F0X2lkID0gci5jYXRfaWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGNhdF9tYWluID0gMTMzKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpZHhfZWd3XzAwMDEgb24g ZWd3X2NhbF91c2VyIGNyICAoY29zdD0wLjAwLi4xOS4yMyByb3dzPTQgd2lkdGg9MjEpIChhY3R1 YWwgdGltZT0wLjA0NC4uMi4yOTcgcm93cz0xMTA1IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoKHIucmVzX2lkKTo6dGV4dCA9IChj ci5jYWxfdXNlcl9pZCk6OnRleHQpIEFORCAoKGNyLmNhbF91c2VyX3R5cGUpOjp0ZXh0ID0gJ3In Ojp0ZXh0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcg ZWd3X2NhbF9wa2V5IG9uIGVnd19jYWwgYyAgKGNvc3Q9MC4wMC4uMi44NiByb3dzPTEgd2lkdGg9 NTEpIChhY3R1YWwgdGltZT0wLjAwNC4uMC4wMDYgcm93cz0xIGxvb3BzPTExMDUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChjLmNhbF9pZCA9IGNyLmNhbF9p ZCkKICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRl c19wa2V5IG9uIGVnd19jYWxfZGF0ZXMgY2QgIChjb3N0PTAuMDAuLjEuODYgcm93cz0xIHdpZHRo PTIwKSAoYWN0dWFsIHRpbWU9MC4wMTMuLjAuNTI2IHJvd3M9MjggbG9vcHM9MTEwNSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGNkLmNhbF9pZCA9IGNyLmNhbF9pZCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGRhdGVfcGFydCgneWVhcic6OnRl eHQsICgnMTk3MC0wMS0wMSAwMDowMDowMCc6OnRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSAr ICgoY2FsX3N0YXJ0KTo6ZG91YmxlIHByZWNpc2lvbiAqICcwMDowMDowMSc6OmludGVydmFsKSkp ID0gMjAwODo6ZG91YmxlIHByZWNpc2lvbikgQU5EIChkYXRlX3BhcnQoJ21vbnRoJzo6dGV4dCwg KCcxOTcwLTAxLTAxIDAwOjAwOjAwJzo6dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lICsgKChj YWxfc3RhcnQpOjpkb3VibGUgcHJlY2lzaW9uICogJzAwOjAwOjAxJzo6aW50ZXJ2YWwpKSkgPSBB TlkgKCd7MTAsMTEsMTJ9Jzo6ZG91YmxlIHByZWNpc2lvbltdKSkpCiAgICAgICAgICAgICAgICAg ICAgIFN1YlBsYW4KICAgICAgICAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBl Z3dfY2FsX2RhdGVzX3BrZXkgb24gZWd3X2NhbF9kYXRlcyBpY2QgIChjb3N0PTAuMDAuLjguMjgg cm93cz0xIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjAwNS4uMC4wMDYgcm93cz0xIGxvb3BzPTMw OTI5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgoY2FsX2lkID0g JDIpIEFORCAoY2FsX3N0YXJ0ID0gJDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKGNhbF9zdGFydCA8PiAwKQogICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2lu ZyBlZ3dfY2FsX3VzZXJfcGtleSBvbiBlZ3dfY2FsX3VzZXIgY3UgIChjb3N0PTguMjguLjE2LjU3 IHJvd3M9MSB3aWR0aD0yMSkgKGFjdHVhbCB0aW1lPTAuMDA3Li4wLjAwOSByb3dzPTEgbG9vcHM9 MTQ5KQogICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoKGN1LmNhbF9pZCA9IGNyLmNh bF9pZCkgQU5EIChjdS5jYWxfcmVjdXJfZGF0ZSA9IENPQUxFU0NFKChzdWJwbGFuKSwgMDo6Ymln aW50KSkgQU5EICgoY3UuY2FsX3VzZXJfdHlwZSk6OnRleHQgPSAndSc6OnRleHQpKQogICAgICAg ICAgICAgICAgICAgICBTdWJQbGFuCiAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IFNj YW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxfZGF0ZXMgaWNkICAoY29zdD0w LjAwLi44LjI4IHJvd3M9MSB3aWR0aD0wKSAoYWN0dWFsIHRpbWU9MC4wMDQuLjAuMDA2IHJvd3M9 MSBsb29wcz0xNDkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKChj YWxfaWQgPSAkMikgQU5EIChjYWxfc3RhcnQgPSAkMSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoY2FsX3N0YXJ0IDw+IDApCiAgICAgICAgICAgICAgICAgICAgICAgLT4g IEluZGV4IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxfZGF0ZXMgaWNk ICAoY29zdD0wLjAwLi44LjI4IHJvd3M9MSB3aWR0aD0wKSAobmV2ZXIgZXhlY3V0ZWQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKChjYWxfaWQgPSAkMikgQU5EIChj YWxfc3RhcnQgPSAkMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoY2Fs X3N0YXJ0IDw+IDApCiAgICAgICAgICAgICAgIFN1YlBsYW4KICAgICAgICAgICAgICAgICAtPiAg Qml0bWFwIEhlYXAgU2NhbiBvbiBlZ3dfY2F0ZWdvcmllcyBjYSAgKGNvc3Q9MzAuNTkuLjU4LjQx IHJvd3M9MTAgd2lkdGg9NTApIChhY3R1YWwgdGltZT0wLjAxMy4uMC4wMTQgcm93cz0xIGxvb3Bz PTE2MCkKICAgICAgICAgICAgICAgICAgICAgICBSZWNoZWNrIENvbmQ6ICgoY2F0X2lkKTo6dGV4 dCA9IEFOWSAoc3RyaW5nX3RvX2FycmF5KCgkMCk6OnRleHQsICcsJzo6dGV4dCkpKQogICAgICAg ICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBpZHhfZWd3XzAwMDUgIChj b3N0PTAuMDAuLjMwLjU5IHJvd3M9MTAgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTAuMDA4Li4wLjAw OCByb3dzPTEgbG9vcHM9MTYwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENv bmQ6ICgoY2F0X2lkKTo6dGV4dCA9IEFOWSAoc3RyaW5nX3RvX2FycmF5KCgkMCk6OnRleHQsICcs Jzo6dGV4dCkpKQogVG90YWwgcnVudGltZTogOTc5LjY4NSBtcwooNDAgcmVnaXN0cm9zKQoKLS1B bG1vc3QgdGhlIHNhbWUgdGhpbmcgb24gOC4zLjUgKGFub3RoZXIgaGFyZHdhcmUpOgpTRUxFQ1QK IHJlc291cmNlLAogY2F0ZWdvcnksCiB1c2VyaWQsCiB0aXRsZSwKIHllYXIsCiBtb250aCwKIFNV TShob3VycykKRlJPTQogKAogIFNFTEVDVAogICByLm5hbWUgQVMgcmVzb3VyY2UsCiAgIEFSUkFZ KFNFTEVDVCBjYS5jYXRfbmFtZSBGUk9NIGVnd19jYXRlZ29yaWVzIGNhIFdIRVJFIGNhLmNhdF9p ZDo6dGV4dCA9IEFOWSAoc3RyaW5nX3RvX2FycmF5KGMuY2FsX2NhdGVnb3J5LCAnLCcpKSkgQVMg Y2F0ZWdvcnksCiAgIGN1LmNhbF91c2VyX2lkIEFTIHVzZXJpZCwKICAgYy5jYWxfdGl0bGUgQVMg dGl0bGUsCiAgIEVYVFJBQ1QoeWVhciBGUk9NIChUSU1FU1RBTVAgV0lUSCBUSU1FIFpPTkUgJ2Vw b2NoJyArIGNkLmNhbF9zdGFydCAqIElOVEVSVkFMICcxIHNlY29uZCcpKSBBUyB5ZWFyLAogICBF WFRSQUNUKG1vbnRoIEZST00gKFRJTUVTVEFNUCBXSVRIIFRJTUUgWk9ORSAnZXBvY2gnICsgY2Qu Y2FsX3N0YXJ0ICogSU5URVJWQUwgJzEgc2Vjb25kJykpIEFTIG1vbnRoLAogICAoY2QuY2FsX2Vu ZCAtIGNkLmNhbF9zdGFydCkgKiBJTlRFUlZBTCAnMSBzZWNvbmQnIEFTIGhvdXJzCiAgRlJPTSBl Z3dfY2FsX3VzZXIgY3IKICBKT0lOIGVnd19jYWxfZGF0ZXMgY2QKICAgT04KICAgIGNkLmNhbF9p ZCA9IGNyLmNhbF9pZCBBTkQKICAgIGNyLmNhbF9yZWN1cl9kYXRlID0gQ09BTEVTQ0UoKFNFTEVD VCBjZC5jYWxfc3RhcnQgRlJPTSBlZ3dfY2FsX2RhdGVzIGljZCBXSEVSRSBpY2QuY2FsX2lkID0g Y2QuY2FsX2lkIEFORCBpY2QuY2FsX3N0YXJ0ID0gY2QuY2FsX3N0YXJ0IEFORCBpY2QuY2FsX3N0 YXJ0IDw+IDApLCAwKQogIEpPSU4gZWd3X3Jlc291cmNlcyByCiAgIE9OCiAgICByLnJlc19pZDo6 dGV4dCA9IGNyLmNhbF91c2VyX2lkIEFORAogICAgY3IuY2FsX3VzZXJfdHlwZSA9ICdyJwogIEpP SU4gZWd3X2NhdGVnb3JpZXMgY3QKICAgT04gY3QuY2F0X2lkID0gci5jYXRfaWQKICBKT0lOIGVn d19jYWwgYwogICBPTiBjLmNhbF9pZCA9IGNkLmNhbF9pZAogIExFRlQgSk9JTiBlZ3dfY2FsX3Vz ZXIgY3UKICAgT04KICAgIGN1LmNhbF9pZCA9IGNyLmNhbF9pZCBBTkQKICAgIGN1LmNhbF91c2Vy X3R5cGUgPSAndScgQU5ECiAgICBjdS5jYWxfcmVjdXJfZGF0ZSA9IENPQUxFU0NFKChTRUxFQ1Qg Y2QuY2FsX3N0YXJ0IEZST00gZWd3X2NhbF9kYXRlcyBpY2QgV0hFUkUgaWNkLmNhbF9pZCA9IGNk LmNhbF9pZCBBTkQgaWNkLmNhbF9zdGFydCA9IGNkLmNhbF9zdGFydCBBTkQgaWNkLmNhbF9zdGFy dCA8PiAwKSwgMCkKICBXSEVSRQogICBjdC5jYXRfbWFpbiA9IDEzMyBBTkQKICAgci5yZXNfaWQg PSA4NTIyIEFORAogICBjdS5jYWxfdXNlcl9pZCA9ICcyNzg4MjcnIEFORCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgIEVYVFJBQ1Qo eWVhciBGUk9NIChUSU1FU1RBTVAgJ2Vwb2NoJyArIGNkLmNhbF9zdGFydCAqIElOVEVSVkFMICcx IHNlY29uZCcpKSA9IDIwMDggQU5ECiAgIEVYVFJBQ1QobW9udGggRlJPTSAoVElNRVNUQU1QICdl cG9jaCcgKyBjZC5jYWxfc3RhcnQgKiBJTlRFUlZBTCAnMSBzZWNvbmQnKSkgSU4gKDEwLDExLDEy KQogKSBmb28KR1JPVVAgQlkKIHJlc291cmNlLAogY2F0ZWdvcnksCiB1c2VyaWQsCiB0aXRsZSwK IHllYXIsCiBtb250aApPUkRFUiBCWQogeWVhciwKIG1vbnRoLAogcmVzb3VyY2UsCiBjYXRlZ29y eSwKIHVzZXJpZCwKIHRpdGxlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEdyb3VwQWdncmVn YXRlICAoY29zdD0xMzEuMTcuLjIxNS41MyByb3dzPTEgd2lkdGg9MTc1KSAoYWN0dWFsIHRpbWU9 MzE3OTc1MC4xOTcuLjMxNzk3NTAuNzQ3IHJvd3M9NCBsb29wcz0xKQogICAtPiAgU29ydCAgKGNv c3Q9MTMxLjE3Li4xMzEuMTggcm93cz0xIHdpZHRoPTE3NSkgKGFjdHVhbCB0aW1lPTMxNzk3NDku ODk3Li4zMTc5NzUwLjAwNyByb3dzPTY0IGxvb3BzPTEpCiAgICAgICAgIFNvcnQgS2V5OiAoZGF0 ZV9wYXJ0KCd5ZWFyJzo6dGV4dCwgKCcxOTY5LTEyLTMxIDIxOjAwOjAwLTAzJzo6dGltZXN0YW1w IHdpdGggdGltZSB6b25lICsgKChjZC5jYWxfc3RhcnQpOjpkb3VibGUgcHJlY2lzaW9uICogJzAw OjAwOjAxJzo6aW50ZXJ2YWwpKSkpLCAoZGF0ZV9wYXJ0KCdtb250aCc6OnRleHQsICgnMTk2OS0x Mi0zMSAyMTowMDowMC0wMyc6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSArICgoY2QuY2FsX3N0 YXJ0KTo6ZG91YmxlIHByZWNpc2lvbiAqICcwMDowMDowMSc6OmludGVydmFsKSkpKSwgci5uYW1l LCAoKHN1YnBsYW4pKSwgY3UuY2FsX3VzZXJfaWQsIGMuY2FsX3RpdGxlCiAgICAgICAgIFNvcnQg TWV0aG9kOiAgcXVpY2tzb3J0ICBNZW1vcnk6IDMza0IKICAgICAgICAgLT4gIE5lc3RlZCBMb29w ICAoY29zdD0wLjAxLi4xMzEuMTYgcm93cz0xIHdpZHRoPTE3NSkgKGFjdHVhbCB0aW1lPTE1NTE3 OC40NjcuLjMxNzk3NDQuMDEwIHJvd3M9NjQgbG9vcHM9MSkKICAgICAgICAgICAgICAgSm9pbiBG aWx0ZXI6ICgoY3IuY2FsX3JlY3VyX2RhdGUgPSBDT0FMRVNDRSgoc3VicGxhbiksIDA6OmJpZ2lu dCkpIEFORCAoY3UuY2FsX3JlY3VyX2RhdGUgPSBDT0FMRVNDRSgoc3VicGxhbiksIDA6OmJpZ2lu dCkpKQogICAgICAgICAgICAgICAtPiAgTmVzdGVkIExvb3AgIChjb3N0PTAuMDEuLjI5LjI1IHJv d3M9MSB3aWR0aD0xODcpIChhY3R1YWwgdGltZT0wLjI3NC4uNTUyNDYuMjE3IHJvd3M9NTExMjIy IGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAgKGNvc3Q9MC4w MS4uMjcuMzYgcm93cz0xIHdpZHRoPTE0MCkgKGFjdHVhbCB0aW1lPTAuMjU1Li4xMzIzNC4xOTEg cm93cz01MTEyMjIgbG9vcHM9MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIE5lc3Rl ZCBMb29wICAoY29zdD0wLjAxLi4yNC44NSByb3dzPTEgd2lkdGg9MTIyKSAoYWN0dWFsIHRpbWU9 MC4yMjYuLjEyNi4yMjQgcm93cz0xMDkzIGxvb3BzPTEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCAgKGNvc3Q9MC4wMS4uMTYuNTcgcm93cz0xIHdpZHRo PTEyNikgKGFjdHVhbCB0aW1lPTAuMTkyLi4yMC4wMTMgcm93cz0xMDkzIGxvb3BzPTEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGVn d19yZXNvdXJjZXNfcGtleSBvbiBlZ3dfcmVzb3VyY2VzIHIgIChjb3N0PTAuMDAuLjguMjcgcm93 cz0xIHdpZHRoPTExOCkgKGFjdHVhbCB0aW1lPTAuMDU1Li4wLjA2MSByb3dzPTEgbG9vcHM9MSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDog KHJlc19pZCA9IDg1MjIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBJbmRleCBTY2FuIHVzaW5nIGlkeF9lZ3dfMDAwMSBvbiBlZ3dfY2FsX3VzZXIgY3IgIChjb3N0 PTAuMDEuLjguMjggcm93cz0xIHdpZHRoPTE4KSAoYWN0dWFsIHRpbWU9MC4wOTMuLjkuODAyIHJv d3M9MTA5MyBsb29wcz0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJbmRleCBDb25kOiAoKChjci5jYWxfdXNlcl9pZCk6OnRleHQgPSAoci5yZXNfaWQpOjp0 ZXh0KSBBTkQgKChjci5jYWxfdXNlcl90eXBlKTo6dGV4dCA9ICdyJzo6dGV4dCkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGVnd19jYXRlZ29y aWVzX3BrZXkgb24gZWd3X2NhdGVnb3JpZXMgY3QgIChjb3N0PTAuMDAuLjguMjcgcm93cz0xIHdp ZHRoPTQpIChhY3R1YWwgdGltZT0wLjA2NC4uMC4wNzcgcm93cz0xIGxvb3BzPTEwOTMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChjdC5jYXRfaWQg PSByLmNhdF9pZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoY3QuY2F0X21haW4gPSAxMzMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBJbmRl eCBTY2FuIHVzaW5nIGVnd19jYWxfdXNlcl9wa2V5IG9uIGVnd19jYWxfdXNlciBjdSAgKGNvc3Q9 MC4wMC4uMi40OSByb3dzPTEgd2lkdGg9MTgpIChhY3R1YWwgdGltZT0wLjEzOC4uNS42MTEgcm93 cz00NjggbG9vcHM9MTA5MykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgg Q29uZDogKChjdS5jYWxfaWQgPSBjci5jYWxfaWQpIEFORCAoKGN1LmNhbF91c2VyX3R5cGUpOjp0 ZXh0ID0gJ3UnOjp0ZXh0KSBBTkQgKChjdS5jYWxfdXNlcl9pZCk6OnRleHQgPSAnMjc4ODI3Jzo6 dGV4dCkpCiAgICAgICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGVnd19jYWxf cGtleSBvbiBlZ3dfY2FsIGMgIChjb3N0PTAuMDAuLjEuODkgcm93cz0xIHdpZHRoPTQ3KSAoYWN0 dWFsIHRpbWU9MC4wNDQuLjAuMDUyIHJvd3M9MSBsb29wcz01MTEyMjIpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIEluZGV4IENvbmQ6IChjLmNhbF9pZCA9IGNyLmNhbF9pZCkKICAgICAgICAg ICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxf ZGF0ZXMgY2QgIChjb3N0PTAuMDAuLjEuMDIgcm93cz0xIHdpZHRoPTIwKSAoYWN0dWFsIHRpbWU9 MC4xMDguLjQuMjgxIHJvd3M9MzAgbG9vcHM9NTExMjIyKQogICAgICAgICAgICAgICAgICAgICBJ bmRleCBDb25kOiAoY2QuY2FsX2lkID0gY3IuY2FsX2lkKQogICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6ICgoZGF0ZV9wYXJ0KCd5ZWFyJzo6dGV4dCwgKCcxOTcwLTAxLTAxIDAwOjAwOjAwJzo6 dGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lICsgKChjZC5jYWxfc3RhcnQpOjpkb3VibGUgcHJl Y2lzaW9uICogJzAwOjAwOjAxJzo6aW50ZXJ2YWwpKSkgPSAyMDA4Ojpkb3VibGUgcHJlY2lzaW9u KSBBTkQgKGRhdGVfcGFydCgnbW9udGgnOjp0ZXh0LCAoJzE5NzAtMDEtMDEgMDA6MDA6MDAnOjp0 aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgKyAoKGNkLmNhbF9zdGFydCk6OmRvdWJsZSBwcmVj aXNpb24gKiAnMDA6MDA6MDEnOjppbnRlcnZhbCkpKSA9IEFOWSAoJ3sxMCwxMSwxMn0nOjpkb3Vi bGUgcHJlY2lzaW9uW10pKSkKICAgICAgICAgICAgICAgU3ViUGxhbgogICAgICAgICAgICAgICAg IC0+ICBJbmRleCBTY2FuIHVzaW5nIGVnd19jYWxfZGF0ZXNfcGtleSBvbiBlZ3dfY2FsX2RhdGVz IGljZCAgKGNvc3Q9MC4wMC4uOC4yOCByb3dzPTEgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTAuMDI5 Li4wLjAzNSByb3dzPTEgbG9vcHM9Mjk1MjApCiAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgg Q29uZDogKChjYWxfaWQgPSAkMikgQU5EIChjYWxfc3RhcnQgPSAkMSkpCiAgICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoY2FsX3N0YXJ0IDw+IDApCiAgICAgICAgICAgICAgICAgLT4gIElu ZGV4IFNjYW4gdXNpbmcgZWd3X2NhbF9kYXRlc19wa2V5IG9uIGVnd19jYWxfZGF0ZXMgaWNkICAo Y29zdD0wLjAwLi44LjI4IHJvd3M9MSB3aWR0aD0wKSAoYWN0dWFsIHRpbWU9MC4wMzQuLjAuMDQw IHJvd3M9MSBsb29wcz0xNTE1ODk3NikKICAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25k OiAoKGNhbF9pZCA9ICQyKSBBTkQgKGNhbF9zdGFydCA9ICQxKSkKICAgICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChjYWxfc3RhcnQgPD4gMCkKICAgICAgICAgICAgICAgICAtPiAgQml0bWFw IEhlYXAgU2NhbiBvbiBlZ3dfY2F0ZWdvcmllcyBjYSAgKGNvc3Q9MzEuMjkuLjg0LjI5IHJvd3M9 MTAwIHdpZHRoPTQ4KSAoYWN0dWFsIHRpbWU9MC4xMjcuLjAuMTMxIHJvd3M9MSBsb29wcz02NCkK ICAgICAgICAgICAgICAgICAgICAgICBSZWNoZWNrIENvbmQ6ICgoY2F0X2lkKTo6dGV4dCA9IEFO WSAoc3RyaW5nX3RvX2FycmF5KCgkMCk6OnRleHQsICcsJzo6dGV4dCkpKQogICAgICAgICAgICAg ICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBpZHhfZWd3XzAwMDUgIChjb3N0PTAu MDAuLjMxLjI3IHJvd3M9MTAwIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjA5Ny4uMC4wOTcgcm93 cz0xIGxvb3BzPTY0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgo Y2F0X2lkKTo6dGV4dCA9IEFOWSAoc3RyaW5nX3RvX2FycmF5KCgkMCk6OnRleHQsICcsJzo6dGV4 dCkpKQogVG90YWwgcnVudGltZTogMzE3OTc1MS41MTAgbXMKKDM2IHJlZ2lzdHJvcykKCg== ------=_Part_64296_1638955.1228233756006--