[PATCH RFC 00/14] Remove PG_private by using page/folio->private checks instead

Zi Yan <[email protected]> Fri, 31 Jul 2026 22:13:23 -0400
Newsgroups org.infradead.lists.linux-mtd,net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.ceph-devel,org.kernel.vger.linux-doc,org.kernel.vger.linux-fscrypt,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kernel.vger.linux-perf-users,org.kernel.vger.linux-raid,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm,org.ozlabs.lists.linux-erofs,org.xenproject.lists.xen-devel
Message-ID <[email protected]>
SGkgYWxsLAoKVGhpcyBwYXRjaHNldCByZW1vdmVzIFBHX3ByaXZhdGUgdG8gbWFrZSBzcGFjZSBm
b3IgdXBjb21pbmcgUEdfZm9saW8KKHJlc2VydmVkIGFzIF9fUEdfZm9saW8pIGZvciBpZGVudGlm
eWluZyBwYWdlcyBmcm9tIGEgZm9saW8gKG1vcmUgZGV0YWlscwppbiBOb3RlIGJlbG93KS4gSW5z
dGVhZCBvZiBjaGVja2luZyBQR19wcml2YXRlLCBhbGwgY29kZSBpcyBjaGFuZ2VkIHRvCmNoZWNr
IHBhZ2UvZm9saW8tPnByaXZhdGUgIT0gTlVMTCBpbnN0ZWFkLgoKTU0gcGVvcGxlIGFyZSBjYydk
IG9uIGFsbCBwYXRjaGVzIGFuZCBzdWJzeXN0ZW0gcGVvcGxlIGFyZSBjYydkIG9uIHRoZQpjb3Zl
ciBsZXR0ZXIgYW5kIGNvcnJlc3BvbmRpbmcgcGF0Y2hlcy4KCk92ZXJ2aWV3Cj09PQpNb3N0IGNv
ZGUgdXNlcyBmb2xpb19hdHRhY2gvZGV0YWNoL2NoYW5nZV9wcml2YXRlKCkgZnVuY3Rpb25zLCBz
byBmb2xpbwpyZWZjb3VudCBpcyBpbmNyZWFzZWQgYW5kIGRlY3JlYXNlZCB3aGVuIGZvbGlvLT5w
cml2YXRlIGlzIHNldCBhbmQgcmVzZXQsCnJlc3BlY3RpdmVseS4gVGhlcmUgaXMgbm8gbmVlZCB0
byBjaGFuZ2UgdGhlbS4KCkNoYW5nZXMgYXJlIG5lZWRlZCBmb3IgZXhjZXB0aW9uYWwgdXNlcnM6
CjEuIHpzbWFsbG9jIHVzZXMgUEdfcHJpdmF0ZSB0byBpbmRpY2F0ZSBmaXJzdCBjb21wb25lbnQg
enBkZXNjIHBhZ2UgYW5kCiAgIHBhZ2UtPnByaXZhdGUgaXMgdXNlZCB0byBzdG9yZSB6c3BhZ2Ug
aW4genBkZXNjLiBUbyByZW1vdmUgUEdfcHJpdmF0ZSwKICAgaXNfZmlyc3RfenBkZXNjKCkgaXMg
Y2hhbmdlZCB0byB6cGRlc2MtPnpzcGFnZS0+Zmlyc3RfenBkZXNjID09IHpwZGVzYwogICBpbnN0
ZWFkIG9mIGNoZWNraW5nIFBHX3ByaXZhdGUuCgoyLiBrZXJuZWwvZXZlbnRzL3JpbmdfYnVmZmVy
LmMgc3RvcmVzIHBhZ2Ugb3JkZXIgaW4gcGFnZS0+cHJpdmF0ZS4KICAgUmVwbGFjaW5nIFBHX3By
aXZhdGUgd2l0aCBwYWdlLT5wcml2YXRlICE9IE5VTEwgd29ya3MuCgozLiBkcml2ZXJzL3hlbi9n
cmFudC10YWJsZS5jIHN0b3JlcyB4ZW5fcGFnZV9mb3JlaWduIGluIHBhZ2UtPnByaXZhdGUsCiAg
IHdoZXJlIG9uIDMyLWJpdCwgYSBwb2ludGVyIHRvIHhlbl9wYWdlX2ZvcmVpZ24gaXMgc3RvcmVk
OyBvbiA2NC1iaXQsCiAgIHBhZ2UtPnByaXZhdGUgaXMgdXNlZCBhcyB4ZW5fcGFnZV9mb3JlaWdu
LiBQR19wcml2YXRlIGNoZWNrIGlzIHJlcGxhY2VkCiAgIGJ5IHBhZ2UtPnByaXZhdGUgIT0gTlVM
TCBvbiAzMi1iaXQgZm9yIHhlbl9wYWdlX2ZvcmVpZ24gZGVhbGxvY2F0aW9uLgogICBPbiA2NC1i
aXQsIHBhZ2UtPnByaXZhdGUgaXMgY2xlYXJlZCB1bmNvbmRpdGlvbmFsbHkgc2luY2Uge2RvbWlk
PTAsCiAgIGdyZWY9MH0gKHhlbl9wYWdlX2ZvcmVpZ24gY2FuIGJlIDApIGlzIHZhbGlkLgoKNC4g
ZnMvY3J5cHRvL2NyeXB0by5jIHN0b3JlcyBhIGZvbGlvIHBvaW50ZXIgaW4gcGFnZS0+cHJpdmF0
ZSwgUEdfcHJpdmF0ZQogICBjaGVja3MgYXJlIHJlcGxhY2VkIGJ5IHBhZ2UtPnByaXZhdGUgIT0g
TlVMTC4KCjUuIGZzL2Vyb2ZzIGhhcyB0d28gZGlmZmVyZW50IHVzZXM6CgogICAgNWEuIGZvbGlv
LT5wcml2YXRlIGlzIHVzZWQgdG8gZm9ybSBhIHJldmVyc2VkIGxpc3Qgb2YKICAgIHRoZSBvdXRw
dXRzIG9mIHJlYWRhaGVhZF9mb2xpbygpLiByZWFkYWhlYWRfZm9saW9fcmV2ZXJzZSgpIGlzIGFk
ZGVkIHRvCiAgICBvdXRwdXQgZm9saW9zIGluIHJldmVyc2VkIG9yZGVyLCBzbyB0aGF0IC0+cHJp
dmF0ZSBpcyBubyBsb25nZXIgbmVlZGVkLgoKICAgIDViLiBmb2xpby0+cHJpdmF0ZSBpcyB1c2Vk
IGFzIGFuIGluLWZsaWdodCBJL08gY291bnRlci4gQ29udmVydCB0aGUKICAgIGNvZGUgdG8gdXNl
IGZvbGlvX2F0dGFjaC9kZXRhY2gvZ2V0X3ByaXZhdGUoKS4KCjYuIGZzL25mcy93cml0ZS5jOiBm
b2xpbyByZWZjb3VudCBtYWludGVuYW5jZSBpcyBpbiBhIGJpZ2dlciBzY29wZSB0aGFuCiAgIGZv
bGlvLT5wcml2YXRlLiBTbyBmb2xpb19hdHRhY2gvZGV0YWNoL2dldF9wcml2YXRlKCkgaXMgbm90
IHVzZWQuCiAgIE5vdGhpbmcgdG8gY2hhbmdlLgoKNy4gZnMvZjJmcyB1c2VzIGF0dGFjaF9wYWdl
X3ByaXZhdGUoKSB0byBmaXJzdCByZXNldCBmb2xpby0+cHJpdmF0ZSB0aGVuCiAgIGltbWVkaWF0
ZWx5IHNldHMgUEFHRV9QUklWQVRFX05PVF9QT0lOVEVSIGJpdCBvbiBpdC4gQ2hhbmdlIGl0IHRv
IHVzZQogICBhdHRhY2hfcGFnZV9wcml2YXRlKCkgdG8gc2V0IFBBR0VfUFJJVkFURV9OT1RfUE9J
TlRFUiBiaXQgZGlyZWN0bHkgdG8KICAgYXZvaWQgZm9saW8tPnByaXZhdGUgPT0gTlVMTCBnYXAg
aW5zaWRlIHNldF9wYWdlX3ByaXZhdGVfIyNuYW1lKCkuCgo4LiBodWdldGxiIHVzZXMgZm9saW9f
Y2hhbmdlX3ByaXZhdGUoZm9saW8sIE5VTEwpIHdpdGhvdXQgZm9saW8gcmVmY291bnQKICAgbWFp
bnRlbmFuY2UuIENoYW5nZSBpdCB0byBmb2xpby0+cHJpdmF0ZSA9IE5VTEwuCgpBZnRlciB0aGUg
YWJvdmUgY2hhbmdlcywgUEdfcHJpdmF0ZSBvcHMgYXJlIGNvbnZlcnRlZCB0bwpwYWdlL2ZvbGlv
LT5wcml2YXRlIG9wcy4KCmZvbGlvX3Rlc3RfZnNfcHJpdmF0ZSgpIGlzIGFkZGVkIHRvIGNoZWNr
IGZpbGVzeXN0ZW0tb25seSBwcml2YXRlIGRhdGEgYnkKZXhjbHVkaW5nIHN3YXBjYWNoZSBhbmQg
aHVnZXRsYiBmb2xpb3MsIGJlY2F1c2Ugc3dhcGNhY2hlIGZvbGlvcyBvdmVybGFwCnN3cF9lbnRy
eV90IHN3YXAgd2l0aCAtPnByaXZhdGUgYW5kIGh1Z2V0bGIgc2V0cyBpdHMgb3duIGZsYWdzIGlu
Ci0+cHJpdmF0ZS4KCk5vdGUKPT09CjEuIEtQRl9QUklWQVRFIGhhcyBhIG1pbm9yIHNlbWFudGlj
IGNoYW5nZS4gU2luY2UgUEdfcHJpdmF0ZSB3aWxsIGJlCiAgIHJlbW92ZWQsIEtQRl9QUklWQVRF
IHJlcHJlc2VudHMgcGFnZWNhY2hlIGZvbGlvcyB3aG9zZSAtPm1hcHBpbmcgaXMgbm90CiAgIE5V
TEwgYW5kIHdpdGggLT5wcml2YXRlIHNldC4gQ3VycmVudGx5IEtQRl9QUklWQVRFIGNhbiBiZSBz
ZXQgZm9yCiAgIG9ycGhhbmVkIHBhZ2VjYWNoZSBmb2xpb3Mgd2l0aCAtPm1hcHBpbmcgPT0gTlVM
TC4KCjIuIERvY3VtZW50YXRpb24vbW0vaHVnZXRsYmZzX3Jlc2Vydi5yc3QgaXMgb3V0ZGF0ZWQs
IHNvIEkgZGlkIG5vdCByZW1vdmUKICAgUEdfcHJpdmF0ZSByZWxhdGVkIHRleHQuIEl0IHNob3Vs
ZCBiZSByZXdyaXR0ZW4uCgozLiBQR19mb2xpbyBpcyBwbGFubmVkIHRvIGJlIHNldCBvbiBldmVy
eSBwYWdlIGZyb20gYSBmb2xpbyBpbgogICBwYWdlX3JtYXBwYWJsZV9mb2xpbygpLCBzbyBmb2xp
b3Mgd2l0aCBhbnkgb3JkZXIgKGN1cnJlbnRseQogICBQR19sYXJnZV9ybWFwcGFibGUgaXMgdXNl
ZCB0byBpZGVudGlmeSA+MCBvcmRlciBmb2xpb3MpIGNhbiBiZQogICBpZGVudGlmaWVkLCB2bV9p
bnNlcnRfKigpIGNhbiBjb3JyZWN0bHkgcmVqZWN0IGFsbCBmb2xpb3MsIGFuZCBybWFwIGNvZGUK
ICAgY2FuIGFjY2VwdCBvbmx5IGZvbGlvcy4gRXZlbnR1YWxseSwgcGFnZV9mb2xpbygpIHdpbGwg
cmV0dXJuIE5VTEwgZm9yCiAgIG5vbi1mb2xpbyBwYWdlcy4KClRlc3RzCj09PQoxLiBhbGxtb2Rj
b25maWcgYnVpbGQgcGFzc2VkLgoKMi4genNtYWxsb2MgaXMgdGVzdGVkIHVzaW5nIGV4dDQgb24g
YSAxR0IgbHo0IHpyYW06CiAgICAyYS4genJhbSBsb2FkICsgenNtYWxsb2MgY29tcGFjdGlvbjsK
ICAgIDJiLiBjb25jdXJyZW50IHpzcGFnZSBtaWdyYXRpb24gdmlhIG1lbW9yeSBjb21wYWN0aW9u
OwogICAgMmMuIGNvbmZpcm1lZCB0aGF0IG11bHRpLXBhZ2UgenNwYWdlcyBhY3R1YWxseSBmb3Jt
ZWQuCgogICAgRGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL3gteS16L2xpbnV4LWRldi9ibG9i
L2I0L3JlbW92ZS1wZ19wcml2YXRlL3Rlc3RfenNtYWxsb2MubWQKCjMuIGVyb2ZzIGlzIHRlc3Rl
ZCBvbiBpbWFnZXMgY3JlYXRlZCB3aXRoIC1DNDA5NiBhbmQgbHo0aGMsIGx6bWEsCiAgIGRlZmxh
dGUsIGFuZCB6c3RkIGFsZ29yaXRobXM6CiAgIDNhLiBjb2xkIHJlYWQgb2YgYWxsIGZpbGVzLCB2
ZXJpZnkgY2hlY2tzdW1zIG1hdGNoIHNvdXJjZTsKICAgM2IuIHJlYWRhaGVhZCArIHJlY2xhaW0v
bWlncmF0aW9uIHJhY2UuCgogICBEZXRhaWxzOiBodHRwczovL2dpdGh1Yi5jb20veC15LXovbGlu
dXgtZGV2L2Jsb2IvYjQvcmVtb3ZlLXBnX3ByaXZhdGUvdGVzdF9lcm9mcy5tZAoKNC4gZnNjcnlw
dCBpcyB0ZXN0ZWQgb24gc29mdHdhcmUtZW5jcnlwdGVkIGV4dDQgd2l0aCB3cml0ZXMgdG8gZXhl
cmNpc2UKICAgYm91bmNlIHBhZ2VzLgoKICAgRGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL3gt
eS16L2xpbnV4LWRldi9ibG9iL2I0L3JlbW92ZS1wZ19wcml2YXRlL3Rlc3RfZnNjcnlwdC5tZAoK
NS4gZjJmcyBpcyB0ZXN0ZWQgb24gYW4gaW1hZ2Ugd2l0aCBpbmxpbmVfZGF0YSxjb21wcmVzc19h
bGdvcml0aG09bHo0OgogICAgNWEuIElOTElORV9JTk9ERSDigJQgbG90cyBvZiB0aW55IGZpbGVz
OwogICAgNWIuIFJFRl9SRVNPVVJDRSArIGdlbmVyYWwgd3JpdGViYWNrIOKAlCBidWZmZXJlZCB3
cml0ZSBjaHVybiB3aXRoIGZzeW5jOwogICAgNWMuIE9OR09JTkdfTUlHUkFUSU9OIOKAlCBmb3Jj
ZSBHQyAvIHBhZ2UgbWlncmF0aW9uOwogICAgNWQuIEFUT01JQ19XUklURSDigJQgYXRvbWljLXdy
aXRlIGlvY3RsIHBhdGguCgogICAgRGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL3gteS16L2xp
bnV4LWRldi9ibG9iL2I0L3JlbW92ZS1wZ19wcml2YXRlL3Rlc3RfZjJmcy5tZAogICAgKEkgZGlk
IG5vdCBydW4geGZzdGVzdHMpCgo2LiBNTSBzZWxmdGVzdHMgcGFzc2VkLgoKTExNIHVzZQo9PT0K
Q2xhdWRlIHdhcyB1c2VkIHRvIGZvcm0gYSBjb25jcmV0ZSBwbGFuIG9uIHdoYXQgY29kZSBuZWVk
cyB0byBiZSBjaGFuZ2VkCmFuZCBob3cgdG8gY2hhbmdlIHRoZW0uIFRoZSBwbGFuIHdhcyByZXZp
ZXdlZCBieSBDb2RleCB1bnRpbCBubyBpc3N1ZSB3YXMKc3BvdHRlZC4KClBsYW4gaXMgYXQ6IGh0
dHBzOi8vZ2l0aHViLmNvbS94LXktei9saW51eC1kZXYvYmxvYi9iNC9yZW1vdmUtcGdfcHJpdmF0
ZS9wbGFuLm1kCgpJIHRoZW4gZm9sbG93ZWQgdGhlIHBsYW4gdG8gbWFrZSBjb2RlIGNoYW5nZXMu
IEkgZGlkIGJvdW5jZSBpZGVhcyB3aXRoCkNsYXVkZSBob3cgdG8gY2hhbmdlIGZzL2Vyb2ZzLCBz
aW5jZSBJIGRpZCBub3QgbGlrZSB0aGUgb3JpZ2luYWwgaWRlYS4KQWZ0ZXIgZWFjaCBjaGFuZ2Us
IEkgYXNrZWQgQ2xhdWRlIHRvIHJldmlldyBteSBjb2RlIGFuZCBnaXQgY29tbWl0IG1lc3NhZ2Uu
CkkgYWxzbyBhc2tlZCBDbGF1ZGUgdG8gZ2l2ZSBtZSB0ZXN0IHBsYW5zIChzZWUgYWJvdmUpLgoK
QXQgbGFzdCwgQ29kZXggd2FzIHVzZWQgdG8gcmV2aWV3IGFsbCBwYXRjaGVzLgoKQ29tbWVudHMg
YW5kIHN1Z2dlc3Rpb25zIGFyZSB3ZWxjb21lLiBUaGFua3MuCgpBc3Npc3RlZC1ieTogQ2xhdWRl
OmNsYXVkZS1vcHVzLTQtOApBc3Npc3RlZC1ieTogQ29kZXg6Z3B0LTUKU2lnbmVkLW9mZi1ieTog
WmkgWWFuIDx6aXlAbnZpZGlhLmNvbT4KLS0tClppIFlhbiAoMTQpOgogICAgICBtbS96c21hbGxv
YzogcmVwbGFjZSBQR19wcml2YXRlIHdpdGggcG9pbnRlciBjb21wYXJpc29uCiAgICAgIHBlcmYv
cmluZ19idWZmZXI6IHN0b3AgdXNpbmcgUEdfcHJpdmF0ZSBhcyBBVVggcGFnZSBoaWdoLW9yZGVy
IG1hcmtlcgogICAgICB4ZW4vZ3JhbnQtdGFibGU6IHN0b3Agc2V0dGluZyBQR19wcml2YXRlIG9u
IHBhZ2VzIGZvciBncmFudCBtYXBwaW5nCiAgICAgIGZzL2NyeXB0bzogc3RvcCBzZXR0aW5nIFBH
X3ByaXZhdGUgb24gYm91bmNlIHBhZ2UKICAgICAgbW0vaHVnZXRsYjogdXNlIGRpcmVjdCBhc3Np
Z25tZW50IGluc3RlYWQgb2YgZm9saW9fY2hhbmdlX3ByaXZhdGUoKQogICAgICBmcy9mMmZzOiBz
dG9wIHVzaW5nIFBHX3ByaXZhdGUKICAgICAgZnMvZXJvZnM6IG1tL3BhZ2VtYXA6IGFkZCByZWFk
YWhlYWRfZm9saW9fcmV2ZXJzZSgpIHRvIGF2b2lkIGZvbGlvLT5wcml2YXRlCiAgICAgIGZzL2Vy
b2ZzOiB1c2UgZm9saW9fYXR0YWNoL2RldGFjaF9wcml2YXRlKCkgaW5zdGVhZCBvZiBkaXJlY3Qg
YXNzaWdubWVudAogICAgICBtbS9wYWdlLWZsYWdzOiBjaGVjayBwYWdlL2ZvbGlvLT5wcml2YXRl
IGluc3RlYWQgb2YgUEdfcHJpdmF0ZQogICAgICBtbS9wYWdlLWZsYWdzOiBpbnRyb2R1Y2UgZm9s
aW9fdGVzdF9mc19wcml2YXRlKCkKICAgICAgdHJlZXdpZGU6IHJlbW92ZSBmb2xpb19zZXQvY2xl
YXJfcHJpdmF0ZSgpCiAgICAgIHRyZWV3aWRlOiByZXBsYWNlIFBhZ2VQcml2YXRlKCkgd2l0aCBw
YWdlX3ByaXZhdGUoKQogICAgICB0cmVld2lkZTogYWRqdXN0IGNvbW1lbnRzIG9uIFBhZ2VQcml2
YXRlIGFuZCBQR19wcml2YXRlCiAgICAgIG1tL3BhZ2UtZmxhZ3M6IHJlbW92ZSBQR19wcml2YXRl
CgogRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9rZHVtcC92bWNvcmVpbmZvLnJzdCB8ICAyICst
CiBEb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Zmcy5yc3QgICAgICAgICAgICAgIHwgIDYgKyst
LQogYXJjaC94ODYvZXZlbnRzL2ludGVsL2J0cy5jICAgICAgICAgICAgICAgICAgICB8ICAzIC0t
CiBhcmNoL3g4Ni9ldmVudHMvaW50ZWwvcHQuYyAgICAgICAgICAgICAgICAgICAgIHwgIDYgKyst
LQogZHJpdmVycy9tZC9tZC1iaXRtYXAuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsr
LS0KIGRyaXZlcnMveGVuL2JhbGxvb24uYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSAr
KysrCiBkcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDcg
KystLS0KIGZzL2NlcGgvYWRkci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
OCArKy0tLS0KIGZzL2NyeXB0by9jcnlwdG8uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgMiAtLQogZnMvZXJvZnMvZGF0YS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA1ICsrLS0KIGZzL2Vyb2ZzL3pkYXRhLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAxMSArKy0tLS0tLQogZnMvZjJmcy9mMmZzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA4ICsrKy0tLQogZnMvbmZzL2ZpbGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICA0ICstLQogZnMvbmZzL3dyaXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAyIC0tCiBmcy9wcm9jL3BhZ2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDUgKysrLQogZnMvdWJpZnMvZmlsZS5jICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICA2ICsrLS0KIGluY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQuaCAgICAgICAgICAg
ICAgICAgICAgfCAgNiAtLS0tCiBpbmNsdWRlL2xpbnV4L21tLmggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMTYgKysrKystLS0tLS0KIGluY2x1ZGUvbGludXgvbW1fdHlwZXMuaCAgICAg
ICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGluY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oICAg
ICAgICAgICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKystLS0tLS0tLQogaW5jbHVk
ZS9saW51eC9wYWdlbWFwLmggICAgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysr
KysrKysrKysrKystLQogaW5jbHVkZS90cmFjZS9ldmVudHMvbW1mbGFncy5oICAgICAgICAgICAg
ICAgICB8ICAyICstCiBpbmNsdWRlL3RyYWNlL2V2ZW50cy9wYWdlbWFwLmggICAgICAgICAgICAg
ICAgIHwgIDIgKy0KIGtlcm5lbC9ldmVudHMvcmluZ19idWZmZXIuYyAgICAgICAgICAgICAgICAg
ICAgfCAgNyArKy0tLQoga2VybmVsL3ZtY29yZV9pbmZvLmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAxIC0KIG1tL2h1Z2VfbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMiArLQogbW0vaHVnZXRsYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA2ICsrLS0KIG1tL21pZ3JhdGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMyArLQogbW0vcGFnZS13cml0ZWJhY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA1ICsrKy0KIG1tL3Ztc2Nhbi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMyArLQogbW0venBkZXNjLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAyICstCiBtbS96c21hbGxvYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgMTUgKystLS0tLS0tLQogMzIgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKyksIDEw
NiBkZWxldGlvbnMoLSkKLS0tCmJhc2UtY29tbWl0OiBiY2Q1ZWI2OGE2YTE4OTQ5N2ViMjZjMWI5
ZjYyMjUzOGFhNDg4OTVkCmNoYW5nZS1pZDogMjAyNjA3MjgtcmVtb3ZlLXBnX3ByaXZhdGUtY2Zl
OTI2YzdmODNjCgpCZXN0IHJlZ2FyZHMsCi0tIApZYW4sIFppCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9u
IG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv
L2xpbnV4LW10ZC8K