From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id B7B5A1FF15C for ; Wed, 5 Mar 2025 11:31:51 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3E80F12DD7; Wed, 5 Mar 2025 11:31:47 +0100 (CET) Message-ID: <6e6e0079-cb9b-4ab9-ac84-29ffad3b7069@proxmox.com> Date: Wed, 5 Mar 2025 11:31:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20250304183546.461918-1-c.ebner@proxmox.com> <20250304183546.461918-5-c.ebner@proxmox.com> <1741165295.v0wvsjny5i.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1741165295.v0wvsjny5i.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.371 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [datastore.rs, proxmox.com] Subject: Re: [pbs-devel] [PATCH v3 proxmox-backup 4/9] fix #5982: garbage collection: check atime updates are honored X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gMy81LzI1IDEwOjQxLCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3RlOgo+IE9uIE1hcmNoIDQs IDIwMjUgNzozNSBwbSwgQ2hyaXN0aWFuIEVibmVyIHdyb3RlOgo+PiBDaGVjayBpZiB0aGUgZmls ZXN5c3RlbSBiYWNraW5nIHRoZSBjaHVuayBzdG9yZSBhY3R1YWxseSB1cGRhdGVzIHRoZQo+PiBh dGltZSB0byBhdm9pZCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIHBoYXNlIDIgb2YgZ2FyYmFnZSBj b2xsZWN0aW9uLAo+PiBpbiBjYXNlIHRoZSBhdGltZSB1cGRhdGUgaXMgbm90IGhvbm9yZWQuCj4+ Cj4+IFBlcmZvcm0gdGhlIGNoZWNrIGJlZm9yZSBwaGFzZSAxIG9mIGdhcmJhZ2UgY29sbGVjdGlv biwgYXMgd2VsbCBhcwo+PiBvbiBkYXRhc3RvcmUgY3JlYXRpb24uIFRoZSBsYXR0ZXIgdG8gZWFy bHkgZGV0ZWN0IGFuZCBkaXNhbGxvdwo+PiBkYXRhc3RvcmUgY3JlYXRpb24gb24gZmlsZXN5c3Rl bSBjb25maWd1cmF0aW9ucyB3aGljaCBvdGhlcndpc2UgbW9zdAo+PiBsaWtlbHkgd291bGQgbGVh ZCB0byBkYXRhIGxvc3Nlcy4KPj4KPj4gRW5hYmxlIHRoZSBhdGltZSB1cGRhdGUgY2hlY2sgYnkg ZGVmYXVsdCwgYnV0IGFsbG93IHRvIG9wdC1vdXQgYnkKPj4gc2V0dGluZyBhIGRhdGFzdG9yZSB0 dW5pbmcgcGFyYW1ldGVyIGZsYWcgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Lgo+PiBUaGlz IGlzIGhvbm9yZWQgYnkgYm90aCwgZ2FyYmFnZSBjb2xsZWN0aW9uIGFuZCBkYXRhc3RvcmUgY3Jl YXRpb24uCj4+Cj4+IFRoZSBjaGVjayB1c2VzIGEgNCBNaUIgZml4ZWQgc2l6ZWQsIHVuZW5jeXB0 ZWQgYW5kIGNvbXByZXNzZWQgY2h1bmsKPj4gYXMgdGVzdCBtYXJrZXIsIGluc2VydGVkIGlmIG5v dCBwcmVzZW50LiBUaGlzIGFsbCB6ZXJvLWNodW5rIGlzIHZlcnkKPj4gbGlrZWx5IGFueXdheXMg Zm9yIHVuZW5jcnlwdGVkIGJhY2t1cCBjb250ZW50cyB3aXRoIGxhcmdlIGFsbC16ZXJvCj4+IHJl Z2lvbnMgdXNpbmcgZml4ZWQgc2l6ZSBjaHVua2luZyAoZS5nLiBWTXMpLgo+Pgo+PiBUbyBhdm9p ZCBjYXNlcyB3ZXJlIHRoZSB0aW1lc3RhbXAgd2lsbCBub3QgYmUgdXBkYXRlZCBiZWNhdXNlIG9m IHRoZQo+PiBMaW51eCBrZXJuZWxzIHRpbWVzdGFtcCBncmFudWxhcml0eSwgc2xlZXAgaW4tYmV0 d2VlbiBzdGF0aW5nIGFuZAo+PiB1dGltZW5zYXQgZm9yIDEgc2Vjb25kLgo+Pgo+PiBGaXhlczog aHR0cHM6Ly9idWd6aWxsYS5wcm94bW94LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NTk4Mgo+PiBTaWdu ZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4+IC0tLQo+ PiBjaGFuZ2VzIHNpbmNlIHZlcnNpb24gMjoKPj4gLSBUYWtlIExpbnV4IHRpbWVzdGFtcCBncmFu dWxhcml0eSBpbnRvIGFjY291bnQgYnkgc2xlZXBpbmcgMSBzZWNvbmQKPj4gICAgaW4tYmV0d2Vl biBvcGVyYXRpb25zIGluc3RlYWQgb2Ygc2V0dGluZyB0aW1lc3RhbXAgdG8gdGhlIHBhc3QuCj4+ IC0gQ2hlY2sgcmVsYXRpbWUgYmVoYXZpb3IgaWYgYXRpbWUgYmVoYXZpb3VyIG5vdCBob25vcmVk Lgo+PiAtIGFkYXB0IGRhdGFzdG9yZSB0dW5pbmcgdmFyaWFibGVzIHRvIG5ldyBuYW1lcwo+Pgo+ Pgo+PiAgIHBicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzIHwgMTI4ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0KPj4gICBwYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMg ICB8ICAxMCArKysKPj4gICBzcmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzICAgICB8ICAgMSAr Cj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK Pj4KPj4gZGlmZiAtLWdpdCBhL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzIGIvcGJz LWRhdGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMKPj4gaW5kZXggNWUwMjkwOWExLi5lNTI5ZGNj OWMgMTAwNjQ0Cj4+IC0tLSBhL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4+ICsr KyBiL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4+IEBAIC0xLDYgKzEsOCBAQAo+ PiArdXNlIHN0ZDo6Y21wOjpPcmRlcmluZzsKPj4gICB1c2Ugc3RkOjpvczo6dW5peDo6aW86OkFz UmF3RmQ7Cj4+ICAgdXNlIHN0ZDo6cGF0aDo6e1BhdGgsIFBhdGhCdWZ9Owo+PiAgIHVzZSBzdGQ6 OnN5bmM6OntBcmMsIE11dGV4fTsKPj4gK3VzZSBzdGQ6OnRpbWU6OkR1cmF0aW9uOwo+PiAgIAo+ PiAgIHVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRfZXJyLCBFcnJvcn07Cj4+ICAgdXNlIHRyYWNp bmc6OmluZm87Cj4+IEBAIC0xMyw2ICsxNSw3IEBAIHVzZSBwcm94bW94X3N5czo6cHJvY2Vzc19s b2NrZXI6OnsKPj4gICB9Owo+PiAgIHVzZSBwcm94bW94X3dvcmtlcl90YXNrOjpXb3JrZXJUYXNr Q29udGV4dDsKPj4gICAKPj4gK3VzZSBjcmF0ZTo6ZGF0YV9ibG9iOjpEYXRhQ2h1bmtCdWlsZGVy Owo+PiAgIHVzZSBjcmF0ZTo6ZmlsZV9mb3JtYXRzOjp7Cj4+ICAgICAgIENPTVBSRVNTRURfQkxP Ql9NQUdJQ18xXzAsIEVOQ1JZUFRFRF9CTE9CX01BR0lDXzFfMCwgVU5DT01QUkVTU0VEX0JMT0Jf TUFHSUNfMV8wLAo+PiAgIH07Cj4+IEBAIC05Myw2ICs5Niw3IEBAIGltcGwgQ2h1bmtTdG9yZSB7 Cj4+ICAgICAgICAgICB1aWQ6IG5peDo6dW5pc3RkOjpVaWQsCj4+ICAgICAgICAgICBnaWQ6IG5p eDo6dW5pc3RkOjpHaWQsCj4+ICAgICAgICAgICBzeW5jX2xldmVsOiBEYXRhc3RvcmVGU3luY0xl dmVsLAo+PiArICAgICAgICBhdGltZV9zYWZldHlfY2hlY2s6IGJvb2wsCj4+ICAgICAgICkgLT4g UmVzdWx0PFNlbGYsIEVycm9yPgo+PiAgICAgICB3aGVyZQo+PiAgICAgICAgICAgUDogSW50bzxQ YXRoQnVmPiwKPj4gQEAgLTE0Nyw3ICsxNTEsMjAgQEAgaW1wbCBDaHVua1N0b3JlIHsKPj4gICAg ICAgICAgICAgICB9Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+IC0gICAgICAgIFNlbGY6Om9wZW4o bmFtZSwgYmFzZSwgc3luY19sZXZlbCkKPj4gKyAgICAgICAgbGV0IGNodW5rX3N0b3JlID0gU2Vs Zjo6b3BlbihuYW1lLCBiYXNlLCBzeW5jX2xldmVsKT87Cj4+ICsgICAgICAgIGlmIGF0aW1lX3Nh ZmV0eV9jaGVjayB7Cj4+ICsgICAgICAgICAgICBjaHVua19zdG9yZQo+PiArICAgICAgICAgICAg ICAgIC5hdGltZV9zYWZldHlfY2hlY2soKQo+PiArICAgICAgICAgICAgICAgIC5tYXAofGF0aW1l X3VwZGF0ZWR8IGlmIGF0aW1lX3VwZGF0ZWQgewo+PiArICAgICAgICAgICAgICAgICAgICBpbmZv ISgiYXRpbWUgc2FmZXR5IGNoZWNrIHN1Y2Nlc3NmdWwuIikKPj4gKyAgICAgICAgICAgICAgICB9 IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAgICBpbmZvISgiYXRpbWUgc2FmZXR5IGNoZWNr IHN1Y2Nlc3NmdWwgd2l0aCByZWxhdGltZSBiZWhhdmlvdXIuIikKPj4gKyAgICAgICAgICAgICAg ICB9KT87Cj4+ICsgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICBpbmZvISgiYXRpbWUg c2FmZXR5IGNoZWNrIHNraXBwZWQuIik7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBP ayhjaHVua19zdG9yZSkKPj4gICAgICAgfQo+PiAgIAo+PiAgICAgICBmbiBsb2NrZmlsZV9wYXRo PFA6IEludG88UGF0aEJ1Zj4+KGJhc2U6IFApIC0+IFBhdGhCdWYgewo+PiBAQCAtNDQyLDYgKzQ1 OSw5NCBAQCBpbXBsIENodW5rU3RvcmUgewo+PiAgICAgICAgICAgT2soKCkpCj4+ICAgICAgIH0K Pj4gICAKPj4gKyAgICAvLy8gQ2hlY2sgaWYgYXRpbWUgdXBkYXRlcyBhcmUgaG9ub3JlZCBieSB0 aGUgZmlsZXN5c3RlbSBiYWNraW5nIHRoZSBjaHVuayBzdG9yZS4KPj4gKyAgICAvLy8KPj4gKyAg ICAvLy8gQ2hlY2tzIGlmIHRoZSBhdGltZSBpcyBlaXRoZXIgdXBkYXRlIGltbWVkaWF0ZWx5IGJ5 IHV0aW1lbnNhdCBvciBpbiBhIHJlbGF0aW1lIG1hbm5lciBieQo+PiArICAgIC8vLyBmaXJzdCBz ZXR0aW5nIGF0aW1lIGFuZCBtdGltZSB0byBub3csIGZvbGxvd2VkIGJ5IHRyeWluZyB0byB1cGRh dGUgdGhlIGF0aW1lLgo+PiArICAgIC8vLyBJZiB0aGUgYXRpbWUgdXBkYXRlIGlzIGhvbm9yZWQs IHJldHVybiB3aXRoIHRydWUsIGlmIHRoZSByZWxhdGltZSB1cGRhdGUgaGFzIGJlZW4gaG9ub3Jl ZCwKPj4gKyAgICAvLy8gcmV0dXJuIHdpdGggZmFsc2UuIFJldHVybiB3aXRoIGVycm9yIG90aGVy d2lzZS4KPj4gKyAgICAvLy8gVXNlcyBhIDQgTWlCIGZpeGVkIHNpemUsIGNvbXByZXNzZWQgYnV0 IHVuZW5jcnlwdGVkIGNodW5rIHRvIHRlc3QuIFRoZSBjaHVuayBpcyBpbnNlcnRlZCBpbgo+PiAr ICAgIC8vLyB0aGUgY2h1bmsgc3RvcmUgaWYgbm90IHlldCBwcmVzZW50Lgo+PiArICAgIHB1YiBm biBhdGltZV9zYWZldHlfY2hlY2soJnNlbGYpIC0+IFJlc3VsdDxib29sLCBFcnJvcj4gewo+PiAr ICAgICAgICBsZXQgKHplcm9fY2h1bmssIGRpZ2VzdCkgPSBEYXRhQ2h1bmtCdWlsZGVyOjpidWls ZF96ZXJvX2NodW5rKE5vbmUsIDQwOTYgKiAxMDI0LCB0cnVlKT87Cj4+ICsgICAgICAgIHNlbGYu aW5zZXJ0X2NodW5rKCZ6ZXJvX2NodW5rLCAmZGlnZXN0KT87Cj4gCj4gd2UgbWlnaHQgd2FudCB0 byByZW1lbWJlciB3aGV0aGVyIHdlIGluc2VydCBvciBub3QgKHJldHVybiB2YWx1ZSBoZXJlKQo+ IGZvciBsb2cgb3V0cHV0IGJlbG93LgoKQWNrZWQsIHdpbGwgaW5jbHVkZSB0aGlzIGluZm9ybWF0 aW9uIGFzIHdlbGwuCgo+IAo+PiArICAgICAgICBsZXQgKHBhdGgsIF9kaWdlc3QpID0gc2VsZi5j aHVua19wYXRoKCZkaWdlc3QpOwo+PiArCj4+ICsgICAgICAgIGxldCBtZXRhZGF0YV9iZWZvcmUg PSBzdGQ6OmZzOjptZXRhZGF0YSgmcGF0aCkubWFwX2VycihFcnJvcjo6ZnJvbSk/Owo+PiArICAg ICAgICBsZXQgYXRpbWVfYmVmb3JlID0gbWV0YWRhdGFfYmVmb3JlLmFjY2Vzc2VkKCk/Owo+PiAr Cj4+ICsgICAgICAgIC8vIFRha2UgaW50byBhY2NvdW50IHRpbWVzdGFtcCB1cGRhdGUgZ3JhbnVs YXJpdHkgaW4gdGhlIGtlcm5lbAo+PiArICAgICAgICBzdGQ6OnRocmVhZDo6c2xlZXAoRHVyYXRp b246OmZyb21fc2VjcygxKSk7Cj4gCj4gc21hbGwgbml0OiBpZiB3ZSByZS1vcmRlciB0aGUgc3Rh dCBhbmQgc2xlZXAgYWJvdmUsIHdlIGhhdmUgaGlnaGVyCj4gY2hhbmNlcyBvZiBhY3R1YWxseSB0 ZXN0aW5nIG91ciBjaGFuZ2UgYW5kIG5vdCBzb21lIHNpZGUtZWZmZWN0IG9mCj4gY29uY3VycmVu dCBhY3Rpb25zIChzZWUgYmVsb3cpLgoKQWggeWVzLCB0aGF0J3Mgd2F5IGJldHRlciwgYSBsb3Qg Y2FuIGhhcHBlbiB3aXRoaW4gYSBzZWNvbmQuLi4KCj4+ICsgICAgICAgIHNlbGYuY29uZF90b3Vj aF9wYXRoKCZwYXRoLCB0cnVlKT87Cj4gCj4gaXQgbWlnaHQgYmUgd29ydGggYSBjb21tZW50IHRv IG5vdGUgdGhhdCB0aGlzIGlzIGFjdHVhbGx5IG1vc3QgbGlrZWx5Cj4gdGhlIHNlY29uZCB0b3Vj aCAodGhlIGZpcnN0IG9uZSBoYXZpbmcgaGFwcGVuZWQgYnkgaW5zZXJ0X2NodW5rIGFib3ZlKS4K Ck9rYXksIHdpbGwgaW5jbHVkZSBhIGNvbW1lbnQgbWVudGlvbmluZyB0aGlzIGV4cGxpY2l0bHku Cgo+IHRoaXMgbWVhbnMgdGhpcyB0ZXN0IGFjdHVhbGx5IGRvZXNuJ3QganVzdCB0ZXN0IHRoYXQg YXRpbWUgdXBkYXRpbmcKPiB3b3JrcywgYnV0IHRoYXQgZmlsZSBjcmVhdGlvbi90b3VjaGluZyBm b2xsb3dlZCBieSBhIHNlY29uZCB0b3VjaAo+IHNob3J0bHkgYWZ0ZXIgd29ya3MsIHdoaWNoIGlz IG11Y2ggbW9yZSBsaWtlIHdoYXQgd2Ugd2FudCBmb3IgR0MgOikKPiAKPj4gKwo+PiArICAgICAg ICBsZXQgbWV0YWRhdGFfbm93ID0gc3RkOjpmczo6bWV0YWRhdGEoJnBhdGgpLm1hcF9lcnIoRXJy b3I6OmZyb20pPzsKPj4gKyAgICAgICAgbGV0IGF0aW1lX25vdyA9IG1ldGFkYXRhX25vdy5hY2Nl c3NlZCgpPzsKPj4gKwo+PiArICAgICAgICBtYXRjaCBhdGltZV9iZWZvcmUuY21wKCZhdGltZV9u b3cpIHsKPj4gKyAgICAgICAgICAgIE9yZGVyaW5nOjpMZXNzID0+IE9rKHRydWUpLAo+IAo+IHRo ZXJlIGlzIGEgc21hbGwgcmlzayBvZiBmYWxzZSBwb3NpdGl2ZXMgaGVyZSBpZiBzb21lIG90aGVy IGFjdGlvbiBvbgo+IHRoZSBmaWxlIHBhdGggY2F1c2VkIGF0aW1lIHRvIGNoYW5nZSAoZS5nLiwg YSBiYWNrdXAgdXBsb2FkaW5nIGEKPiBiZXR0ZXItY29tcHJlc3NlZCBjb3B5IG9mIHRoZSB6ZXJv IGNodW5rIHRoYXQgYmVjb21lcyB2aXNpYmxlIGV4YWN0bHkgYXQKPiB0aGUgcmlnaHQgbW9tZW50 LCBvciB3aGF0ZXZlcikuCj4gCj4gbm90IHN1cmUgd2hldGhlciB3ZSB3YW50IHRvIGNhcmUgYWJv dXQgdGhhdCwgYnV0IHdhbnRlZCB0byBtZW50aW9uIGl0Cj4gYW55d2F5IGZvciBjb21wbGV0ZW5l c3MnIHNha2UuIHdlIGNvdWxkIGltcHJvdmUgcm9idXN0bmVzcyBieSBjaGVja2luZwo+IHRoYXQg dGhlIGlub2RlIGFuZCBiaXJ0aCB0aW1lIGlzIHN0aWxsIHRoZSBzYW1lLCBhbmQgcmV0cnkgdGhl IGNoZWNrIGlmCj4gbm90PyBpdCBpcyBwcm9iYWJseSByZWFsbHkgdW5saWtlbHkgdG8gaGl0IGlu IHByYWN0aWNlIDspCgpZZXMsIGhhZCB0aGlzIGluIG1pbmQgYXMgd2VsbCB5ZXN0ZXJkYXksIGFu b3RoZXIgb3B0aW9uIHdvdWxkIGJlIHRvIG5vdCAKcmVseSBvbiBhbiBhY3R1YWwgY2h1bmsgZmls ZSBmb3IgdGhlIHRlc3QsIGJ1dCByYXRoZXIgdXNlIGEgZGlmZmVyZW50IApmaWxlLiBCdXQgSSBk aXNjYXJkZWQgdGhhdCBvcHRpb24gbWFpbmx5IGJlY2F1c2UgSSBkaWRuJ3Qgd2FudCB0byAKcG9s bHV0ZSB0aGUgY2h1bmsgc3RvcmUgd2l0aCBvdGhlciBmaWxlcyBhbmQgaXQgYWN0dWFsbHkgZG9l cyBub3QgZml4IAp0aGUgaXNzdWUgKHRoZSBmaWxlIG1pZ2h0IHN0aWxsIGJlIHRvdWNoZWQgdW5l eHBlY3RlZGx5IGJ5IHNvbWV0aGluZyAKZWxzZSkuIFNvIGNoZWNraW5nIHRoZSBpbm9kZSBhbmQg Y29tcGFyaW5nIHRoZSBjdGltZSBpcyBhIGdvb2QgCmFsdGVybmF0aXZlLCB3aXRoIGxpdHRsZSBj b3N0LiBXaWxsIGluY29ycG9yYXRlIHRoaXMgYWRkaXRpb25hbCBjaGVja3MuCgo+IAo+PiArICAg ICAgICAgICAgT3JkZXJpbmc6OkVxdWFsID0+IHsKPj4gKyAgICAgICAgICAgICAgICAvLyBVc2Ug dGhlIHByZXZpb3VzIG10aW1lIGhlcmUsIGFzIHRoYXQgaXMgdGhlIG9uZSB0aGUgYXRpbWUKPj4g KyAgICAgICAgICAgICAgICAvLyBiZWZvcmUgdXBkYXRlIGNoZWNrIHdpbGwgYmVlbiBjb21wYXJl ZCB0bwo+PiArICAgICAgICAgICAgICAgIGxldCBtdGltZV9iZWZvcmUgPSBtZXRhZGF0YV9iZWZv cmUubW9kaWZpZWQoKT87Cj4+ICsgICAgICAgICAgICAgICAgaWYgYXRpbWVfbm93IDwgbXRpbWVf YmVmb3JlIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgRXJyKGZvcm1hdF9lcnIhKAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgImF0aW1lIHNhZmV0eSBjaGVjayBmYWlsZWQsIGlzIGF0aW1l IHN1cHBvcnQgZW5hYmxlZCBvbiBkYXRhc3RvcmUgYmFja2luZyBcCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICBmaWxlc3lzdGVtPyIKPj4gKyAgICAgICAgICAgICAgICAgICAgKSkKPj4gKyAg ICAgICAgICAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbGF0 aW1lX3NhZmV0eV9jaGVjaygmcGF0aCk/Owo+PiArICAgICAgICAgICAgICAgICAgICBPayhmYWxz ZSkKPiAKPiB0aGlzIHdvdWxkIGJlIHZlcnkgdW5leHBlY3RlZCBiZWhhdmlvdXIgKGl0IHdvdWxk IHByb2JhYmx5IG1ha2Ugc2Vuc2UgdG8KPiBzeXN0ZW1hdGljYWxseSB0ZXN0ICphbGwgY29tbW9u KiBzdG9yYWdlcyB0aGF0IHdlIGNhbiBlYXNpbHkgdGVzdCB0byBzZWUKPiBpZiBhbnkgZXhoaWJp dCB0aGlzIGJlaGF2aW91cj8pLCBhbmQgaWYgaXQgb2NjdXJzLCBob3cgY2FuIHdlIGJlIHN1cmUK PiB0aGF0IGl0IHdvdWxkIGhvbm9yIHRoZSAyNGggKHNpbmNlIHRoZSBiZWhhdmlvdXIgb2YgdGhh dAo+IGZpbGVzeXN0ZW0vc3RvcmFnZSBpcyBhbHJlYWR5IG91dCBvZiBzcGVjKS4KPiAKPiBJIHRo aW5rIGlmIHdlIHdhbnQgdG8gZ28gZG93biB0aGF0IHJvdXRlLCB3ZSdkIG5lZWQgdG8gc3dpdGNo IHRoZQo+IHRvdWNoaW5nIG92ZXIgdG8gYWxzbyBzZXQgdGhlIG10aW1lIHRvIGJlIHNhZmUuIHdl IGtub3cgdG91Y2hpbmcgaW4gdGhhdAo+IGZhc2hpb24gd29ya3MgKHNpbmNlIHdlIHRlc3QgaXQg aGVyZSksIHdlIGRvbid0IGtub3cgbXVjaCBlbHNlIGFib3V0Cj4gaXQncyBzZW1hbnRpY3MuIG9y IHdlIHNheSBzdWNoIHNldHVwcyBhcmUgdW5zdXBwb3J0ZWQsIGFuZCByZXF1aXJlIHVzZXJzCj4g dG8gZXhwbGljaXRseSBvcHQgaW50byBwb3RlbnRpYWxseSB1bnNhZmUgb3BlcmF0aW9ucyBieSBk aXNhYmxpbmcgdGhlCj4gY2hlY2suCgpBY2tlZCwgSSB3aWxsIGNoZWNrIGlmIEkgY2FuIGZpbmQg YSBmaWxlc3lzdGVtIHdoaWNoIGRvZXMgYmVoYXZlIGFzIAp0ZXN0ZWQsIGJ1dCBpZiBub25lIGlz IHRvIGJlIGZvdW5kIEkgd291bGQgb3B0IGZvciB0aGUgbGF0dGVyIG9wdGlvbiwgCm1ha2luZyB0 aGlzIGFuIGVycm9yIGFuZCBvbmx5IGFsbG93IHRoZSB1c2VycyB0byBvcHQtb3V0LgpJZiB0aGVy ZSBhcmUgdGhlbiByZXBvcnRzLCBpdCBpcyBzdGlsbCBwb3NzaWJsZSB0byBleHRlbmQgdGhlc2Ug Y2hlY2tzIAphbmQgYWRhcHQgR0MgdG8gdXNlIG10aW1lIGFzIHdlbGwgb3IgZXZlbiBnbyBmb3Ig YSB0b3RhbGx5IGRpZmZlcmVudCAKYXBwcm9hY2guCgo+IAo+PiArICAgICAgICAgICAgICAgIH0K Pj4gKyAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgIE9yZGVyaW5nOjpHcmVhdGVyID0+IEVy cihmb3JtYXRfZXJyISgKPj4gKyAgICAgICAgICAgICAgICAiYXRpbWUgc2FmZXR5IGNoZWNrIGZh aWxlZCwgdW5leHBlY3RlZCB0aW1lIHNoaWZ0Igo+PiArICAgICAgICAgICAgKSksCj4+ICsgICAg ICAgIH0KPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBmbiByZWxhdGltZV9zYWZldHlfY2hlY2soJnNl bGYsIHBhdGg6ICZQYXRoKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+ICsgICAgICAgIC8vIHVu d3JhcDogb25seSBgTm9uZWAgaW4gdW5pdCB0ZXN0cwo+PiArICAgICAgICBhc3NlcnQhKHNlbGYu bG9ja2VyLmlzX3NvbWUoKSk7Cj4+ICsKPj4gKyAgICAgICAgLy8gVXBkYXRlIGF0aW1lIGFuZCBt dGltZSB0byBub3cKPj4gKyAgICAgICAgbGV0IHRpbWVzOiBbbGliYzo6dGltZXNwZWM7IDJdID0g Wwo+PiArICAgICAgICAgICAgbGliYzo6dGltZXNwZWMgewo+PiArICAgICAgICAgICAgICAgIHR2 X3NlYzogMCwKPj4gKyAgICAgICAgICAgICAgICB0dl9uc2VjOiBsaWJjOjpVVElNRV9OT1csCj4+ ICsgICAgICAgICAgICB9LAo+PiArICAgICAgICAgICAgbGliYzo6dGltZXNwZWMgewo+PiArICAg ICAgICAgICAgICAgIHR2X3NlYzogMCwKPj4gKyAgICAgICAgICAgICAgICB0dl9uc2VjOiBsaWJj OjpVVElNRV9OT1csCj4+ICsgICAgICAgICAgICB9LAo+PiArICAgICAgICBdOwo+IAo+IHRoaXMg aXMgaWRlbnRpY2FsIHRvIHBhc3NpbmcgbnVsbCB0byB1dGltZW5zYXQgYW5kIGNvdWxkIGJlIHdy aXR0ZW4gYXMKPiBzdWNoIDspCgpBY2tlZCwgd2lsbCBhZGFwdCB0aGlzIGFjY29yZGluZ2x5LgoK PiAKPj4gKwo+PiArICAgICAgICB1c2Ugbml4OjpOaXhQYXRoOwo+PiArICAgICAgICBpZiBsZXQg RXJyKGVycikgPSBwYXRoLndpdGhfbml4X3BhdGgofGNzdHJ8IHVuc2FmZSB7Cj4+ICsgICAgICAg ICAgICBsZXQgdG1wID0gbGliYzo6dXRpbWVuc2F0KC0xLCBjc3RyLmFzX3B0cigpLCAmdGltZXNb MF0sIGxpYmM6OkFUX1NZTUxJTktfTk9GT0xMT1cpOwo+PiArICAgICAgICAgICAgbml4OjplcnJu bzo6RXJybm86OnJlc3VsdCh0bXApCj4+ICsgICAgICAgIH0pPyB7Cj4+ICsgICAgICAgICAgICBi YWlsISgidXBkYXRlIGF0aW1lIGZhaWxlZCBmb3IgY2h1bmsvZmlsZSB7cGF0aDo/fSAtIHtlcnJ9 Iik7Cj4gCj4gbml0OiBlcnJvciBtZXNzYWdlIGlzIHdyb25nCgpBY2tlZCEKCj4gCj4+ICsgICAg ICAgIH0KPj4gKwo+PiArICAgICAgICAvLyBUYWtlIGludG8gYWNjb3VudCB0aW1lc3RhbXAgdXBk YXRlIGdyYW51bGFyaXR5IGluIHRoZSBrZXJuZWwKPj4gKyAgICAgICAgc3RkOjp0aHJlYWQ6OnNs ZWVwKER1cmF0aW9uOjpmcm9tX3NlY3MoMSkpOwo+PiArICAgICAgICAvLyBUcnkgdXBkYXRpbmcg dGhlIGNodW5rcyBhdGltZSwgd2hpY2ggc2hvdWxkIGJlIHBlcmZvcm1lZCBmb3IgZmlsZXN5c3Rl bXMKPj4gKyAgICAgICAgLy8gbW91bnRlZCB3aXRoIHJlbGF0aW1lIHNpbmNlIG10aW1lIGlzIGVx dWFsCj4gCj4gdGhpcyBpcyBhIG1pc2xlYWRpbmcgY29tbWVudC4gd2UgZG9uJ3QgY2FyZSBhYm91 dCBub3JtYWwgZmlsZXN5c3RlbXMKPiBiZWluZyBtb3VudGVkIHJlbGF0aW1lLgoKQWgsIHllcyB0 aGlzIGlzIG91dGRhdGVkLCBsZWZ0b3ZlciBmcm9tIG15IGl0ZXJhdGlvbnMgd2l0aCBsYWNraW5n IAp1bmRlcnN0YW5kaW5nIG9mIHRoZSBpbXBsaWNhdGlvbnMgZnJvbSBsYXp5dGltZSBhbmQgcmVs YXRpbWUsIHdoaWNoIHdlIApjbGVhcmVkIHVwIHllc3RlcmRheS4KCj4gCj4gd2hhdCB3ZSBhcmUg Y2hlY2tpbmcgaGVyZSBpcyB3aGV0aGVyIHNvbWUgd2VpcmQgZmlsZXN5c3RlbS9zdG9yYWdlIHVz ZXMKPiAic29tZXRoaW5nIGxpa2UgcmVsYXRpbWUgc2VtYW50aWNzIiBmb3IgZXhwbGljaXQgdGlt ZXN0YW1wIHVwZGF0ZXMuIHRoZQo+IGtlcm5lbCBpdHNlbGYgZG9lc24ndCwgaXQgcmVzb2x2ZXMg dGhlIGV4cGxpY2l0IHVwZGF0ZSBhbmQgc2V0cyB0aGUgZmlsZQo+IGF0dHJpYnV0ZXMgdmlhIHRo ZSBmaWxlc3lzdGVtICh1dGltZW5zYXQgLT4gLi4gLT4gbm90aWZ5X2NoYW5nZWQgLT4KPiBzZXRh dHRyKSwgd2hpY2ggaXMgYSB0b3RhbGx5IGRpZmZlcmVudCBjb2RlIHBhdGggdGhhbiByZWxhdGlt ZSBoYW5kbGluZwo+IHdoaWNoIG9ubHkgYXBwbGllcyBmb3IgaW1wbGljaXQsIGF1dG9tYXRpYyB1 cGRhdGVzIHdoZW4gZG9pbmcgKm90aGVyKiBmaWxlCj4gYWNjZXNzZXMgKGZpbGVfYWNjZXNzZWQg LT4gdG91Y2hfYXRpbWUgLT4gYXRpbWVfbmVlZHNfdXBkYXRlLCB3aGljaCBpcwo+IGFsc28gd2hl cmUgbm9hdGltZSBpcyBoYW5kbGVkKS4KPiAKPiBsYXp5dGltZSBpcyBoYW5kbGVkIGluIHlldCBh bm90aGVyIGZhc2hpb24gKHRoZSBpbm9kZSBpcyBtYXJrZWQgYXMKPiBoYXZpbmcgZGlydHkgdGlt ZXN0YW1wcywgYW5kIHRoYXQgaXMgY2hlY2tlZCBpbiB2YXJpb3VzIHBsYWNlcyB0byBkZWNpZGUK PiB3aGV0aGVyIHRvIHN5bmMgaXQgb3V0IG9yIG5vdCwgYnV0IHRoZSBpbm9kZSBpbiBtZW1vcnkg aXMgYWx3YXlzCj4gY29ycmVjdGx5IHVwZGF0ZWQpLgo+IAo+PiArICAgICAgICBzZWxmLmNvbmRf dG91Y2hfcGF0aCgmcGF0aCwgdHJ1ZSk/Owo+PiArCj4+ICsgICAgICAgIGxldCBtZXRhZGF0YV9u b3cgPSBzdGQ6OmZzOjptZXRhZGF0YSgmcGF0aCkubWFwX2VycihFcnJvcjo6ZnJvbSk/Owo+PiAr ICAgICAgICBsZXQgYXRpbWVfbm93ID0gbWV0YWRhdGFfbm93LmFjY2Vzc2VkKCk/Owo+PiArICAg ICAgICBsZXQgbXRpbWVfbm93ID0gbWV0YWRhdGFfbm93Lm1vZGlmaWVkKCk/Owo+PiArICAgICAg ICBpZiBhdGltZV9ub3cgPD0gbXRpbWVfbm93IHsKPiAKPiB3ZSBzdGlsbCB3YW50IHRvIGNoZWNr IHRoYXQgYXRpbWVfbm93IGlzIGxhdGVyIHRoYW4gYXRpbWVfYmVmb3JlIChhbmQKPiBtYXliZSB0 aGF0IG10aW1lX25vdyBpcyBsYXRlciB0aGFuIG10aW1lX2JlZm9yZSksIHRoaXMgY29uZGl0aW9u IGlzCj4gd3JvbmcuLgoKSSBzZWUsIHdpbGwgYWRhcHQgIGFjY29yZGluZ2x5LCB0aHghCgo+IAo+ PiArICAgICAgICAgICAgYmFpbCEoCj4+ICsgICAgICAgICAgICAgICAgImF0aW1lIHNhZmV0eSBj aGVjayBmYWlsZWQgYW5kIHJlbGF0aW1lIHVwZGF0ZSBmYWlsZWQsIGlzIGF0aW1lIHN1cHBvcnQg ZW5hYmxlZCBvbiBcCj4+ICsgICAgICAgICAgICAgICAgZGF0YXN0b3JlIGJhY2tpbmcgZmlsZXN5 c3RlbT8iCj4+ICsgICAgICAgICAgICApCj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBP aygoKSkKPj4gKyAgICB9Cj4+ICsKPj4gICAgICAgcHViIGZuIGluc2VydF9jaHVuaygmc2VsZiwg Y2h1bms6ICZEYXRhQmxvYiwgZGlnZXN0OiAmW3U4OyAzMl0pIC0+IFJlc3VsdDwoYm9vbCwgdTY0 KSwgRXJyb3I+IHsKPj4gICAgICAgICAgIC8vIHVud3JhcDogb25seSBgTm9uZWAgaW4gdW5pdCB0 ZXN0cwo+PiAgICAgICAgICAgYXNzZXJ0IShzZWxmLmxvY2tlci5pc19zb21lKCkpOwo+PiBAQCAt NjI4LDggKzczMywxNSBAQCBmbiB0ZXN0X2NodW5rX3N0b3JlMSgpIHsKPj4gICAgICAgbGV0IHVz ZXIgPSBuaXg6OnVuaXN0ZDo6VXNlcjo6ZnJvbV91aWQobml4Ojp1bmlzdGQ6OlVpZDo6Y3VycmVu dCgpKQo+PiAgICAgICAgICAgLnVud3JhcCgpCj4+ICAgICAgICAgICAudW53cmFwKCk7Cj4+IC0g ICAgbGV0IGNodW5rX3N0b3JlID0KPj4gLSAgICAgICAgQ2h1bmtTdG9yZTo6Y3JlYXRlKCJ0ZXN0 IiwgJnBhdGgsIHVzZXIudWlkLCB1c2VyLmdpZCwgRGF0YXN0b3JlRlN5bmNMZXZlbDo6Tm9uZSku dW53cmFwKCk7Cj4+ICsgICAgbGV0IGNodW5rX3N0b3JlID0gQ2h1bmtTdG9yZTo6Y3JlYXRlKAo+ PiArICAgICAgICAidGVzdCIsCj4+ICsgICAgICAgICZwYXRoLAo+PiArICAgICAgICB1c2VyLnVp ZCwKPj4gKyAgICAgICAgdXNlci5naWQsCj4+ICsgICAgICAgIERhdGFzdG9yZUZTeW5jTGV2ZWw6 Ok5vbmUsCj4+ICsgICAgICAgIHRydWUsCj4+ICsgICAgKQo+PiArICAgIC51bndyYXAoKTsKPj4g ICAKPj4gICAgICAgbGV0IChjaHVuaywgZGlnZXN0KSA9IGNyYXRlOjpkYXRhX2Jsb2I6OkRhdGFD aHVua0J1aWxkZXI6Om5ldygmWzB1OCwgMXU4XSkKPj4gICAgICAgICAgIC5idWlsZCgpCj4+IEBA IC02NDEsOCArNzUzLDE0IEBAIGZuIHRlc3RfY2h1bmtfc3RvcmUxKCkgewo+PiAgICAgICBsZXQg KGV4aXN0cywgXykgPSBjaHVua19zdG9yZS5pbnNlcnRfY2h1bmsoJmNodW5rLCAmZGlnZXN0KS51 bndyYXAoKTsKPj4gICAgICAgYXNzZXJ0IShleGlzdHMpOwo+PiAgIAo+PiAtICAgIGxldCBjaHVu a19zdG9yZSA9Cj4+IC0gICAgICAgIENodW5rU3RvcmU6OmNyZWF0ZSgidGVzdCIsICZwYXRoLCB1 c2VyLnVpZCwgdXNlci5naWQsIERhdGFzdG9yZUZTeW5jTGV2ZWw6Ok5vbmUpOwo+PiArICAgIGxl dCBjaHVua19zdG9yZSA9IENodW5rU3RvcmU6OmNyZWF0ZSgKPj4gKyAgICAgICAgInRlc3QiLAo+ PiArICAgICAgICAmcGF0aCwKPj4gKyAgICAgICAgdXNlci51aWQsCj4+ICsgICAgICAgIHVzZXIu Z2lkLAo+PiArICAgICAgICBEYXRhc3RvcmVGU3luY0xldmVsOjpOb25lLAo+PiArICAgICAgICB0 cnVlLAo+PiArICAgICk7Cj4+ICAgICAgIGFzc2VydCEoY2h1bmtfc3RvcmUuaXNfZXJyKCkpOwo+ PiAgIAo+PiAgICAgICBpZiBsZXQgRXJyKF9lKSA9IHN0ZDo6ZnM6OnJlbW92ZV9kaXJfYWxsKCIu dGVzdGRpciIpIHsgLyogaWdub3JlICovIH0KPj4gZGlmZiAtLWdpdCBhL3Bicy1kYXRhc3RvcmUv c3JjL2RhdGFzdG9yZS5ycyBiL3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycwo+PiBpbmRl eCA3NWMwYzE2YWIuLmVmOTMyYjQ3YiAxMDA2NDQKPj4gLS0tIGEvcGJzLWRhdGFzdG9yZS9zcmMv ZGF0YXN0b3JlLnJzCj4+ICsrKyBiL3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycwo+PiBA QCAtMTE3MCw2ICsxMTcwLDE2IEBAIGltcGwgRGF0YVN0b3JlIHsKPj4gICAgICAgICAgICAgICAg ICAgdXBpZDogU29tZSh1cGlkLnRvX3N0cmluZygpKSwKPj4gICAgICAgICAgICAgICAgICAgLi5E ZWZhdWx0OjpkZWZhdWx0KCkKPj4gICAgICAgICAgICAgICB9Owo+PiArICAgICAgICAgICAgbGV0 IHR1bmluZzogRGF0YXN0b3JlVHVuaW5nID0gc2VyZGVfanNvbjo6ZnJvbV92YWx1ZSgKPj4gKyAg ICAgICAgICAgICAgICBEYXRhc3RvcmVUdW5pbmc6OkFQSV9TQ0hFTUEKPj4gKyAgICAgICAgICAg ICAgICAgICAgLnBhcnNlX3Byb3BlcnR5X3N0cmluZyhnY19zdG9yZV9jb25maWcudHVuaW5nLmFz X2RlcmVmKCkudW53cmFwX29yKCIiKSk/LAo+PiArICAgICAgICAgICAgKT87Cj4+ICsgICAgICAg ICAgICBpZiB0dW5pbmcuZ2NfYXRpbWVfc2FmZXR5X2NoZWNrLnVud3JhcF9vcih0cnVlKSB7Cj4+ ICsgICAgICAgICAgICAgICAgc2VsZi5pbm5lci5jaHVua19zdG9yZS5hdGltZV9zYWZldHlfY2hl Y2soKT87Cj4+ICsgICAgICAgICAgICAgICAgaW5mbyEoIkZpbGVzeXN0ZW0gYXRpbWUgc2FmZXR5 IGNoZWNrIHN1Y2Nlc3NmdWwuIik7Cj4+ICsgICAgICAgICAgICB9IGVsc2Ugewo+PiArICAgICAg ICAgICAgICAgIGluZm8hKCJGaWxlc3lzdGVtIGF0aW1lIHNhZmV0eSBjaGVjayBkaXNhYmxlZCBi eSBkYXRhc3RvcmUgdHVuaW5nIG9wdGlvbnMuIik7Cj4+ICsgICAgICAgICAgICB9Cj4+ICAgCj4+ ICAgICAgICAgICAgICAgaW5mbyEoIlN0YXJ0IEdDIHBoYXNlMSAobWFyayB1c2VkIGNodW5rcyki KTsKPj4gICAKPj4gZGlmZiAtLWdpdCBhL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMgYi9z cmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzCj4+IGluZGV4IGZlMzI2MGY2ZC4uMzU4NDdmYzQ1 IDEwMDY0NAo+PiAtLS0gYS9zcmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzCj4+ICsrKyBiL3Ny Yy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMKPj4gQEAgLTExOSw2ICsxMTksNyBAQCBwdWIoY3Jh dGUpIGZuIGRvX2NyZWF0ZV9kYXRhc3RvcmUoCj4+ICAgICAgICAgICAgICAgICAgIGJhY2t1cF91 c2VyLnVpZCwKPj4gICAgICAgICAgICAgICAgICAgYmFja3VwX3VzZXIuZ2lkLAo+PiAgICAgICAg ICAgICAgICAgICB0dW5pbmcuc3luY19sZXZlbC51bndyYXBfb3JfZGVmYXVsdCgpLAo+PiArICAg ICAgICAgICAgICAgIHR1bmluZy5nY19hdGltZV9zYWZldHlfY2hlY2sudW53cmFwX29yKHRydWUp LAo+PiAgICAgICAgICAgICAgICkKPj4gICAgICAgICAgICAgICAubWFwKHxffCAoKSkKPj4gICAg ICAgICAgIH0gZWxzZSB7Cj4+IC0tIAo+PiAyLjM5LjUKPj4KPj4KPj4KPj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gcGJzLWRldmVsIG1haWxpbmcg bGlzdAo+PiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPj4gaHR0cHM6Ly9saXN0cy5wcm94 bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCj4+Cj4+Cj4+Cj4gCj4g Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBwYnMt ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4gaHR0cHM6 Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCj4g Cj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnBi cy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8v bGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo=