Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7HA1-0058ff-3B for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 18:16:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7HA0-005SNM-0S for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 18:16:24 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7H9z-005SNE-2Q for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 18:16:24 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7H9x-000000022V5-1Dui for pgsql-hackers@postgresql.org; Mon, 30 Mar 2026 18:16:23 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-66c1d3fecb2so1084067a12.3 for ; Mon, 30 Mar 2026 11:16:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774894579; cv=none; d=google.com; s=arc-20240605; b=c7ERqEcptJbHjtBzpJEmbAQok9pigQyLwCEPBEqcyVlFZ18dXFiRBzNSCEUhCr6IU0 QOSbU5UDpyvnuGu8pIKvRbTJoVR7hjxfNdWgrbzRet98y8voj7TpyFyGViFKbIA+CNym L+MhzN/inLHx1wepc0yj+zOmG6TcroKtmXvtYPD+OXjtbL4dqs5/NR5MGJY55pHwmg6y NdDmD6W27+zhvBFpr3d+L16h5Vo5r5ssvTea3WB4Rx81X9bMwFZjeQr3PngibhYED54k ZcLo8lNjz++QdVnfW2AIw3oBgPMPrBZBH+ivwSjQuhuYAsfjo+HnlMEmtj4Qh2nJeOUG VGAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=67jnlPTMRPJ5x5yfQO6+A24QW51Os7Koph73BH3T4fk=; fh=efyrqhYl4356lyGiKiyEdLjmulIwde/fYEl4DOVxZng=; b=N5jdUPBAhBcKDQnhk+CmRDhRgC3bZjZ56nC/XR+OT3sKKYJBKYsMusdywaWSgDrJEE tsVnROoUUp9klSZTUgT2gFtIP5MZpUoVjTd2tDuVR232wSjlCrkYg/9uqGCcnUjM/DWN zHUXWILzkmwnYQ7I+XuxdymXQyrFu7zcKiurCWkIoRgiOuWvsohFzH9Vi3eePf0J8ovV NOzWSefSPVmMENB9xZAXLsLjCYicalgB10VvU8aIGHSg8ePuDuh/sqD2QfcN/cfJjIlL yPlq6R0gQHf6D0nUyH3UX8ztq1A6x1h5o+Ps+IODvLPAFZJjiZRP8a5P5TRkUmp+x5bS a1sA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774894579; x=1775499379; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=67jnlPTMRPJ5x5yfQO6+A24QW51Os7Koph73BH3T4fk=; b=GZkI56MEYjJ8XvR6eAMwxA0TVpcPRzWr6Yts2rleoJQA1Eejea4lDfw7kkyE3uNF01 Usto4uqz6egmtLbkideFuc0tTuzSjN5cJ39i1fed2nGzNPTM1hwqDWYA8hQDQsPXbwBn 28okDAGnM02wMEmGJTTfSMyglusonhU8Xmio8XVmioxkDxILJoIkbWKTs/IsfyAH2JLr f6zG44Y1W2f0HqkiafL+nsNsDDp79zdyUQST9fJhA6MAit7j8lEipvSqj6abO09Q8Cqs fLFQSE5ZRODdzF9RUrn/OSbWMKpWco0/EuLldO5q72qPF/6I8UEzrZqfVGtShptPRkGM SMew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774894579; x=1775499379; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=67jnlPTMRPJ5x5yfQO6+A24QW51Os7Koph73BH3T4fk=; b=cwzaidqByK5gxjAYwg/ikqkI9mKrquQV0ujMsJX8m09CtFtL18pK4TBmQVLRCrNv7q PueRMNFrdV5Z/KrtLb6zpP4tl5oXZxziK9idyZXHU12kxF6ZXqHPWTgPwqyKW9Wyoikm A9fu/D4Yz5iFf9ht4ZUaxNxLdSRudmtm3pgXzmE9iRiTn885JaOZ1sCec+oc98nABFqJ jiERPSm/KEMUFkBL5jZU5fGNvFlaOKn8SzGFSBcA4N1qcViId+raSsbOPgJi20MOn48x syo8xmAj8KnwTU26vtQKmyMr1UlTgvcMpSnQsBbnADo6IjaxqdfSE3+NsIS2KKGdKQi6 ZnLg== X-Forwarded-Encrypted: i=1; AJvYcCUb1FSnxsCLmTpvqkCzAFFZjXElD1MypnSecEntQf9SQlbVmVwSSe2iOlVXQdFM1wGZe0z4g+p7ULqIVDfg@postgresql.org X-Gm-Message-State: AOJu0YxLfHUpFSPlZTZGvclgKGsJgU3PJaD6qj2ppz0to7vR8UGCvA27 kUABkqMLI5H6pTsb/FIrE4woK4M2JKhFTcLQc6K5vfAPhpeKCx1tr4P7BIvWYeag4ktWuQUN7Ig shEmoyGJgqvimwu2tdvxmp1TRo6umLWo= X-Gm-Gg: ATEYQzwshYcdRoo29iaoMFsq01+0d64RL5ijnXTHTsjt3z/xtkUTw/ztXY1LJyZucpQ WlzuBI7r7gGUWlmvSteP9NcrTz876o5c6AnkQrcl2BI2PYWOE1vnqjG2+/wCSUvC6CjRQHDh14S T/V7bDCZTIgPvUqxI9dQMkyIy+X/72lyGtfWp+mYrlIrUGictGou0ly+dy6X9Tw/7NWuDQikBPg 1zMtHY5DeZsqve+rlkpgLzB9pAwsivsjp3Eb5TELEyrLRojfHaJBhVElWXfw1FJW+UzR5/8GGn/ zbroZg== X-Received: by 2002:a05:6402:43c3:b0:663:4315:7271 with SMTP id 4fb4d7f45d1cf-66b28d68071mr8733627a12.23.1774894579146; Mon, 30 Mar 2026 11:16:19 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sami Imseih Date: Mon, 30 Mar 2026 13:16:07 -0500 X-Gm-Features: AQROBzCm12VlssnzsTQ0orwuaoWLns2T3bOUWB6CCb9i3Xhdpejzbz-MmfXicL0 Message-ID: Subject: Re: Add pg_stat_autovacuum_priority To: Robert Treat Cc: Bharath Rupireddy , satyanarlapuram@gmail.com, pgsql-hackers Content-Type: multipart/mixed; boundary="000000000000e7c6b2064e41d86b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e7c6b2064e41d86b Content-Type: text/plain; charset="UTF-8" > I think we are also in agreement here, although based on my > experience, filtering out things like system and toast tables will be > common, but I don't see that changing what you said above. On a > similar note, +1 to your changes in v2. Thanks! v3 now includes the refactoring [1] suggestion brought up by Alvarro [1] [https://www.postgresql.org/message-id/202603301508.up22nvhgnnoj%40alvherre.pgsql] -- Sami --000000000000e7c6b2064e41d86b Content-Type: application/octet-stream; name="v3-0002-Refactor-autovacuum-score-computation-into-comput.patch" Content-Disposition: attachment; filename="v3-0002-Refactor-autovacuum-score-computation-into-comput.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndie6vl1 RnJvbSAyOTQwZDJhMWI0OTdlYTY3OTE5MThhNjY0NjY5MDc3OWM5YjAxMDY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAzMCBNYXIgMjAyNiAxNzoyMzowOSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjMgMi8z XSBSZWZhY3RvciBhdXRvdmFjdXVtIHNjb3JlIGNvbXB1dGF0aW9uIGludG8KIGNvbXB1dGVfYXV0 b3ZhY19zY29yZQoKVGhlIHBhdHRlcm4gb2YgZmV0Y2hpbmcgYSByZWxhdGlvbidzIHBnc3RhdCBl bnRyeSBhbmQKY2FsbGluZyByZWxhdGlvbl9uZWVkc192YWNhbmFseXplKCkgaXMgbmVlZGVkIGlu IG11bHRpcGxlCnBsYWNlczogdGFibGVfcmVjaGVja19hdXRvdmFjIGFuZCBhIGZ1dHVyZSB2aWV3 IHRoYXQgd2lsbAplbWl0IGEgcmVsYXRpb24ncyBhdXRvdmFjdXVtIHByaW9yaXR5IHNjb3JlLgoK SW50cm9kdWNlIGNvbXB1dGVfYXV0b3ZhY19zY29yZSgpIHRvIGNvbnNvbGlkYXRlIHRoaXMuCkl0 IGFjY2VwdHMgcmVsb3B0cyBhbmQgZm9yY2Vfc2NvcmVzIHBhcmFtZXRlcnMsIGFuZApyZXBsYWNl cyByZWNoZWNrX3JlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoKSB3aGljaCBkaWQKdGhlIHNhbWUg dGhpbmcgd2l0aCBhIG5hcnJvd2VyIGludGVyZmFjZS4KCkRpc2N1c3Npb246IGh0dHBzOi8vcG9z dGdyLmVzL20vQ0FBNVJaMHM0eGpNckItVkFuTGNjQzdrWThkMC00ODA2LUxzYWMtY3pKc2RBMUxY dEF3JTQwbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1 dW0uYyB8IDUxICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MjQgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92 YWN1dW0uYwppbmRleCBmNmIyMTM4NTJlMy4uZmJlNjcwZDM3NWYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvYXV0b3ZhY3V1bS5jCkBAIC0zNzAsMTAgKzM3MCwxMSBAQCBzdGF0aWMgdm9pZCBGcmVlV29y a2VySW5mbyhpbnQgY29kZSwgRGF0dW0gYXJnKTsKIHN0YXRpYyBhdXRvdmFjX3RhYmxlICp0YWJs ZV9yZWNoZWNrX2F1dG92YWMoT2lkIHJlbGlkLCBIVEFCICp0YWJsZV90b2FzdF9tYXAsCiAJCQkJ CQkJCQkJCVR1cGxlRGVzYyBwZ19jbGFzc19kZXNjLAogCQkJCQkJCQkJCQlpbnQgZWZmZWN0aXZl X211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSk7Ci1zdGF0aWMgdm9pZCByZWNoZWNrX3JlbGF0aW9u X25lZWRzX3ZhY2FuYWx5emUoT2lkIHJlbGlkLCBBdXRvVmFjT3B0cyAqYXZvcHRzLAotCQkJCQkJ CQkJCQkgIEZvcm1fcGdfY2xhc3MgY2xhc3NGb3JtLAotCQkJCQkJCQkJCQkgIGludCBlZmZlY3Rp dmVfbXVsdGl4YWN0X2ZyZWV6ZV9tYXhfYWdlLAotCQkJCQkJCQkJCQkgIGJvb2wgKmRvdmFjdXVt LCBib29sICpkb2FuYWx5emUsIGJvb2wgKndyYXBhcm91bmQpOworc3RhdGljIHZvaWQgY29tcHV0 ZV9hdXRvdmFjX3Njb3JlKEhlYXBUdXBsZSB0dXBsZSwgVHVwbGVEZXNjIHBnX2NsYXNzX2Rlc2Ms CisJCQkJCQkJCSAgaW50IGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UsCisJCQkJ CQkJCSAgQXV0b1ZhY09wdHMgKnJlbG9wdHMsIGJvb2wgZm9yY2Vfc2NvcmVzLAorCQkJCQkJCQkg IGJvb2wgKmRvdmFjdXVtLCBib29sICpkb2FuYWx5emUsCisJCQkJCQkJCSAgYm9vbCAqd3JhcGFy b3VuZCwgQXV0b1ZhY3V1bVNjb3JlcyAqc2NvcmVzKTsKIHN0YXRpYyB2b2lkIHJlbGF0aW9uX25l ZWRzX3ZhY2FuYWx5emUoT2lkIHJlbGlkLCBBdXRvVmFjT3B0cyAqcmVsb3B0cywKIAkJCQkJCQkJ CSAgRm9ybV9wZ19jbGFzcyBjbGFzc0Zvcm0sCiAJCQkJCQkJCQkgIFBnU3RhdF9TdGF0VGFiRW50 cnkgKnRhYmVudHJ5LApAQCAtMjgzNCw2ICsyODM1LDcgQEAgdGFibGVfcmVjaGVja19hdXRvdmFj KE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAogCWJvb2wJCXdyYXBhcm91bmQ7CiAJ QXV0b1ZhY09wdHMgKmF2b3B0czsKIAlib29sCQlmcmVlX2F2b3B0cyA9IGZhbHNlOworCUF1dG9W YWN1dW1TY29yZXMgc2NvcmVzOwogCiAJLyogZmV0Y2ggdGhlIHJlbGF0aW9uJ3MgcmVsY2FjaGUg ZW50cnkgKi8KIAljbGFzc1R1cCA9IFNlYXJjaFN5c0NhY2hlQ29weTEoUkVMT0lELCBPYmplY3RJ ZEdldERhdHVtKHJlbGlkKSk7CkBAIC0yODU5LDkgKzI4NjEsMTAgQEAgdGFibGVfcmVjaGVja19h dXRvdmFjKE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAogCQkJYXZvcHRzID0gJmhl bnRyeS0+YXJfcmVsb3B0aW9uczsKIAl9CiAKLQlyZWNoZWNrX3JlbGF0aW9uX25lZWRzX3ZhY2Fu YWx5emUocmVsaWQsIGF2b3B0cywgY2xhc3NGb3JtLAotCQkJCQkJCQkJICBlZmZlY3RpdmVfbXVs dGl4YWN0X2ZyZWV6ZV9tYXhfYWdlLAotCQkJCQkJCQkJICAmZG92YWN1dW0sICZkb2FuYWx5emUs ICZ3cmFwYXJvdW5kKTsKKwljb21wdXRlX2F1dG92YWNfc2NvcmUoY2xhc3NUdXAsIHBnX2NsYXNz X2Rlc2MsCisJCQkJCQkgIGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UsCisJCQkJ CQkgIGF2b3B0cywgZmFsc2UsCisJCQkJCQkgICZkb3ZhY3V1bSwgJmRvYW5hbHl6ZSwgJndyYXBh cm91bmQsICZzY29yZXMpOwogCiAJLyogT0ssIGl0IG5lZWRzIHNvbWV0aGluZyBkb25lICovCiAJ aWYgKGRvYW5hbHl6ZSB8fCBkb3ZhY3V1bSkKQEAgLTI5NzEsMzQgKzI5NzQsMjggQEAgdGFibGVf cmVjaGVja19hdXRvdmFjKE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAogfQogCiAv KgotICogcmVjaGVja19yZWxhdGlvbl9uZWVkc192YWNhbmFseXplCi0gKgotICogU3Vicm91dGlu ZSBmb3IgdGFibGVfcmVjaGVja19hdXRvdmFjLgotICoKLSAqIEZldGNoIHRoZSBwZ3N0YXQgb2Yg YSByZWxhdGlvbiBhbmQgcmVjaGVjayB3aGV0aGVyIGEgcmVsYXRpb24KLSAqIG5lZWRzIHRvIGJl IHZhY3V1bWVkIG9yIGFuYWx5emVkLgorICogY29tcHV0ZV9hdXRvdmFjX3Njb3JlCisgKgkJRmV0 Y2ggdGhlIHBnc3RhdCBlbnRyeSBmb3IgYSByZWxhdGlvbiBhbmQgY2FsbAorICoJCXJlbGF0aW9u X25lZWRzX3ZhY2FuYWx5emUoKSB0byBkZXRlcm1pbmUgd2hldGhlciBpdCBuZWVkcworICoJCXZh Y3V1bSBvciBhbmFseXplIGFuZCBjb21wdXRlIGl0cyBwcmlvcml0eSBzY29yZXMuCiAgKi8KIHN0 YXRpYyB2b2lkCi1yZWNoZWNrX3JlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoT2lkIHJlbGlkLAot CQkJCQkJCQkgIEF1dG9WYWNPcHRzICphdm9wdHMsCi0JCQkJCQkJCSAgRm9ybV9wZ19jbGFzcyBj bGFzc0Zvcm0sCi0JCQkJCQkJCSAgaW50IGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9h Z2UsCi0JCQkJCQkJCSAgYm9vbCAqZG92YWN1dW0sCi0JCQkJCQkJCSAgYm9vbCAqZG9hbmFseXpl LAotCQkJCQkJCQkgIGJvb2wgKndyYXBhcm91bmQpCitjb21wdXRlX2F1dG92YWNfc2NvcmUoSGVh cFR1cGxlIHR1cGxlLCBUdXBsZURlc2MgcGdfY2xhc3NfZGVzYywKKwkJCQkJICBpbnQgZWZmZWN0 aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwKKwkJCQkJICBBdXRvVmFjT3B0cyAqcmVsb3B0 cywgYm9vbCBmb3JjZV9zY29yZXMsCisJCQkJCSAgYm9vbCAqZG92YWN1dW0sIGJvb2wgKmRvYW5h bHl6ZSwKKwkJCQkJICBib29sICp3cmFwYXJvdW5kLCBBdXRvVmFjdXVtU2NvcmVzICpzY29yZXMp CiB7CisJRm9ybV9wZ19jbGFzcyBjbGFzc0Zvcm0gPSAoRm9ybV9wZ19jbGFzcykgR0VUU1RSVUNU KHR1cGxlKTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKLQlBdXRvVmFjdXVtU2Nv cmVzIHNjb3JlczsKIAogCS8qIGZldGNoIHRoZSBwZ3N0YXQgdGFibGUgZW50cnkgKi8KIAl0YWJl bnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5X2V4dChjbGFzc0Zvcm0tPnJlbGlzc2hh cmVkLAotCQkJCQkJCQkJCQkgIHJlbGlkKTsKKwkJCQkJCQkJCQkJICBjbGFzc0Zvcm0tPm9pZCk7 CiAKLQlyZWxhdGlvbl9uZWVkc192YWNhbmFseXplKHJlbGlkLCBhdm9wdHMsIGNsYXNzRm9ybSwg dGFiZW50cnksCi0JCQkJCQkJICBlZmZlY3RpdmVfbXVsdGl4YWN0X2ZyZWV6ZV9tYXhfYWdlLAot CQkJCQkJCSAgZmFsc2UsCi0JCQkJCQkJICBkb3ZhY3V1bSwgZG9hbmFseXplLCB3cmFwYXJvdW5k LAotCQkJCQkJCSAgJnNjb3Jlcyk7CisJcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShjbGFzc0Zv cm0tPm9pZCwgcmVsb3B0cywgY2xhc3NGb3JtLCB0YWJlbnRyeSwKKwkJCQkJCQkgIGVmZmVjdGl2 ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UsIGZvcmNlX3Njb3JlcywKKwkJCQkJCQkgIGRvdmFj dXVtLCBkb2FuYWx5emUsIHdyYXBhcm91bmQsIHNjb3Jlcyk7CiAKIAkvKiBSZWxlYXNlIHRhYmVu dHJ5IHRvIGF2b2lkIGxlYWthZ2UgKi8KIAlpZiAodGFiZW50cnkpCi0tIAoyLjQ3LjMKCg== --000000000000e7c6b2064e41d86b Content-Type: application/octet-stream; name="v3-0001-Add-force_scores-option-to-relation_needs_vacanal.patch" Content-Disposition: attachment; filename="v3-0001-Add-force_scores-option-to-relation_needs_vacanal.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndie6vq2 RnJvbSA2NTZmZTkwOTQ4MjA2YjdmZDJiNjRhMzIwMDZmNzAxYjg1YTg0Y2FlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAyNyBNYXIgMjAyNiAyMDozODoyNiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjMgMS8z XSBBZGQgZm9yY2Vfc2NvcmVzIG9wdGlvbiB0byByZWxhdGlvbl9uZWVkc192YWNhbmFseXplCgpB IGZ1dHVyZSBjb21taXQgd2lsbCBuZWVkIHRoZSBhYmlsaXR5IGZvciByZWxhdGlvbl9uZWVkc192 YWNhbmFseXplKCkKdG8gZm9yY2VmdWxseSBjYWxjdWxhdGUgYW4gYXV0b3ZhY3V1bSBwcmlvcml0 eSBzY29yZSBldmVuIGlmIGF1dG92YWN1dW0Kd291bGQgb3RoZXJ3aXNlIGFiYW5kb24gdGhlIGNv bXB1dGF0aW9uIG9mIHRoZSBzY29yZS4gVGhpcyBpcyBuZWVkZWQgZm9yCnRvb2xzIHRoYXQgd2lz aCB0byBpbnRyb3NwZWN0IHRoZSBzY29yZSBvdXRzaWRlIG9mIHRoZSBub3JtYWwgcGF0aCBvZgpk b19hdXRvdmFjdXVtKCkuCgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQTVSWjBz NHhqTXJCLVZBbkxjY0M3a1k4ZDAtNDgwNi1Mc2FjLWN6SnNkQTFMWHRBdyU0MG1haWwuZ21haWwu Y29tCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMgfCA4MSArKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyks IDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0 b3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKaW5kZXggZDY5 NWYxZGU0YmQuLmY2YjIxMzg1MmUzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L2F1dG92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYwpA QCAtMzc4LDYgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIHJlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUo T2lkIHJlbGlkLCBBdXRvVmFjT3B0cyAqcmVsb3B0cywKIAkJCQkJCQkJCSAgRm9ybV9wZ19jbGFz cyBjbGFzc0Zvcm0sCiAJCQkJCQkJCQkgIFBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5LAog CQkJCQkJCQkJICBpbnQgZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwKKwkJCQkJ CQkJCSAgYm9vbCBmb3JjZV9zY29yZXMsCiAJCQkJCQkJCQkgIGJvb2wgKmRvdmFjdXVtLCBib29s ICpkb2FuYWx5emUsIGJvb2wgKndyYXBhcm91bmQsCiAJCQkJCQkJCQkgIEF1dG9WYWN1dW1TY29y ZXMgKnNjb3Jlcyk7CiAKQEAgLTIwNzUsNiArMjA3Niw3IEBAIGRvX2F1dG92YWN1dW0odm9pZCkK IAkJLyogQ2hlY2sgaWYgaXQgbmVlZHMgdmFjdXVtIG9yIGFuYWx5emUgKi8KIAkJcmVsYXRpb25f bmVlZHNfdmFjYW5hbHl6ZShyZWxpZCwgcmVsb3B0cywgY2xhc3NGb3JtLCB0YWJlbnRyeSwKIAkJ CQkJCQkJICBlZmZlY3RpdmVfbXVsdGl4YWN0X2ZyZWV6ZV9tYXhfYWdlLAorCQkJCQkJCQkgIGZh bHNlLAogCQkJCQkJCQkgICZkb3ZhY3V1bSwgJmRvYW5hbHl6ZSwgJndyYXBhcm91bmQsCiAJCQkJ CQkJCSAgJnNjb3Jlcyk7CiAKQEAgLTIxNzUsNiArMjE3Nyw3IEBAIGRvX2F1dG92YWN1dW0odm9p ZCkKIAogCQlyZWxhdGlvbl9uZWVkc192YWNhbmFseXplKHJlbGlkLCByZWxvcHRzLCBjbGFzc0Zv cm0sIHRhYmVudHJ5LAogCQkJCQkJCQkgIGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9h Z2UsCisJCQkJCQkJCSAgZmFsc2UsCiAJCQkJCQkJCSAgJmRvdmFjdXVtLCAmZG9hbmFseXplLCAm d3JhcGFyb3VuZCwKIAkJCQkJCQkJICAmc2NvcmVzKTsKIApAQCAtMjk5Myw2ICsyOTk2LDcgQEAg cmVjaGVja19yZWxhdGlvbl9uZWVkc192YWNhbmFseXplKE9pZCByZWxpZCwKIAogCXJlbGF0aW9u X25lZWRzX3ZhY2FuYWx5emUocmVsaWQsIGF2b3B0cywgY2xhc3NGb3JtLCB0YWJlbnRyeSwKIAkJ CQkJCQkgIGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UsCisJCQkJCQkJICBmYWxz ZSwKIAkJCQkJCQkgIGRvdmFjdXVtLCBkb2FuYWx5emUsIHdyYXBhcm91bmQsCiAJCQkJCQkJICAm c2NvcmVzKTsKIApAQCAtMzA4MCw2ICszMDg0LDkgQEAgcmVjaGVja19yZWxhdGlvbl9uZWVkc192 YWNhbmFseXplKE9pZCByZWxpZCwKICAqIFRoZSBhdXRvdmFjdXVtIHRhYmxlIHNjb3JlIGlzIHJl dHVybmVkIGluIHNjb3Jlcy0+bWF4LiAgVGhlIGNvbXBvbmVudCBzY29yZXMKICAqIGFyZSBhbHNv IHJldHVybmVkIGluIHRoZSAic2NvcmVzIiBhcmd1bWVudCB2aWEgdGhlIG90aGVyIG1lbWJlcnMg b2YgdGhlCiAgKiBBdXRvVmFjdXVtU2NvcmVzIHN0cnVjdC4KKyAqCisgKiBmb3JjZV9zY29yZXMg c2V0IHRvIHRydWUgZm9yY2VzIHRoZSBjb21wdXRhdGlvbiBvZiBhIHNjb3JlLiBUaGlzIGlzIHVz ZWZ1bCBmb3IKKyAqIHRvb2xzIHRoYXQgd2lzaCB0byBpbnNwZWN0IHNjb3JlcyBvdXRzaWRlIG9m IHRoZSBkb192YWN1dW0oKSBwYXRoLgogICovCiBzdGF0aWMgdm9pZAogcmVsYXRpb25fbmVlZHNf dmFjYW5hbHl6ZShPaWQgcmVsaWQsCkBAIC0zMDg3LDYgKzMwOTQsNyBAQCByZWxhdGlvbl9uZWVk c192YWNhbmFseXplKE9pZCByZWxpZCwKIAkJCQkJCSAgRm9ybV9wZ19jbGFzcyBjbGFzc0Zvcm0s CiAJCQkJCQkgIFBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5LAogCQkJCQkJICBpbnQgZWZm ZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwKKwkJCQkJCSAgYm9vbCBmb3JjZV9zY29y ZXMsCiAgLyogb3V0cHV0IHBhcmFtcyBiZWxvdyAqLwogCQkJCQkJICBib29sICpkb3ZhY3V1bSwK IAkJCQkJCSAgYm9vbCAqZG9hbmFseXplLApAQCAtMzI1MiwxOCArMzI2MCwyMSBAQCByZWxhdGlv bl9uZWVkc192YWNhbmFseXplKE9pZCByZWxpZCwKIAkJKmRvdmFjdXVtID0gdHJ1ZTsKIAl9CiAK LQkvKiBVc2VyIGRpc2FibGVkIGl0IGluIHBnX2NsYXNzLnJlbG9wdGlvbnM/ICAoQnV0IGlnbm9y ZSBpZiBhdCByaXNrKSAqLwotCWlmICghYXZfZW5hYmxlZCAmJiAhZm9yY2VfdmFjdXVtKQorCS8q CisJICogVXNlciBkaXNhYmxlZCBpdCBpbiBwZ19jbGFzcy5yZWxvcHRpb25zPyAgKEJ1dCBpZ25v cmUgaWYgYXQgcmlzayBvcgorCSAqIGZvcmNlZCkKKwkgKi8KKwlpZiAoIWZvcmNlX3Njb3JlcyAm JiAhYXZfZW5hYmxlZCAmJiAhZm9yY2VfdmFjdXVtKQogCQlyZXR1cm47CiAKIAkvKgotCSAqIElm IHdlIGZvdW5kIHN0YXRzIGZvciB0aGUgdGFibGUsIGFuZCBhdXRvdmFjdXVtIGlzIGN1cnJlbnRs eSBlbmFibGVkLAotCSAqIG1ha2UgYSB0aHJlc2hvbGQtYmFzZWQgZGVjaXNpb24gd2hldGhlciB0 byB2YWN1dW0gYW5kL29yIGFuYWx5emUuICBJZgotCSAqIGF1dG92YWN1dW0gaXMgY3VycmVudGx5 IGRpc2FibGVkLCB3ZSBtdXN0IGJlIGhlcmUgZm9yIGFudGktd3JhcGFyb3VuZAotCSAqIHZhY3V1 bWluZyBvbmx5LCBzbyBkb24ndCB2YWN1dW0gKG9yIGFuYWx5emUpIGFueXRoaW5nIHRoYXQncyBu b3QgYmVpbmcKLQkgKiBmb3JjZWQuCisJICogSWYgd2UgZm91bmQgc3RhdHMgZm9yIHRoZSB0YWJs ZSwgYW5kIGF1dG92YWN1dW0gaXMgY3VycmVudGx5IGVuYWJsZWQKKwkgKiAob3Igc2NvcmVzIGFy ZSBmb3JjZWQpLCBtYWtlIGEgdGhyZXNob2xkLWJhc2VkIGRlY2lzaW9uIHdoZXRoZXIgdG8KKwkg KiB2YWN1dW0gYW5kL29yIGFuYWx5emUuICBJZiBhdXRvdmFjdXVtIGlzIGN1cnJlbnRseSBkaXNh YmxlZCwgd2UgbXVzdCBiZQorCSAqIGhlcmUgZm9yIGFudGktd3JhcGFyb3VuZCB2YWN1dW1pbmcg b25seSwgc28gZG9uJ3QgdmFjdXVtIChvciBhbmFseXplKQorCSAqIGFueXRoaW5nIHRoYXQncyBu b3QgYmVpbmcgZm9yY2VkLgogCSAqLwotCWlmICh0YWJlbnRyeSAmJiBBdXRvVmFjdXVtaW5nQWN0 aXZlKCkpCisJaWYgKHRhYmVudHJ5ICYmIChBdXRvVmFjdXVtaW5nQWN0aXZlKCkgfHwgZm9yY2Vf c2NvcmVzKSkKIAl7CiAJCWZsb2F0NAkJcGNudF91bmZyb3plbiA9IDE7CiAJCWZsb2F0NAkJcmVs dHVwbGVzID0gY2xhc3NGb3JtLT5yZWx0dXBsZXM7CkBAIC0zMzA0LDMyICszMzE1LDMzIEBAIHJl bGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoT2lkIHJlbGlkLAogCQlhbmx0aHJlc2ggPSAoZmxvYXQ0 KSBhbmxfYmFzZV90aHJlc2ggKyBhbmxfc2NhbGVfZmFjdG9yICogcmVsdHVwbGVzOwogCiAJCS8q Ci0JCSAqIERldGVybWluZSBpZiB0aGlzIHRhYmxlIG5lZWRzIHZhY3V1bSwgYW5kIHVwZGF0ZSB0 aGUgc2NvcmUgaWYgaXQKLQkJICogZG9lcy4KKwkJICogVXBkYXRlIHRoZSB2YWN1dW0gc2NvcmUg YW5kIGRldGVybWluZSBpZiB0aGlzIHRhYmxlIG5lZWRzIHZhY3V1bQogCQkgKi8KKwkJc2NvcmVz LT52YWMgPSAoZG91YmxlKSB2YWN0dXBsZXMgLyBNYXgodmFjdGhyZXNoLCAxKTsKKwkJc2NvcmVz LT52YWMgKj0gYXV0b3ZhY3V1bV92YWN1dW1fc2NvcmVfd2VpZ2h0OworCQlzY29yZXMtPm1heCA9 IE1heChzY29yZXMtPm1heCwgc2NvcmVzLT52YWMpOwogCQlpZiAodmFjdHVwbGVzID4gdmFjdGhy ZXNoKQotCQl7Ci0JCQlzY29yZXMtPnZhYyA9IChkb3VibGUpIHZhY3R1cGxlcyAvIE1heCh2YWN0 aHJlc2gsIDEpOwotCQkJc2NvcmVzLT52YWMgKj0gYXV0b3ZhY3V1bV92YWN1dW1fc2NvcmVfd2Vp Z2h0OwotCQkJc2NvcmVzLT5tYXggPSBNYXgoc2NvcmVzLT5tYXgsIHNjb3Jlcy0+dmFjKTsKIAkJ CSpkb3ZhY3V1bSA9IHRydWU7Ci0JCX0KIAotCQlpZiAodmFjX2luc19iYXNlX3RocmVzaCA+PSAw ICYmIGluc3R1cGxlcyA+IHZhY2luc3RocmVzaCkKKwkJLyoKKwkJICogRGl0dG8gZm9yIGluc2Vy dCB2YWN1dW0KKwkJICovCisJCWlmICh2YWNfaW5zX2Jhc2VfdGhyZXNoID49IDApCiAJCXsKIAkJ CXNjb3Jlcy0+dmFjX2lucyA9IChkb3VibGUpIGluc3R1cGxlcyAvIE1heCh2YWNpbnN0aHJlc2gs IDEpOwogCQkJc2NvcmVzLT52YWNfaW5zICo9IGF1dG92YWN1dW1fdmFjdXVtX2luc2VydF9zY29y ZV93ZWlnaHQ7CiAJCQlzY29yZXMtPm1heCA9IE1heChzY29yZXMtPm1heCwgc2NvcmVzLT52YWNf aW5zKTsKLQkJCSpkb3ZhY3V1bSA9IHRydWU7CiAJCX0KKwkJaWYgKHZhY19pbnNfYmFzZV90aHJl c2ggPj0gMCAmJiBpbnN0dXBsZXMgPiB2YWNpbnN0aHJlc2gpCisJCQkqZG92YWN1dW0gPSB0cnVl OwogCiAJCS8qCiAJCSAqIERldGVybWluZSBpZiB0aGlzIHRhYmxlIG5lZWRzIGFuYWx5emUsIGFu ZCB1cGRhdGUgdGhlIHNjb3JlIGlmIGl0CiAJCSAqIGRvZXMuICBOb3RlIHRoYXQgd2UgZG9uJ3Qg YW5hbHl6ZSBUT0FTVCB0YWJsZXMgYW5kIHBnX3N0YXRpc3RpYy4KIAkJICovCi0JCWlmIChhbmx0 dXBsZXMgPiBhbmx0aHJlc2ggJiYKLQkJCXJlbGlkICE9IFN0YXRpc3RpY1JlbGF0aW9uSWQgJiYK LQkJCWNsYXNzRm9ybS0+cmVsa2luZCAhPSBSRUxLSU5EX1RPQVNUVkFMVUUpCisJCWlmICgoYW5s dHVwbGVzID4gYW5sdGhyZXNoICYmCisJCQkgcmVsaWQgIT0gU3RhdGlzdGljUmVsYXRpb25JZCAm JgorCQkJIGNsYXNzRm9ybS0+cmVsa2luZCAhPSBSRUxLSU5EX1RPQVNUVkFMVUUpKQogCQl7CiAJ CQlzY29yZXMtPmFubCA9IChkb3VibGUpIGFubHR1cGxlcyAvIE1heChhbmx0aHJlc2gsIDEpOwog CQkJc2NvcmVzLT5hbmwgKj0gYXV0b3ZhY3V1bV9hbmFseXplX3Njb3JlX3dlaWdodDsKQEAgLTMz MzcsMTkgKzMzNDksMjIgQEAgcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShPaWQgcmVsaWQsCiAJ CQkqZG9hbmFseXplID0gdHJ1ZTsKIAkJfQogCi0JCWlmICh2YWNfaW5zX2Jhc2VfdGhyZXNoID49 IDApCi0JCQllbG9nKERFQlVHMywgIiVzOiB2YWM6ICUuMGYgKHRocmVzaCAlLjBmLCBzY29yZSAl LjJmKSwgaW5zOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiksIGFubDogJS4wZiAodGhy ZXNoICUuMGYsIHNjb3JlICUuMmYpLCB4aWQgc2NvcmU6ICUuMmYsIG14aWQgc2NvcmU6ICUuMmYi LAotCQkJCSBOYW1lU3RyKGNsYXNzRm9ybS0+cmVsbmFtZSksCi0JCQkJIHZhY3R1cGxlcywgdmFj dGhyZXNoLCBzY29yZXMtPnZhYywKLQkJCQkgaW5zdHVwbGVzLCB2YWNpbnN0aHJlc2gsIHNjb3Jl cy0+dmFjX2lucywKLQkJCQkgYW5sdHVwbGVzLCBhbmx0aHJlc2gsIHNjb3Jlcy0+YW5sLAotCQkJ CSBzY29yZXMtPnhpZCwgc2NvcmVzLT5teGlkKTsKLQkJZWxzZQotCQkJZWxvZyhERUJVRzMsICIl czogdmFjOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiksIGluczogKGRpc2FibGVkKSwg YW5sOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiksIHhpZCBzY29yZTogJS4yZiwgbXhp ZCBzY29yZTogJS4yZiIsCi0JCQkJIE5hbWVTdHIoY2xhc3NGb3JtLT5yZWxuYW1lKSwKLQkJCQkg dmFjdHVwbGVzLCB2YWN0aHJlc2gsIHNjb3Jlcy0+dmFjLAotCQkJCSBhbmx0dXBsZXMsIGFubHRo cmVzaCwgc2NvcmVzLT5hbmwsCi0JCQkJIHNjb3Jlcy0+eGlkLCBzY29yZXMtPm14aWQpOworCQlp ZiAoIWZvcmNlX3Njb3JlcykKKwkJeworCQkJaWYgKHZhY19pbnNfYmFzZV90aHJlc2ggPj0gMCkK KwkJCQllbG9nKERFQlVHMywgIiVzOiB2YWM6ICUuMGYgKHRocmVzaCAlLjBmLCBzY29yZSAlLjJm KSwgaW5zOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiksIGFubDogJS4wZiAodGhyZXNo ICUuMGYsIHNjb3JlICUuMmYpLCB4aWQgc2NvcmU6ICUuMmYsIG14aWQgc2NvcmU6ICUuMmYiLAor CQkJCQkgTmFtZVN0cihjbGFzc0Zvcm0tPnJlbG5hbWUpLAorCQkJCQkgdmFjdHVwbGVzLCB2YWN0 aHJlc2gsIHNjb3Jlcy0+dmFjLAorCQkJCQkgaW5zdHVwbGVzLCB2YWNpbnN0aHJlc2gsIHNjb3Jl cy0+dmFjX2lucywKKwkJCQkJIGFubHR1cGxlcywgYW5sdGhyZXNoLCBzY29yZXMtPmFubCwKKwkJ CQkJIHNjb3Jlcy0+eGlkLCBzY29yZXMtPm14aWQpOworCQkJZWxzZQorCQkJCWVsb2coREVCVUcz LCAiJXM6IHZhYzogJS4wZiAodGhyZXNoICUuMGYsIHNjb3JlICUuMmYpLCBpbnM6IChkaXNhYmxl ZCksIGFubDogJS4wZiAodGhyZXNoICUuMGYsIHNjb3JlICUuMmYpLCB4aWQgc2NvcmU6ICUuMmYs IG14aWQgc2NvcmU6ICUuMmYiLAorCQkJCQkgTmFtZVN0cihjbGFzc0Zvcm0tPnJlbG5hbWUpLAor CQkJCQkgdmFjdHVwbGVzLCB2YWN0aHJlc2gsIHNjb3Jlcy0+dmFjLAorCQkJCQkgYW5sdHVwbGVz LCBhbmx0aHJlc2gsIHNjb3Jlcy0+YW5sLAorCQkJCQkgc2NvcmVzLT54aWQsIHNjb3Jlcy0+bXhp ZCk7CisJCX0KIAl9CiB9CiAKLS0gCjIuNDcuMwoK --000000000000e7c6b2064e41d86b Content-Type: application/octet-stream; name="v3-0003-Add-pg_stat_autovacuum_priority-view.patch" Content-Disposition: attachment; filename="v3-0003-Add-pg_stat_autovacuum_priority-view.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndie6ux0 RnJvbSA3OTFiODU4MGE3OGFmY2E0NGM5N2ZhOTcyMjUwM2JiYmZkZTUzNzI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAyMyBNYXIgMjAyNiAxNzowMzo1OSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjMgMy8z XSBBZGQgcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5IHZpZXcKCmQ3OTY1ZDY1ZiBpbnRyb2R1 Y2VkIGF1dG92YWN1dW0gcHJpb3JpdGl6YXRpb24gd2l0aApzY29yaW5nLiBUaGlzIGNoYW5nZSBh ZGRzIGEgdmlldyB0byBleHBvc2UgdGhvc2Ugc2NvcmVzLgoKVGhlIHZpZXcgc2hvd3MgYSByb3cg cGVyIHJlbGF0aW9uIGluZGljYXRpbmcgd2hldGhlciBpdApuZWVkcyB2YWN1dW0gb3IgYW5hbHl6 ZSwgdGhlIHNjb3JlIG9mIGVhY2ggY29tcG9uZW50CmFuZCB0aGUgTWF4IHNjb3JlIGFjcm9zcyBh bGwgY29tcG9uZW50cy4gVGhpcyBwcm92aWRlcwphIHdheSB0byBpbnRyb3NwZWN0IGF1dG92YWN1 dW0gcHJpb3JpdHkgYW5kIHByb3ZpZGUKZmVlZGJhY2sgb24gdHVuaW5nIG9mIHRoZSByZWxhdGVk IEdVQ3MuCgpUaGUgdW5kZXJseWluZyBmdW5jdGlvbiBwZ19zdGF0X2dldF9hdXRvdmFjdXVtX3By aW9yaXR5KCkKc2NhbnMgYWxsIHJlbGF0aW9ucyBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSBhbmQg Y29tcHV0ZXMKc2NvcmVzIHVzaW5nIHJlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoKS4gQnkgZGVm YXVsdCwKb25seSBzdXBlcnVzZXJzIGFuZCByb2xlcyB3aXRoIHByaXZpbGVnZXMgb2YKcGdfcmVh ZF9hbGxfc3RhdHMgY2FuIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uLCBhcwpjb250cm9sbGVkIGJ5IHRo ZSBmdW5jdGlvbidzIEFDTCBpbiBwZ19wcm9jLgoKVGhlIHZpZXcgYWxzbyBlbWl0cyB0aGUgcmVs aWQsIG5hbWVzcGFjZSBhbmQgcmVsbmFtZSwKc28gaXQgY2FuIGJlIGpvaW5lZCB3aXRoIG90aGVy IHZpZXdzIGxpa2UKcGdfc3RhdF9hbGxfdGFibGVzIGFuZCBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1 bSBmb3IKY29tcGxlbWVudGFyeSB2YWN1dW0gZGV0YWlscy4KClRlc3RzIGFkZGVkIHRvIHZhY3V1 bS5zcWwKCkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FBNVJaMHM0eGpNckItVkFu TGNjQzdrWThkMC00ODA2LUxzYWMtY3pKc2RBMUxYdEF3JTQwbWFpbC5nbWFpbC5jb20KLS0tCiBk b2Mvc3JjL3NnbWwvbWFpbnRlbmFuY2Uuc2dtbCAgICAgICAgfCAgIDYgKwogZG9jL3NyYy9zZ21s L21vbml0b3Jpbmcuc2dtbCAgICAgICAgIHwgMTY2ICsrKysrKysrKysrKysrKysrKysrKysrKysr Kwogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIHwgIDIxICsrKysKIHNyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jICB8ICA4NCArKysrKysrKysrKysrKwogc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgIHwgIDEwICsrCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgfCAgMTUgKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bS5vdXQgfCAgMzQgKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW0u c3FsICAgICAgfCAgMjUgKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAzNjEgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tYWludGVuYW5jZS5zZ21sIGIvZG9jL3NyYy9zZ21s L21haW50ZW5hbmNlLnNnbWwKaW5kZXggMGQyYTI4MjA3ZWQuLjIxMjU3NzRhZmYzIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvbWFpbnRlbmFuY2Uuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbWFp bnRlbmFuY2Uuc2dtbApAQCAtMTE2NCw2ICsxMTY0LDEyIEBAIGFuYWx5emUgdGhyZXNob2xkID0g YW5hbHl6ZSBiYXNlIHRocmVzaG9sZCArIGFuYWx5emUgc2NhbGUgZmFjdG9yICogbnVtYmVyIG9m IHR1CiAgICAgIDxsaXRlcmFsPjIuMDwvbGl0ZXJhbD4gZWZmZWN0aXZlbHkgZG91YmxlcyB0aGUK ICAgICAgPGVtcGhhc2lzPmFuYWx5emU8L2VtcGhhc2lzPiBjb21wb25lbnQgc2NvcmUuCiAgICAg PC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIFRoZSA8bGluayBsaW5rZW5kPSJtb25pdG9yaW5n LXBnLXN0YXQtYXV0b3ZhY3V1bS1wcmlvcml0eS12aWV3Ij4KKyAgICAgPHN0cnVjdG5hbWU+cGdf c3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5PC9zdHJ1Y3RuYW1lPjwvbGluaz4gdmlldyBjYW4gYmUK KyAgICAgdXNlZCB0byBpbnNwZWN0IGVhY2ggdGFibGUncyBhdXRvdmFjdXVtIG5lZWQgYW5kIHBy aW9yaXR5IHNjb3JlLgorICAgIDwvcGFyYT4KICAgIDwvc2VjdDM+CiAgIDwvc2VjdDI+CiAgPC9z ZWN0MT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvbW9uaXRvcmluZy5zZ21sCmluZGV4IGJiNzVlZDEwNjliLi44YWNlOGQ0YTliMCAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv bW9uaXRvcmluZy5zZ21sCkBAIC00NjMsNiArNDYzLDE1IEBAIHBvc3RncmVzICAgMjcwOTMgIDAu MCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDExOjM0ICAgMDowMCBwb3N0Z3Jlczog c2VyCiAgICAgICA8L2VudHJ5PgogICAgICA8L3Jvdz4KIAorICAgICA8cm93PgorICAgICAgPGVu dHJ5PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwvc3RydWN0bmFtZT48 aW5kZXh0ZXJtPjxwcmltYXJ5PnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwvcHJpbWFyeT48 L2luZGV4dGVybT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk9uZSByb3cgcGVyIHJlbGF0aW9uIGlu IHRoZSBjdXJyZW50IGRhdGFiYXNlLCBzaG93aW5nCisgICAgICAgYSB0YWJsZSdzIGF1dG92YWN1 dW0gbmVlZCBhbmQgcHJpb3JpdHkuIFNlZQorICAgICAgIDxsaW5rIGxpbmtlbmQ9Im1vbml0b3Jp bmctcGctc3RhdC1hdXRvdmFjdXVtLXByaW9yaXR5LXZpZXciPgorICAgICAgIDxzdHJ1Y3RuYW1l PnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwvc3RydWN0bmFtZT48L2xpbms+IGZvciBkZXRh aWxzLgorICAgICAgPC9lbnRyeT4KKyAgICAgPC9yb3c+CisKICAgICAgPHJvdz4KICAgICAgIDxl bnRyeT48c3RydWN0bmFtZT5wZ19zdGF0X2Jnd3JpdGVyPC9zdHJ1Y3RuYW1lPjxpbmRleHRlcm0+ PHByaW1hcnk+cGdfc3RhdF9iZ3dyaXRlcjwvcHJpbWFyeT48L2luZGV4dGVybT48L2VudHJ5Pgog ICAgICAgPGVudHJ5Pk9uZSByb3cgb25seSwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0IHRoZQpA QCAtNTI1Niw2ICs1MjY1LDE2MyBAQCBkZXNjcmlwdGlvbiB8IFdhaXRpbmcgZm9yIGEgbmV3bHkg aW5pdGlhbGl6ZWQgV0FMIGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlCiAKICA8L3NlY3Qy PgogCisgPHNlY3QyIGlkPSJtb25pdG9yaW5nLXBnLXN0YXQtYXV0b3ZhY3V1bS1wcmlvcml0eS12 aWV3Ij4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwv c3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxpbmRleHRlcm0+CisgICA8cHJpbWFyeT5wZ19zdGF0 X2F1dG92YWN1dW1fcHJpb3JpdHk8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJh PgorICAgVGhlIDxzdHJ1Y3RuYW1lPnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwvc3RydWN0 bmFtZT4gdmlldyBjb250YWlucworICAgb25lIHJvdyBwZXIgcmVsYXRpb24gaW4gdGhlIGN1cnJl bnQgZGF0YWJhc2UsIHNob3dpbmcgd2hldGhlciBhIHRhYmxlCisgICBuZWVkcyBhdXRvdmFjdXVt IG9yIGF1dG9hbmFseXplIGFuZCBpdHMgcHJpb3JpdHkuIFRoZQorICAgPHN0cnVjdGZpZWxkPnNj b3JlPC9zdHJ1Y3RmaWVsZD4sIDxzdHJ1Y3RmaWVsZD54aWRfc2NvcmU8L3N0cnVjdGZpZWxkPiwK KyAgIGFuZCA8c3RydWN0ZmllbGQ+bXhpZF9zY29yZTwvc3RydWN0ZmllbGQ+IHZhbHVlcyBtYXkg YmUgdmVyeSBsYXJnZSBmb3IKKyAgIHRhYmxlcyBhcHByb2FjaGluZyB3cmFwYXJvdW5kLCBhcyB0 aGVzZSBzY29yZXMgYXJlIHNjYWxlZCBhZ2dyZXNzaXZlbHkKKyAgIG9uY2UgdGhleSBzdXJwYXNz IHRoZSBmYWlsc2FmZSBhZ2UgdGhyZXNob2xkcy4KKyAgPC9wYXJhPgorCisgIDx0YWJsZSBpZD0i cGctc3RhdC1hdXRvdmFjdXVtLXByaW9yaXR5LXZpZXciIHhyZWZsYWJlbD0icGdfc3RhdF9hdXRv dmFjdXVtX3ByaW9yaXR5Ij4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2F1dG92YWN1 dW1fcHJpb3JpdHk8L3N0cnVjdG5hbWU+IFZpZXc8L3RpdGxlPgorICAgPHRncm91cCBjb2xzPSIx Ij4KKyAgICA8dGhlYWQ+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENvbHVt biBUeXBlCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8 dGJvZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5y ZWxpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIE9JRCBvZiBhIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnNjaGVtYW5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGUgc2NoZW1hIHRoYXQgdGhpcyB0 YWJsZSBpcyBpbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIE5hbWUgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5uZWVk c192YWN1dW08L3N0cnVjdGZpZWxkPiA8dHlwZT5ib29sZWFuPC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgVHJ1ZSBpZiBhdXRvdmFjdXVtIGNvbnNpZGVycyB0aGlz IHRhYmxlIGluIG5lZWQgb2YgdmFjdXVtaW5nCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk Pm5lZWRzX2FuYWx5emU8L3N0cnVjdGZpZWxkPiA8dHlwZT5ib29sZWFuPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVHJ1ZSBpZiBhdXRvdmFjdXVtIGNvbnNpZGVy cyB0aGlzIHRhYmxlIGluIG5lZWQgb2YgYW5hbHl6aW5nCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPndyYXBhcm91bmQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5ib29sZWFuPC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVHJ1ZSBpZiB2YWN1dW1pbmcgaXMgbmVl ZGVkIHRvIHByZXZlbnQgdHJhbnNhY3Rpb24gSUQgb3IKKyAgICAgICBtdWx0aXhhY3QgSUQgd3Jh cGFyb3VuZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5zY29yZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmRvdWJsZSBwcmVjaXNpb248L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBQcmlvcml0eSBzY29yZSB1c2VkIGJ5IGF1dG92YWN1dW0gdG8gb3JkZXIgd2hp Y2ggdGFibGVzIHRvCisgICAgICAgcHJvY2VzcyBmaXJzdC4gSGlnaGVyIHZhbHVlcyBpbmRpY2F0 ZSBncmVhdGVyIHVyZ2VuY3kuIFRoaXMgaXMKKyAgICAgICB0aGUgbWF4aW11bSBvZiBhbGwgY29t cG9uZW50IHNjb3JlcyBiZWxvdy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+eGlkX3Nj b3JlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFNjb3JlIGNvbXBvbmVudCBiYXNlZCBvbiB0cmFu c2FjdGlvbiBJRCBhZ2UuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPm14aWRfc2NvcmU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgU2NvcmUgY29tcG9uZW50IGJhc2VkIG9uIG11bHRpeGFj dCBJRCBhZ2UuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZhY3V1bV9kZWFkX3Njb3Jl PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIFNjb3JlIGNvbXBvbmVudCBiYXNlZCBvbiB0aGUgZXN0 aW1hdGVkIG51bWJlciBvZiBkZWFkIHR1cGxlcworICAgICAgIG5lZWRpbmcgcmVtb3ZhbCBieSB2 YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZhY3V1bV9pbnNfc2NvcmU8L3N0 cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBlPgorICAgICAgPC9wYXJhPgor ICAgICAgPHBhcmE+CisgICAgICAgU2NvcmUgY29tcG9uZW50IGJhc2VkIG9uIHRoZSBudW1iZXIg b2YgaW5zZXJ0cyBzaW5jZSB0aGUgbGFzdAorICAgICAgIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+YW5hbHl6ZV9zY29yZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmRvdWJsZSBw cmVjaXNpb248L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBTY29y ZSBjb21wb25lbnQgYmFzZWQgb24gdGhlIG51bWJlciBvZiBtb2RpZmljYXRpb25zIHNpbmNlIHRo ZQorICAgICAgIGxhc3QgYW5hbHl6ZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+CisKKyAgPHBhcmE+Cisg ICBCeSBkZWZhdWx0LCB0aGUgPHN0cnVjdG5hbWU+cGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5 PC9zdHJ1Y3RuYW1lPiB2aWV3IGNhbgorICAgYmUgcmVhZCBvbmx5IGJ5IHN1cGVydXNlcnMgb3Ig cm9sZXMgd2l0aCBwcml2aWxlZ2VzIG9mIHRoZQorICAgPGxpdGVyYWw+cGdfcmVhZF9hbGxfc3Rh dHM8L2xpdGVyYWw+IHJvbGUuCisgIDwvcGFyYT4KKworIDwvc2VjdDI+CisKICA8c2VjdDIgaWQ9 Im1vbml0b3Jpbmctc3RhdHMtZnVuY3Rpb25zIj4KICAgPHRpdGxlPlN0YXRpc3RpY3MgRnVuY3Rp b25zPC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGU1NDAx ODAwNGRiLi41NWUwOGUyMGQ4MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApA QCAtNzk1LDYgKzc5NSwyNyBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3hhY3RfdXNlcl90YWJsZXMg QVMKICAgICBXSEVSRSBzY2hlbWFuYW1lIE5PVCBJTiAoJ3BnX2NhdGFsb2cnLCAnaW5mb3JtYXRp b25fc2NoZW1hJykgQU5ECiAgICAgICAgICAgc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0JzsKIAor Q1JFQVRFIFZJRVcgcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5IEFTCisgICAgU0VMRUNUCisg ICAgICAgICAgICBTLnJlbGlkLAorICAgICAgICAgICAgTi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUs CisgICAgICAgICAgICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKKyAgICAgICAgICAgIFMubmVlZHNf dmFjdXVtLAorICAgICAgICAgICAgUy5uZWVkc19hbmFseXplLAorICAgICAgICAgICAgUy53cmFw YXJvdW5kLAorICAgICAgICAgICAgUy5zY29yZSwKKyAgICAgICAgICAgIFMueGlkX3Njb3JlLAor ICAgICAgICAgICAgUy5teGlkX3Njb3JlLAorICAgICAgICAgICAgUy52YWN1dW1fZGVhZF9zY29y ZSwKKyAgICAgICAgICAgIFMudmFjdXVtX2luc19zY29yZSwKKyAgICAgICAgICAgIFMuYW5hbHl6 ZV9zY29yZQorICAgIEZST00gcGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9wcmlvcml0eSgpIFMKKyAg ICAgICAgIEpPSU4gcGdfY2xhc3MgQyBPTiBDLm9pZCA9IFMucmVsaWQKKyAgICAgICAgIExFRlQg Sk9JTiBwZ19uYW1lc3BhY2UgTiBPTiBOLm9pZCA9IEMucmVsbmFtZXNwYWNlOworCitSRVZPS0Ug QUxMIE9OIHBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eSBGUk9NIFBVQkxJQzsKK0dSQU5UIFNF TEVDVCBPTiBwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHkgVE8gcGdfcmVhZF9hbGxfc3RhdHM7 CisKIENSRUFURSBWSUVXIHBnX3N0YXRpb19hbGxfdGFibGVzIEFTCiAgICAgU0VMRUNUCiAgICAg ICAgICAgICBDLm9pZCBBUyByZWxpZCwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvYXV0b3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKaW5k ZXggZmJlNjcwZDM3NWYuLmRlMzAwNWM5NmUxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0 bWFzdGVyL2F1dG92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1 dW0uYwpAQCAtODAsNiArODAsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfbmFtZXNwYWNlLmgi CiAjaW5jbHVkZSAiY29tbWFuZHMvdmFjdXVtLmgiCiAjaW5jbHVkZSAiY29tbW9uL2ludC5oIgor I2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJsaWIvaWxpc3QuaCIKICNpbmNsdWRlICJs aWJwcS9wcXNpZ25hbC5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgpAQCAtMTExLDYgKzExMiw3 IEBACiAjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy90aW1lb3V0 LmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0YW1wLmgiCisjaW5jbHVkZSAidXRpbHMvdHVwbGVz dG9yZS5oIgogI2luY2x1ZGUgInV0aWxzL3dhaXRfZXZlbnQuaCIKIAogCkBAIC0zNjc2LDMgKzM2 NzgsODUgQEAgY2hlY2tfYXZfd29ya2VyX2d1Y3Modm9pZCkKIAkJCQkgZXJyZGV0YWlsKCJUaGUg c2VydmVyIHdpbGwgb25seSBzdGFydCB1cCB0byBcImF1dG92YWN1dW1fd29ya2VyX3Nsb3RzXCIg KCVkKSBhdXRvdmFjdXVtIHdvcmtlcnMgYXQgYSBnaXZlbiB0aW1lLiIsCiAJCQkJCQkgICBhdXRv dmFjdXVtX3dvcmtlcl9zbG90cykpKTsKIH0KKworLyoKKyAqIHBnX3N0YXRfZ2V0X2F1dG92YWN1 dW1fcHJpb3JpdHkKKyAqCQlSZXR1cm5zIHRoZSBhdXRvdmFjdXVtIHByaW9yaXR5IHNjb3JlIGZv ciBhbGwgZWxpZ2libGUgcmVsYXRpb25zCisgKgkJaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UuCisg KgorICoJCVRoaXMgZm9sbG93cyB0aGUgc2FtZSBzZXR1cCBhcyBkb19hdXRvdmFjdXVtKCkuIEds b2JhbCBzdGF0ZSBzdWNoCisgKgkJYXMgcmVjZW50WGlkL3JlY2VudE11bHRpIGFuZCBlZmZlY3Rp dmVfbXVsdGl4YWN0X2ZyZWV6ZV9tYXhfYWdlIGlzCisgKgkJY29tcHV0ZWQgaGVyZSwgd2hpbGUg Y29tcHV0ZV9hdXRvdmFjX3Njb3JlKCkgaGFuZGxlcyB0aGUgcGVyLXJlbGF0aW9uCisgKgkJc2Nv cmUgY29tcHV0YXRpb24uCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF9hdXRvdmFjdXVtX3ByaW9y aXR5KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisjZGVmaW5lIE5VTV9BVl9TQ09SRV9DT0xTIDEwCisJ UmV0dXJuU2V0SW5mbyAqcnNpbmZvID0gKFJldHVyblNldEluZm8gKikgZmNpbmZvLT5yZXN1bHRp bmZvOworCVJlbGF0aW9uCWNsYXNzUmVsOworCVR1cGxlRGVzYwlwZ19jbGFzc19kZXNjOworCWlu dAkJCWVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2U7CisJVGFibGVTY2FuRGVzYyBy ZWxTY2FuOworCUhlYXBUdXBsZQljbGFzc1R1cDsKKworCUluaXRNYXRlcmlhbGl6ZWRTUkYoZmNp bmZvLCAwKTsKKworCWVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UgPSBNdWx0aVhh Y3RNZW1iZXJGcmVlemVUaHJlc2hvbGQoKTsKKworCXJlY2VudFhpZCA9IFJlYWROZXh0VHJhbnNh Y3Rpb25JZCgpOworCXJlY2VudE11bHRpID0gUmVhZE5leHRNdWx0aVhhY3RJZCgpOworCisJY2xh c3NSZWwgPSB0YWJsZV9vcGVuKFJlbGF0aW9uUmVsYXRpb25JZCwgQWNjZXNzU2hhcmVMb2NrKTsK KwlwZ19jbGFzc19kZXNjID0gQ3JlYXRlVHVwbGVEZXNjQ29weShSZWxhdGlvbkdldERlc2NyKGNs YXNzUmVsKSk7CisKKwlyZWxTY2FuID0gdGFibGVfYmVnaW5zY2FuX2NhdGFsb2coY2xhc3NSZWws IDAsIE5VTEwpOworCXdoaWxlICgoY2xhc3NUdXAgPSBoZWFwX2dldG5leHQocmVsU2NhbiwgRm9y d2FyZFNjYW5EaXJlY3Rpb24pKSAhPSBOVUxMKQorCXsKKwkJRm9ybV9wZ19jbGFzcyBjbGFzc0Zv cm0gPSAoRm9ybV9wZ19jbGFzcykgR0VUU1RSVUNUKGNsYXNzVHVwKTsKKwkJYm9vbAkJZG92YWN1 dW07CisJCWJvb2wJCWRvYW5hbHl6ZTsKKwkJYm9vbAkJd3JhcGFyb3VuZDsKKwkJQXV0b1ZhY3V1 bVNjb3JlcyBzY29yZXM7CisJCUF1dG9WYWNPcHRzICphdm9wdHM7CisJCURhdHVtCQl2YWx1ZXNb TlVNX0FWX1NDT1JFX0NPTFNdOworCQlib29sCQludWxsc1tOVU1fQVZfU0NPUkVfQ09MU10gPSB7 ZmFsc2V9OworCisJCWlmIChjbGFzc0Zvcm0tPnJlbGtpbmQgIT0gUkVMS0lORF9SRUxBVElPTiAm JgorCQkJY2xhc3NGb3JtLT5yZWxraW5kICE9IFJFTEtJTkRfTUFUVklFVyAmJgorCQkJY2xhc3NG b3JtLT5yZWxraW5kICE9IFJFTEtJTkRfVE9BU1RWQUxVRSkKKwkJCWNvbnRpbnVlOworCisJCWlm IChjbGFzc0Zvcm0tPnJlbHBlcnNpc3RlbmNlID09IFJFTFBFUlNJU1RFTkNFX1RFTVApCisJCQlj b250aW51ZTsKKworCQlhdm9wdHMgPSBleHRyYWN0X2F1dG92YWNfb3B0cyhjbGFzc1R1cCwgcGdf Y2xhc3NfZGVzYyk7CisKKwkJY29tcHV0ZV9hdXRvdmFjX3Njb3JlKGNsYXNzVHVwLCBwZ19jbGFz c19kZXNjLAorCQkJCQkJCSAgZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwgYXZv cHRzLAorCQkJCQkJCSAgdHJ1ZSwgJmRvdmFjdXVtLCAmZG9hbmFseXplLAorCQkJCQkJCSAgJndy YXBhcm91bmQsICZzY29yZXMpOworCisJCWlmIChhdm9wdHMpCisJCQlwZnJlZShhdm9wdHMpOwor CisJCXZhbHVlc1swXSA9IE9iamVjdElkR2V0RGF0dW0oY2xhc3NGb3JtLT5vaWQpOworCQl2YWx1 ZXNbMV0gPSBCb29sR2V0RGF0dW0oZG92YWN1dW0pOworCQl2YWx1ZXNbMl0gPSBCb29sR2V0RGF0 dW0oZG9hbmFseXplKTsKKwkJdmFsdWVzWzNdID0gQm9vbEdldERhdHVtKHdyYXBhcm91bmQpOwor CQl2YWx1ZXNbNF0gPSBGbG9hdDhHZXREYXR1bShzY29yZXMubWF4KTsKKwkJdmFsdWVzWzVdID0g RmxvYXQ4R2V0RGF0dW0oc2NvcmVzLnhpZCk7CisJCXZhbHVlc1s2XSA9IEZsb2F0OEdldERhdHVt KHNjb3Jlcy5teGlkKTsKKwkJdmFsdWVzWzddID0gRmxvYXQ4R2V0RGF0dW0oc2NvcmVzLnZhYyk7 CisJCXZhbHVlc1s4XSA9IEZsb2F0OEdldERhdHVtKHNjb3Jlcy52YWNfaW5zKTsKKwkJdmFsdWVz WzldID0gRmxvYXQ4R2V0RGF0dW0oc2NvcmVzLmFubCk7CisKKwkJdHVwbGVzdG9yZV9wdXR2YWx1 ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywKKwkJCQkJCQkgdmFsdWVzLCBu dWxscyk7CisJfQorCXRhYmxlX2VuZHNjYW4ocmVsU2Nhbik7CisKKwl0YWJsZV9jbG9zZShjbGFz c1JlbCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJldHVybiAoRGF0dW0pIDA7Cit9CmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdAppbmRleCAzNTc5Y2VjNTc0NC4uNjI2OGY4YzYwMTggMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdApAQCAtNTY2Nyw2ICs1NjY3LDE2IEBACiAgIHByb25hbWUgPT4gJ3BnX3N0 YXRfZ2V0X3RvdGFsX2F1dG9hbmFseXplX3RpbWUnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHBy b3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnZmxvYXQ4JywgcHJvYXJndHlwZXMgPT4g J29pZCcsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdG90YWxfYXV0b2FuYWx5emVfdGltZScg fSwKK3sgb2lkID0+ICc4NDA5JywKKyAgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGF1dG92YWN1dW0g cHJpb3JpdHkgc2NvcmVzIGZvciBhbGwgcmVsYXRpb25zJywKKyAgcHJvbmFtZSA9PiAncGdfc3Rh dF9nZXRfYXV0b3ZhY3V1bV9wcmlvcml0eScsIHByb3Jvd3MgPT4gJzEwMCcsCisgIHByb3JldHNl dCA9PiAndCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcGFyYWxsZWwgPT4gJ3InLAorICBwcm9y ZXR0eXBlID0+ICdyZWNvcmQnLCBwcm9hcmd0eXBlcyA9PiAnJywKKyAgcHJvYWxsYXJndHlwZXMg PT4gJ3tvaWQsYm9vbCxib29sLGJvb2wsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0 OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisg IHByb2FyZ25hbWVzID0+ICd7cmVsaWQsbmVlZHNfdmFjdXVtLG5lZWRzX2FuYWx5emUsd3JhcGFy b3VuZCxzY29yZSx4aWRfc2NvcmUsbXhpZF9zY29yZSx2YWN1dW1fZGVhZF9zY29yZSx2YWN1dW1f aW5zX3Njb3JlLGFuYWx5emVfc2NvcmV9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9hdXRv dmFjdXVtX3ByaW9yaXR5JywKKyAgcHJvYWNsID0+ICd7UE9TVEdSRVM9WCxwZ19yZWFkX2FsbF9z dGF0cz1YfScgfSwKIHsgb2lkID0+ICcxOTM2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGN1cnJl bnRseSBhY3RpdmUgYmFja2VuZCBJRHMnLAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9iYWNr ZW5kX2lkc2V0JywgcHJvcm93cyA9PiAnMTAwJywgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvdm9s YXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDQnLApk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCAyYjNjZjZkODU2OS4uZDJkM2MzZGQw NDggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0xODYwLDYgKzE4NjAsMjEg QEAgcGdfc3RhdF9hcmNoaXZlcnwgU0VMRUNUIGFyY2hpdmVkX2NvdW50LAogICAgIGxhc3RfZmFp bGVkX3RpbWUsCiAgICAgc3RhdHNfcmVzZXQKICAgIEZST00gcGdfc3RhdF9nZXRfYXJjaGl2ZXIo KSBzKGFyY2hpdmVkX2NvdW50LCBsYXN0X2FyY2hpdmVkX3dhbCwgbGFzdF9hcmNoaXZlZF90aW1l LCBmYWlsZWRfY291bnQsIGxhc3RfZmFpbGVkX3dhbCwgbGFzdF9mYWlsZWRfdGltZSwgc3RhdHNf cmVzZXQpOworcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5fCBTRUxFQ1Qgcy5yZWxpZCwKKyAg ICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKKyAgICBjLnJlbG5hbWUsCisgICAgcy5uZWVkc192 YWN1dW0sCisgICAgcy5uZWVkc19hbmFseXplLAorICAgIHMud3JhcGFyb3VuZCwKKyAgICBzLnNj b3JlLAorICAgIHMueGlkX3Njb3JlLAorICAgIHMubXhpZF9zY29yZSwKKyAgICBzLnZhY3V1bV9k ZWFkX3Njb3JlLAorICAgIHMudmFjdXVtX2luc19zY29yZSwKKyAgICBzLmFuYWx5emVfc2NvcmUK KyAgIEZST00gKChwZ19zdGF0X2dldF9hdXRvdmFjdXVtX3ByaW9yaXR5KCkgcyhyZWxpZCwgbmVl ZHNfdmFjdXVtLCBuZWVkc19hbmFseXplLCB3cmFwYXJvdW5kLCBzY29yZSwgeGlkX3Njb3JlLCBt eGlkX3Njb3JlLCB2YWN1dW1fZGVhZF9zY29yZSwgdmFjdXVtX2luc19zY29yZSwgYW5hbHl6ZV9z Y29yZSkKKyAgICAgSk9JTiBwZ19jbGFzcyBjIE9OICgoYy5vaWQgPSBzLnJlbGlkKSkpCisgICAg IExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSk7 CiBwZ19zdGF0X2Jnd3JpdGVyfCBTRUxFQ1QgcGdfc3RhdF9nZXRfYmd3cml0ZXJfYnVmX3dyaXR0 ZW5fY2xlYW4oKSBBUyBidWZmZXJzX2NsZWFuLAogICAgIHBnX3N0YXRfZ2V0X2Jnd3JpdGVyX21h eHdyaXR0ZW5fY2xlYW4oKSBBUyBtYXh3cml0dGVuX2NsZWFuLAogICAgIHBnX3N0YXRfZ2V0X2J1 Zl9hbGxvYygpIEFTIGJ1ZmZlcnNfYWxsb2MsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bS5v dXQKaW5kZXggZDQ2OTZiYzMzMjUuLmJiZWU3NDU3Nzk2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC92YWN1dW0ub3V0CkBAIC03MzAsMyArNzMwLDM3IEBAIFNFTEVDVCBwZ19jb2x1bW5fdG9hc3Rf Y2h1bmtfaWQoZjEpID0gOidpZF8yX2NodW5rJyBBUyBzYW1lX2NodW5rCiAoMSByb3cpCiAKIERS T1AgVEFCTEUgdmFjX3Jld3JpdGVfdG9hc3Q7CistLSBUZXN0IHBnX3N0YXRfYXV0b3ZhY3V1bV9w cmlvcml0eSB2aWV3LiBPbmx5IHhpZF9zY29yZSBhbmQgbXhpZF9zY29yZQorLS0gYXJlIG5vdCB0 ZXN0ZWQsIGFzIHRoZXkgbmVlZCB0byBjb25zdW1lIGVub3VnaCBYSUQncy4gVGhlIHRlc3QgaXMK Ky0tIHJ1biB3aXRoIGF1dG92YWN1dW0gZGlzYWJsZWQgZm9yIHRlc3Qgc3RhYmlsaXR5IGFzIHdl bGwgYXMgZW5zdXJpbmcKKy0tIHRoYXQgcHJpb3JpdHkgZmllbGRzIGFyZSBzdGlsbCBwb3B1bGF0 ZWQgaW4gdGhpcyBjYXNlLiBUaGUgdGVzdCBlbnN1cmVzCistLSB0aGF0IHRoZSBjb21wdXRlZCBz Y29yZSBpcyB3aXRoaW4gYW4gZXhwZWN0ZWQgcmFuZ2UuCitDUkVBVEUgVEFCTEUgdmFjdXVtX3By aW9yaXR5X3Rlc3QgKGlkIGludCkKKyAgV0lUSCAoYXV0b3ZhY3V1bV9hbmFseXplX3RocmVzaG9s ZCA9IDEsCisgICAgICAgIGF1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCA9IDEsCisgICAgICAg IGF1dG92YWN1dW1fdmFjdXVtX2luc2VydF90aHJlc2hvbGQgPSAxLAorICAgICAgICBhdXRvdmFj dXVtX2VuYWJsZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjdXVtX3ByaW9yaXR5X3Rlc3QgU0VM RUNUIDE7CitJTlNFUlQgSU5UTyB2YWN1dW1fcHJpb3JpdHlfdGVzdCBTRUxFQ1QgMjsKK0RFTEVU RSBGUk9NIHZhY3V1bV9wcmlvcml0eV90ZXN0IFdIRVJFIGlkID0gMTsKK0RFTEVURSBGUk9NIHZh Y3V1bV9wcmlvcml0eV90ZXN0IFdIRVJFIGlkID0gMjsKKy0tIGZvcmNlIHZhY3V1bSBzdGF0cyB0 byBiZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJv dykKKworU0VMRUNUIG5lZWRzX3ZhY3V1bSwgbmVlZHNfYW5hbHl6ZSwKKyAgc2NvcmUgPiAwIEFO RCBzY29yZSA8PSA0IEFTIHNjb3JlLAorICB2YWN1dW1fZGVhZF9zY29yZSA+IDAgQU5EIHZhY3V1 bV9kZWFkX3Njb3JlIDw9IDIgQVMgdmFjdXVtX2RlYWRfc2NvcmUsCisgIHZhY3V1bV9pbnNfc2Nv cmUgPiAwIEFORCB2YWN1dW1faW5zX3Njb3JlIDw9IDIgQVMgdmFjdXVtX2luc19zY29yZSwKKyAg YW5hbHl6ZV9zY29yZSA+IDAgQU5EIGFuYWx5emVfc2NvcmUgPD0gNCBBUyBhbmFseXplX3Njb3Jl CisgIEZST00gcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5CisgIFdIRVJFIHJlbG5hbWUgPSAn dmFjdXVtX3ByaW9yaXR5X3Rlc3QnOworIG5lZWRzX3ZhY3V1bSB8IG5lZWRzX2FuYWx5emUgfCBz Y29yZSB8IHZhY3V1bV9kZWFkX3Njb3JlIHwgdmFjdXVtX2luc19zY29yZSB8IGFuYWx5emVfc2Nv cmUgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB0ICAgICAgICAgICAg fCB0ICAgICAgICAgICAgIHwgdCAgICAgfCB0ICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmFjdXVtX3ByaW9yaXR5X3Rlc3Q7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW0uc3FsIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtLnNxbAppbmRleCAyNDdiOGUyM2IyMy4uYTNiYjFjYzFkYzIgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtLnNxbApAQCAtNTI1LDMgKzUyNSwyOCBAQCBTRUxFQ1QgaWQsIHBnX2Nv bHVtbl90b2FzdF9jaHVua19pZChmMSkgSVMgTlVMTCBBUyBmMV9jaHVua19udWxsLAogU0VMRUNU IHBnX2NvbHVtbl90b2FzdF9jaHVua19pZChmMSkgPSA6J2lkXzJfY2h1bmsnIEFTIHNhbWVfY2h1 bmsKICAgRlJPTSB2YWNfcmV3cml0ZV90b2FzdCBXSEVSRSBpZCA9IDI7CiBEUk9QIFRBQkxFIHZh Y19yZXdyaXRlX3RvYXN0OworCistLSBUZXN0IHBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eSB2 aWV3LiBPbmx5IHhpZF9zY29yZSBhbmQgbXhpZF9zY29yZQorLS0gYXJlIG5vdCB0ZXN0ZWQsIGFz IHRoZXkgbmVlZCB0byBjb25zdW1lIGVub3VnaCBYSUQncy4gVGhlIHRlc3QgaXMKKy0tIHJ1biB3 aXRoIGF1dG92YWN1dW0gZGlzYWJsZWQgZm9yIHRlc3Qgc3RhYmlsaXR5IGFzIHdlbGwgYXMgZW5z dXJpbmcKKy0tIHRoYXQgcHJpb3JpdHkgZmllbGRzIGFyZSBzdGlsbCBwb3B1bGF0ZWQgaW4gdGhp cyBjYXNlLiBUaGUgdGVzdCBlbnN1cmVzCistLSB0aGF0IHRoZSBjb21wdXRlZCBzY29yZSBpcyB3 aXRoaW4gYW4gZXhwZWN0ZWQgcmFuZ2UuCitDUkVBVEUgVEFCTEUgdmFjdXVtX3ByaW9yaXR5X3Rl c3QgKGlkIGludCkKKyAgV0lUSCAoYXV0b3ZhY3V1bV9hbmFseXplX3RocmVzaG9sZCA9IDEsCisg ICAgICAgIGF1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCA9IDEsCisgICAgICAgIGF1dG92YWN1 dW1fdmFjdXVtX2luc2VydF90aHJlc2hvbGQgPSAxLAorICAgICAgICBhdXRvdmFjdXVtX2VuYWJs ZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjdXVtX3ByaW9yaXR5X3Rlc3QgU0VMRUNUIDE7CitJ TlNFUlQgSU5UTyB2YWN1dW1fcHJpb3JpdHlfdGVzdCBTRUxFQ1QgMjsKK0RFTEVURSBGUk9NIHZh Y3V1bV9wcmlvcml0eV90ZXN0IFdIRVJFIGlkID0gMTsKK0RFTEVURSBGUk9NIHZhY3V1bV9wcmlv cml0eV90ZXN0IFdIRVJFIGlkID0gMjsKKy0tIGZvcmNlIHZhY3V1bSBzdGF0cyB0byBiZSBmbHVz aGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CitTRUxFQ1QgbmVlZHNfdmFj dXVtLCBuZWVkc19hbmFseXplLAorICBzY29yZSA+IDAgQU5EIHNjb3JlIDw9IDQgQVMgc2NvcmUs CisgIHZhY3V1bV9kZWFkX3Njb3JlID4gMCBBTkQgdmFjdXVtX2RlYWRfc2NvcmUgPD0gMiBBUyB2 YWN1dW1fZGVhZF9zY29yZSwKKyAgdmFjdXVtX2luc19zY29yZSA+IDAgQU5EIHZhY3V1bV9pbnNf c2NvcmUgPD0gMiBBUyB2YWN1dW1faW5zX3Njb3JlLAorICBhbmFseXplX3Njb3JlID4gMCBBTkQg YW5hbHl6ZV9zY29yZSA8PSA0IEFTIGFuYWx5emVfc2NvcmUKKyAgRlJPTSBwZ19zdGF0X2F1dG92 YWN1dW1fcHJpb3JpdHkKKyAgV0hFUkUgcmVsbmFtZSA9ICd2YWN1dW1fcHJpb3JpdHlfdGVzdCc7 CitEUk9QIFRBQkxFIHZhY3V1bV9wcmlvcml0eV90ZXN0OwotLSAKMi40Ny4zCgo= --000000000000e7c6b2064e41d86b--