Re: Propagating IP/ECN field when L2TP sits between IP as both L2 payload and PSN

"Carlos Pignataro (cpignata)" <[email protected]> Thu, 1 Jun 2017 13:23:17 +0000
Newsgroups gmane.ietf.l2tpext
Message-ID <[email protected]>
SGksIEJvYiwNCg0KPiBPbiBNYXkgMzEsIDIwMTcsIGF0IDY6MTEgUE0sIEJvYiBCcmlzY29lIDxp
ZXRmQGJvYmJyaXNjb2UubmV0PiB3cm90ZToNCj4gDQo+IENhcmxvcywNCj4gDQo+IE9uIDMxLzA1
LzE3IDE3OjQ0LCBDYXJsb3MgUGlnbmF0YXJvIChjcGlnbmF0YSkgd3JvdGU6DQo+PiBIaSwgQm9i
LA0KPj4gDQo+PiBBZGRpbmcgb24gYSBjb3VwbGUgb2YgYml0cyBvbiB0b3Agb2YgSWduYWNpbydz
IHJlc3BvbnNlLiANCj4+IA0KPj4gTDJUUHYyLCBSRkMgMjY2MSwgdHJhbnNwb3J0cyBvbmx5IFBQ
UCAoYW5kIG11bHRpIHByb3RvY29scyB3aXRoaW4gaXQsIGluY2x1ZGluZyBvZiBjb3Vyc2UgSVAp
IGFuZCBydW5zIG92ZXIgVURQLiBJbiBjb250cmFzdCwgTDJUUHYzIHRyYW5zcG9ydHMgZGlyZWN0
bHkgYSB2YXJpZXR5IG9mIHByb3RvY29scyAoRXRoZXJuZXQsIEhETEMsIGV0Yy4pIGFuZCBydW5z
IGRpcmVjdGx5IG92ZXIgSVAgcHJvdG9jb2wgMTE1IG9yIG92ZXIgVURQLiBSRkMgMzkzMSBpcyB0
aGUgYmFzZSBMMlRQdjMgc3BlY2lmaWNhdGlvbiBidXQgbmVlZHMgYSBwcm90b2NvbCBjb21wYW5p
b24gZG9jdW1lbnQuIFNvbWUgb2YgdGhvc2UgcHJvdG9jb2xzIGFyZSBmaW5pc2hlZCwgZS5nLiBS
RkMgNDcxOSBidXQgb3RoZXJzIGxpa2UgUFBQIG9yICJyYXciIElQIGFyZSBpbiBJbnRlcm5ldC1E
cmFmdHMuIA0KPiBZdXAsIGdvdCBhbGwgdGhhdC4gVGhhbmtzLiANCj4gDQo+IEkganVzdCBkaWRu
J3QgdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb24gb2YgSWduYWNpbydzIGVtYWlsIHRoYXQgdXBk
YXRpbmcgdGhlIHYyIHByb3RvY29sICh0aGF0IHNvbGVseSBzdXBwb3J0cyBQUFApIGNvdWxkIGJl
IG1vcmUgY29tcGxleCB0aGFuIHVwZGF0aW5nIHRoZSB2MyBwcm90b2NvbCB0aGF0IEkgdGhvdWdo
dCBzdXBwb3J0ZWQgUFBQIGFuZCBtYW55IG1vcmUgcHJvdG9jb2xzLiBJdCBpbXBsaWVkICh0byBt
ZSkgdGhhdCBtYXliZSB2MyBkb2Vzbid0IHN1cHBvcnQgUFBQIGluIHNvbWUgd2F5Lg0KDQpBZG1p
dHRlZGx5LCBJIGhhdmUgbm90IHJlYWQgaW4gZGV0YWlsIFJGQyA2MDQwIG9yIGRyYWZ0LWlldGYt
dHN2d2ctcmZjNjA0MHVwZGF0ZS1zaGltIOKAlCBob3dldmVyLCBJIGRvIGhhdmUgc29tZSBxdWVz
dGlvbnMgdG8gYmV0dGVyIHVuZGVyc3RhbmQgdGhlIGFwcGxpY2FiaWxpdHkuDQoNCmRyYWZ0LWll
dGYtdHN2d2ctcmZjNjA0MHVwZGF0ZS1zaGltIHRhbGtzIGFib3V0IOKAnElQLWluLUlQIFR1bm5l
bHMgd2l0aCBUaWdodGx5IENvdXBsZWQgU2hpbSBIZWFkZXJz4oCdLg0KDQpHUkUgY2FuIGJlIHRo
b3VnaHQgb2YgYW4gSVAtaW4tSVAgdHVubmVsIHdpdGggYSB0aWdodGx5IGNvdXBsZWQgc2hpbSwg
d2hlbiB0cmFuc3BvcnRpbmcgSVAgZGlyZWN0bHkgKGFsdGhvdWdoIEdSRSBjYW4gdHJhbnNwb3J0
IG11bHRpLXByb3RvY29scykuDQoNClthbmQgYSBzbWFsbCBub3RlIHRoYXQgeW91IG1pZ2h0IG5l
ZWQgYSByZWZlcmVuY2UgdG8gUkZDIDc2NzZdLg0KDQpIb3dldmVyLCBHUkUgY2FuIGNhcnJ5IFNv
bWV0aGluZy1pbi1JUCwgd2l0aCDigJxzb21ldGhpbmciIHBvdGVudGlhbGx5IGNhcnJ5aW5nIGFs
c28gSVAuIEluIHRoYXQgY2FzZSwgSSBkbyBub3QgYmVsaWV2ZSB0aGF04oCZcyBhbiBJUC1pbi1J
UC13aXRoLXNoaW0uDQoNCkZvciB0aGUgTDJUUHYyIGNhc2UsIEwyVFAgY2FycmllcyBQUFAuIFBQ
UCBjYW4gaW4gdHVybiBjYXJyeSBJUCwgYW5kL29yc29tZXRoaW5nIGVsc2UsIGFuZCB1c3VhbGx5
IGEgbWl4dHVyZS4gSXMgdGhpcyByZWFsbHkgYXBwbGljYWJsZSB0byB5b3VyIGRyYWZ0Pw0KDQpG
b3IgTDJUUHYzLCBMMlRQIGNhcnJpZXMgYSB2YXJpZXR5IG9mIHByb3RvY29scywgb25lIG9mIHdo
aWNoIGlzIElQIGRpcmVjdGx5LiBIb3dldmVyLCBhbHRob3VnaCB0aGVyZSBpcyBydW5uaW5nIGNv
ZGUsIHRoZXJl4oCZcyBubyBSRkMgZm9yIGl0IChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwv
ZHJhZnQtaWV0Zi1sMnRwZXh0LXB3ZTMtaXAtMDUuKSBTaW1pbGFybHksIFJGQyAzOTMxIHNlZW1z
IG91dHNpZGUgc2NvcGUuDQoNClthbmQgYW5vdGhlciBxdWVzdGlvbiAsd2hhdCBhYm91dCBNUExT
LCB3aXRoIFJGQyA1MTI5P10NCg0KPiANCj4+IA0KPj4gQnkgdGhlIHdheSB5b3UgY2FuIGZpbmQg
ZXhhbXBsZSBvZiBjYXBhYmlsaXRpZXMgaW4gc3Vic2VjdGlvbnMgb2YgU2VjdGlvbiA1LjEuMSBv
ZiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1sMnRwZXh0LWwydHAtcHBw
LTA4DQo+PiANCj4+IEkgZG8gbm90IHVuZGVyc3RhbmQgaG93ZXZlciB3aHkgIlVwZGF0ZSIsIG9y
IHdoYXQgdGhhdCBpbXBsaWVzIHRvIGEgY29tcGxpYW50IGltcGxlbWVudGF0aW9uLiBNYW55IGZl
YXR1cmVzIG9mIEwyVFAgYXJlIHNwZWNpZmllZCBpbiB2YXJpb3VzIFdHcywgbm90ICJVcGRhdGlu
ZyIgdGhlIGJhc2Ugc3BlY3MuIA0KPiBCeSBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSB3b3JkIGV4
dGVuc2lvbiwgaWYgYSBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIGNvbXBsaWFudCB3aXRoIFJGQzM5
MzEgZG9lcyBub3QgaW1wbGVtZW50IGFuIGV4dGVuc2lvbiwgaXQgaXMgc3RpbGwgY29tcGxpYW50
IHdpdGggUkZDMzkzMS4gSXMgdGhpcyBob3cgdGhlIHdvcmQgImV4dGVuc2lvbiIgaXMgdXNlZCBp
biBMMlRQIGxhbmQ/DQo+IA0KDQpUaGF04oCZcyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSB1bnF1
YWxpZmllZCB3b3JkIOKAnGV4dGVuc2lvbuKAnSBiZXlvbmQgTDJUUCBsYW5kLiBJcyB0aGF0IGRp
ZmZlcmVudCBhbnl3aGVyZT8NCg0KPiBXaGVyZWFzLCBpZiBvbmUgSVAgaGVhZGVyIGVuY2Fwc3Vs
YXRlcyBhbm90aGVyLCBpZiB0aGUgRUNOIGZpZWxkIHdlcmUgcHJvY2Vzc2VkIGluIGFueSB3YXkg
b3RoZXIgdGhhbiBSRkM2MDQwLCBpdCB3b3VsZCBiZSBpbnZhbGlkICh1bmxlc3MgYW5vdGhlciBS
RkMgd2VyZSB3cml0dGVuIHRvIHVwZGF0ZSBSRkM2MDQwKS4gVGhlcmVmb3JlLCB3aGVuZXZlciBM
MlRQIGlzIHR1bm5lbGxpbmcgSVAgaW4gSVAsIGl0IGlzIG1hbmRhdG9yeSB0byBjb21wbHkgd2l0
aCBSRkM2MDQwLiBTbyBJIGFtIGFza2luZyB0aGUgTDJUUGV4dCBXRyBmb3IgYWR2aWNlIG9uIGhv
dyB5b3UgZ3V5cyB3b3VsZCBtYWtlIGEgbWFuZGF0b3J5IHVwZGF0ZSB0byBMMlRQLCByYXRoZXIg
dGhhbiAnanVzdCcgYW4gb3B0aW9uYWwgZXh0ZW5zaW9uLg0KPiANCg0KSSB0aGluayBmaXJzdCB3
ZSBwcm9iYWJseSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGFwcGxpY2FiaWxpdHkgYmVjYXVzZSBp
dCBpcyBub3QgYW4gSVAtaW4tSVAgZW5jYXAsIHRoZXJl4oCZcyBhIExheWVyIDIgaGVhZGVyIGlu
IGJldHdlZW4sIG5vdCB0aWdodGx5IGNvdXBsZWQgYnV0IHJhdGhlciBwYXJ0IG9mIHRoZSB0cmFu
c3BvcnRlZCBwYXlsb2FkLg0KDQpOb3csIHdoYXQgeW91IGRlc2NyaWJlIGluIHRlcm1zIG9mIGxl
dmVsIG9mIG1hbmRhdG9yeSBhcHBsaWVzIHRvIFJGQyA2MDQwLiBJZiBhbiBpbXBsZW1lbnRhdGlv
biBkb2VzIG5vdCBjb21wbHkgd2l0aCBSRkMgNjA0MCBpdCBpcywgd2VsbCwgbm90IGNvbXBsaWFu
dCB3aXRoIFJGQyA2MDQwLg0KDQpUaGFua3MhDQoNCkNhcmxvcy4NCg0KPiANCj4gQm9iDQo+IA0K
Pj4gVGhhbmtzLA0KPj4gDQo+PiBTZW50IGZyb20gbXkgaVBhZA0KPj4gDQo+PiBPbiBNYXkgMzAs
IDIwMTcsIGF0IDEwOjQ4IFBNLCBCb2IgQnJpc2NvZSA8aWV0ZkBib2JicmlzY29lLm5ldD4gd3Jv
dGU6DQo+PiANCj4+PiBJZ25hY2lvLA0KPj4+IA0KPj4+IFRoYW5rcyBmb3IgeW91ciByYXBpZCBy
ZXNwb25zZS4NCj4+PiANCj4+PiBPbiAzMS8wNS8xNyAwMjo1MSwgSWduYWNpbyBHb3lyZXQgd3Jv
dGU6DQo+Pj4+IEkgYW0gYSBsaXR0bGUgY29uZnVzZWQgYnkgdGhlIGRvdWJsZSBuZWdhdGl2ZSBp
biAibm9uLW9wdGlvbmFsIi4NCj4+Pj4gRG8geW91IG1lYW4gIm1hbmRhdG9yeSI/IElmIHNvLCB3
aHkgbm90IGp1c3Qgc2F5IHRoYXQ/DQo+Pj4gWWVzLCBtYW5kYXRvcnkuDQo+Pj4gVGhhdCBsYW5n
dWFnZSB3YXMgbm90IGluIHRoZSBkcmFmdDsgb25seSBpbiBteSBlbWFpbC4NCj4+Pj4gDQo+Pj4+
IFRoZSBsYWNrIG9mIGEgY2FwYWJpbGl0aWVzIEFWUCB0aGF0IHlvdSB3ZXJlIGxvb2tpbmcgZm9y
IGlzIG1haW5seQ0KPj4+PiBiZWNhdXNlIGl0IGhhc24ndCBiZWVuIG5lZWRlZCBzbyBmYXIuIFlv
dSBhcmUgd2VsY29tZSB0byBzdWJtaXQgYQ0KPj4+PiBkcmFmdCB3aXRoIHNvbWV0aGluZyBsaWtl
IHRoYXQuIEdlbmVyYWxseSBzcGVha2luZywgYWRkaW5nIGEgc2ltcGxlDQo+Pj4+IGJpbmFyeSBB
VlAgaXMgZWFzeSBhbmQgc2ltcGxlciB0byBoYW5kbGUuDQo+Pj4gR29vZC4NCj4+Pj4gDQo+Pj4+
IEkgaGF2ZSBubyBwcm9ibGVtIHdpdGggdGhlIG5ldyBzdWdnZXN0ZWQgQVZQLCBidXQgY2FuIHlv
dSBleHBsYWluDQo+Pj4+IHdoeSBpcyBpdCBpbXBvcnRhbnQgdG8ga25vdyBpZiB0aGUgcmVtb3Rl
IHN1cHBvcnRzIG9yIG5vdCB0aGlzDQo+Pj4+IGV4dGVuc2lvbj8gQ2FuJ3QgYSB0dW5uZWwgZW5k
IGRlZHVjZSB0aGlzIGluZm9ybWF0aW9uIGJ5IG9ic2VydmluZw0KPj4+PiB0aGUgSVAgaGVhZGVy
IHJlY2VpdmVkPw0KPj4+IEknbSBhZnJhaWQgbm90LiBJdCBpcyBjcml0aWNhbCBmb3IgdGhlIGlu
Z3Jlc3MgKGluIGVhY2ggZGlyZWN0aW9uKSB0byBjaGVjayB0aGF0IHRoZSBlZ3Jlc3MgZGVjYXAg
d2lsbCBjb3JyZWN0bHkgcHJvcGFnYXRlIHRoZSBvdXRlciBFQ04gZmllbGQgaW50byB0aGUgZm9y
d2FyZGVkIHBheWxvYWQgcHJvdG9jb2wuIE90aGVyd2lzZSBleHBsaWNpdCBjb25nZXN0aW9uIHNp
Z25hbHMgYWRkZWQgYnkgYSBub2RlIHdpdGhpbiB0aGUgdHVubmVsIGNvdWxkIGp1c3QgZ2V0IHN0
cmlwcGVkIGF0IGRlY2FwLiBXaXRoIGNvbmdlc3Rpb24gZmVlZGJhY2sgYmxhY2staG9sZWQsIHRo
ZSBsb2FkIHdvdWxkIGNvbnRpbnVlIHRvIGluY3JlYXNlIHVudGlsIG92ZXJsb2FkIGFuZCB0YWls
IGRyb3AuDQo+Pj4gDQo+Pj4gQlRXLCB0aGUgZm9yd2FyZGVkIEVDTiBmaWVsZCBhZnRlciBkZWNh
cCBoYXMgdG8gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgRUNOIGZpZWxkcyBpbiB0aGUgb3V0ZXIg
YW5kIGlubmVyIElQIGhlYWRlcnMgKFJGQzYwNDAgZ2l2ZXMgYSA0eDQgbWF0cml4IG9mIGFsbCB0
aGUgY29tYmluYXRpb25zIG9mIHRoZSB0d28gMi1iaXQgRUNOIGNvZGVwb2ludHMpLiBTbyBJIGFt
IGludGVyZXN0ZWQgdG8ga25vdyB3aGV0aGVyIHRoaXMgbWlnaHQgcHJlc2VudCBwcm9ibGVtcyBm
b3IgTDJUUCBpbXBsZW1lbnRhdGlvbnMgKEVDTiBwcm9wYWdhdGlvbiBvbiBkZWNhcCBoYXMgYmVl
biBpbXBsZW1lbnRlZCBPSyBpbiBMaW51eCBmb3Igc2ltaWxhciBzdHJ1Y3R1cmVzIGxpa2UgVlhM
QU4pLg0KPj4+IA0KPj4+PiANCj4+Pj4gUmVnYXJkaW5nIHRoZSBleHRlbnNpb24gdnMgdXBkYXRl
IHF1ZXN0aW9uOiBpZiBpdCBpcyBhbiB1cGRhdGUsDQo+Pj4+IHRoZW4gd2h5IG5lZ290aWF0ZSBz
dXBwb3J0PyBXb3VsZG4ndCBFQ04gcHJvcGFnYXRpb24gYmUgbWFuZGF0ZWQNCj4+Pj4gYnkgdGhp
cyB1cGRhdGU/DQo+Pj4gVW5mb3J0dW5hdGVseSwgYSBtYW5kYXRvcnkgdXBkYXRlIHN0aWxsIGhh
cyB0byBjb3BlIHdpdGggdGhlIGFib3ZlIGluY3JlbWVudGFsIGRlcGxveW1lbnQgcHJvYmxlbS4N
Cj4+Pj4gDQo+Pj4+IFRoZXJlIGlzIG5vIHNlY3Rpb24gZm9yIEwyVFB2MiAoUkZDMjY2MSkgb3Ig
YW55IGZ1cnRoZXIgc3VnZ2VzdGlvbg0KPj4+PiBvbiBob3cgdG8gaGFuZGxlIGl0LiBJJ20gbm90
IHNheWluZyB0aGF0IGl0IGlzIG5lY2Vzc2FyeSwgYnV0IHNpbmNlDQo+Pj4+IGl0IGlzIG1lbnRp
b25lZCBlYXJsaWVyIGluIHRoZSBkb2N1bWVudCwgeW91IG1heSB3YW50IHRvIGFkZCBhIGZldw0K
Pj4+PiB3b3Jkcy4gTm90ZSB0aGF0IHRoaW5ncyBhcmUgYSBiaXQgbW9yZSBjb21wbGljYXRlZCBp
biB2MiBiZWNhdXNlDQo+Pj4+IGl0IHRyYW5zcG9ydHMgUFBQIHBhY2tldHMsIHdoaWNoIG1heSBp
bmNsdWRlIElQIHBhY2tldHMgKG9yIHBvcnRpb25zDQo+Pj4+IG9mIFBQUCBwYWNrZXRzIGlmIHVz
aW5nIE11bHRpbGluaykuIEkgaGF2ZSBubyBpc3N1ZSBwdW50aW5nIG9uIEwyVFB2Mg0KPj4+PiBk
ZXRhaWxzLg0KPj4+ICogR2l2ZW4geW91IHNheSBMMlRQdjIgaXMgbW9yZSBjb21wbGljYXRlZCBj
b3MgaXQgdHJhbnNwb3J0cyBQUFAgcGFja2V0cywgdGhhdCBzZWVtcyB0byBpbXBseSB0aGF0IEwy
VFB2MyBkb2VzIG5vdCB0cmFuc3BvcnQgUFBQLCB3aGljaCBkb2Vzbid0IHNvdW5kIHJpZ2h0Pw0K
Pj4+IA0KPj4+IEkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCB0aGUgcmVsYXRpb25zaGlwIGJldHdl
ZW4gTDJUUHYyICYgdjMgKEkgaGF2ZSBjb21lIGFjcm9zcyBMMlRQIGEgbG90IGluIGFuIG9wZXJh
dGlvbmFsIGNvbnRleHQsIGJ1dCBuZXZlciByZWFsbHkgc3R1ZGllZCBpdCBhcyBhIHByb3RvY29s
IHVudGlsIG5vdykuDQo+Pj4gDQo+Pj4gKiBJcyB0aGVyZSBzdGlsbCBhIGxvdCBvZiBMMlRQdjIg
YXJvdW5kPw0KPj4+IA0KPj4+ICogV291bGQgaXQgYmUgYmVsaWV2YWJsZSB0aGF0IGEgTDJUUHYy
IGltcGxlbWVudGF0aW9uIG1pZ2h0IGJlIHVwZGF0ZWQgZm9yIEVDTiBzdXBwb3J0IGJ1dCBub3Qg
dXBkYXRlZCB0byBMMlRQdjM/DQo+Pj4gDQo+Pj4gQ2hlZXJzDQo+Pj4gDQo+Pj4gDQo+Pj4gQm9i
DQo+Pj4gDQo+Pj4+IA0KPj4+PiAtSWduYWNpbw0KPj4+PiANCj4+Pj4gDQo+Pj4+IEF0IDE1OjQ5
IDUvMzAvMjAxNywgQm9iIEJyaXNjb2Ugd3JvdGU6DQo+Pj4+IA0KPj4+Pj4gSGkgbDJ0cGV4dCBs
aXN0LA0KPj4+Pj4gW3JlcGVhdGluZyBwcmV2aW91cyBwb3N0LCBidXQgd2l0aCBzZWxmLWV4cGxh
bmF0b3J5IHN1YmplY3QgbGluZV0NCj4+Pj4+IA0KPj4+Pj4gVGhpcyBpcyBhIHBsZWEgZm9yIGhl
bHAgb24gYSBzaG9ydCBzdWJzZWN0aW9uIG9mIGEgc2hvcnQgZHJhZnQgdGhhdCB1cGRhdGVzIEwy
VFAgKGFtb25nc3Qgb3RoZXIgdHVubmVsIHByb3RvY29scykuDQo+Pj4+PiANCj4+Pj4+IEluIHRo
ZSBUcmFuc3BvcnQgQXJlYSBXRyAodHN2d2cpIHdlIGhhdmUgYmVlbiB3b3JraW5nIG9uIGRlZmlu
aW5nIHByb3BhZ2F0aW9uIG9mIHRoZSBFQ04gZmllbGQgYmV0d2VlbiBJUCBoZWFkZXJzIHNlcGFy
YXRlZCBieSBzaGltIGhlYWRlcihzKToNCj4+Pj4+ICAgIGRyYWZ0LWlldGYtdHN2d2ctcmZjNjA0
MHVwZGF0ZS1zaGltDQo+Pj4+PiANCj4+Pj4+IEwyVFAgaXMgb25lIHN1Y2ggcHJvdG9jb2wgKHdo
ZW4gdGhlIHBheWxvYWQgb2YgdGhlIEwyIHByb3RvY29sIGlzIElQLCBhbmQgdGhlIG91dGVyIFBT
TiBpcyBJUCkuIFRoaXMgaXMgcGFydGljdWxhcmx5IHJlbGV2YW50IGF0IHRoZSBtb21lbnQsIGJl
Y2F1c2Ugb2YgdGhlIGxvdyBsYXRlbmN5IChMNFMpIHdvcmsgYmFzZWQgb24gRUNOIGFuZCBiZWNh
dXNlIGRlcGxveW1lbnQgb2YgRUNOIGhhcyBmaW5hbGx5IHRha2VuIG9mZiB7Tm90ZSAxfS4NCj4+
Pj4+IA0KPj4+Pj4gSSBwcmVzZW50ZWQgdGhpcyB0dW5uZWxsaW5nIHdvcmsgaW4gaW50YXJlYSBq
dXN0IHVuZGVyIGEgeWVhciBhZ28uIFNpbmNlIHRoZW4gdHN2d2cgaGFzIGFkb3B0ZWQgdGhlIGRy
YWZ0IGFuZCBhc2tlZCB0aGF0IHdlIGluY2x1ZGUgc3BlY2lmaWMgdXBkYXRlIHRleHQgZm9yIGVh
Y2ggYWZmZWN0ZWQgdHVubmVsIHByb3RvY29sLiBJIGp1c3QgcG9zdGVkIG15IGZpcnN0IGF0dGVt
cHQgYXQgTDJUUCB1cGRhdGUgdGV4dDoNCj4+Pj4+ICAgIDxodHRwczovL3Rvb2xzLmlldGYub3Jn
L2h0bWwvZHJhZnQtaWV0Zi10c3Z3Zy1yZmM2MDQwdXBkYXRlLXNoaW0tMDE+ZHJhZnQtaWV0Zi10
c3Z3Zy1yZmM2MDQwdXBkYXRlLXNoaW0tMDENCj4+Pj4+IA0KPj4+Pj4gU3BlY2lmaWMgcXVlc3Rp
b25zOg0KPj4+Pj4gDQo+Pj4+PiBQcml6ZSBmb3IgdGhlIGJlc3QgYW5zd2VyIHRvIGFsbCAzIHF1
ZXN0aW9uczogeW91IGdldCB0byBiZWNvbWUgYSBjby1hdXRob3IgKGlmIHlvdSB3YW50IDopDQo+
Pj4+PiANCj4+Pj4+IFExLiBMMlRQIGlzIG1lYW50IGZvciBhbGwgc29ydHMgb2Ygb3V0ZXJzIGFu
ZCBpbm5lcnMsIHNvIGl0IGlzIG5vdCBjbGVhciB3aGVyZSB0byBkZWZpbmUgYmVoYXZpb3VyIGZv
ciB0aGUgc3BlY2lhbCAoYnV0IHZlcnkgY29tbW9uKSBjYXNlIG9mIElQIGFzIHRoZSBMMiBwYXls
b2FkIGFuZCBJUCBhbmQgYXMgdGhlIFBTTi4gVGhhdCBpczoNCj4+Pj4+ICAgICBJUCAgICA6ICAg
IFtVRFBdICAgIDogICAgTDJUUCAgICA6ICAgIEwyLXNwZWNpZmljLXN1YmxheWVyICAgIDogICAg
TDIgICAgOiAgICBJUA0KPj4+Pj4gDQo+Pj4+PiBJIGRlY2lkZWQgb24gdXBkYXRpbmcgPFNwZWNp
ZmljJTIwcXVlc3Rpb25zOj5TLjQuNSBvZiBSRkMzOTMxLCBidXQgc3VnZ2VzdGlvbnMgZm9yIGEg
YmV0dGVyIHBsYWNlIGFyZSB3ZWxjb21lLg0KPj4+Pj4gDQo+Pj4+PiBRMi4gTDJUUCBpcyB1c3Vh
bGx5IGV4dGVuZGVkIG5vdCB1cGRhdGVkLiBIb3dldmVyLCBpbiB0aGlzIGNhc2UsIGNvbXBsaWFu
Y2Ugd2l0aCBSRkM2MDQwIGlzIG5vbi1vcHRpb25hbCwgc28gSSB0aGluayB1cGRhdGUgcmF0aGVy
IHRoYW4gZXh0ZW5zaW9uIGlzIGFwcHJvcHJpYXRlLiBSZWFzb246IEFsdGhvdWdoIFJGQzYwNDAg
aXMgbm9uLW9wdGlvbmFsIGl0IGluY2x1ZGVzIGEgY29tcGF0aWJpbGl0eSBtb2RlIHRoYXQgZGVm
aW5lcyB3aGF0IGhhcyB0byBoYXBwZW4gd2hlbiBhIHR1bm5lbCBlbmRwb2ludCBkb2Vzbid0IHN1
cHBvcnQgRUNOIHByb3BhZ2F0aW9uLg0KPj4+Pj4gDQo+Pj4+PiBQbHMgcmVhZCB0aGUgKHNob3J0
KSBkcmFmdCBhbmQsIGlmIHlvdSBkaXNhZ3JlZSwgc3VnZ2VzdCBob3cgYW4gZXh0ZW5zaW9uIGNh
biBiZSBub24tb3B0aW9uYWwuDQo+Pj4+PiANCj4+Pj4+IFEzLiBUaGUgdHVubmVsIGluaXRpYXRv
ciBuZWVkcyB0byBjaGVjayB0aGF0IHRoZSBvdGhlciBlbmQgc3VwcG9ydHMgRUNOIHByb3BhZ2F0
aW9uLiBJIGhhdmUgcHJvcG9zZWQgYW4gQXR0cmlidXRlIFZhbHVlIFBhaXIgKEFWUCkgZm9yIHRo
aXMgdGhhdCBpcyBlZmZlY3RpdmVseSBqdXN0IGEgYm9vbGVhbiBjaG9pY2UgZnJvbSBlYWNoIGVu
ZCAoWWVzIG9yIHNpbGVuY2UpLiBJIGV4cGVjdGVkIHRvIGZpbmQgYW4gQVZQIHdpdGggcGVyLWNv
bnRyb2wtY29ubmVjdGlvbiBmbGFncyBmb3IgdHVubmVsIGVuZHBvaW50IGNhcGFiaWxpdGllcyB0
aGF0IEkgY291bGQganVzdCBleHRlbmQgd2l0aCBvbmUgbW9yZSBmbGFnLCBidXQgdGhlcmUgZG9l
c24ndCBzZWVtIHRvIGJlIHN1Y2ggYSB0aGluZyBhbHJlYWR5IGluIEwyVFAuIERpZCBJIG1pc3Mg
aXQ/DQo+Pj4+PiANCj4+Pj4+IA0KPj4+Pj4gQ2hlZXJzDQo+Pj4+PiANCj4+Pj4+IA0KPj4+Pj4g
Qm9iDQo+Pj4+PiANCj4+Pj4+IHtOb3RlIDF9OiB+NzAlIG9mIFdlYiBzZXJ2ZXJzLCB+NTAlIG9m
IEFwcGxlIGNsaWVudCBkZXZpY2VzIG9uIGZpeGVkIG9yIFdpRmkgYWNjZXNzLCBhbmQgbm93IGlu
Y3JlYXNpbmcgcm91dGVyIGRlcGxveW1lbnQgb2YgRUNOIGlzIGFwcGVhcmluZy4NCj4+PiANCj4+
PiAtLSANCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fDQo+Pj4gQm9iIEJyaXNjb2UgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaHR0cDovL2JvYmJyaXNjb2UubmV0Lw0KPj4+IA0KPj4+IF9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gTDJ0cGV4dCBtYWlsaW5nIGxp
c3QNCj4+PiBMMnRwZXh0QGlldGYub3JnDQo+Pj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h
bi9saXN0aW5mby9sMnRwZXh0DQo+IA0KPiAtLSANCj4gX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBCb2IgQnJpc2NvZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCj4gaHR0cDovL2JvYmJyaXNjb2UubmV0Lw0K
DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMMnRwZXh0
IG1haWxpbmcgbGlzdApMMnRwZXh0QGlldGYub3JnCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxt
YW4vbGlzdGluZm8vbDJ0cGV4dAo=