From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer <michael.tremer@ipfire.org> To: network@lists.ipfire.org Subject: Re: [PATCH v2] dhcp: merge ipv4-dhcp and ipv6-dhcp Date: Thu, 06 Jul 2017 14:57:05 +0100 Message-ID: <1499349425.3900.5.camel@ipfire.org> In-Reply-To: <1499346933-21273-1-git-send-email-jonatan.schlag@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8348669901311944553==" List-Id: <network.lists.ipfire.org> --===============8348669901311944553== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksCgpPbiBUaHUsIDIwMTctMDctMDYgYXQgMTU6MTUgKzAyMDAsIEpvbmF0YW4gU2NobGFnIHdy b3RlOgo+IEZpeGVzOiAjMTE0MDQKPiAKPiBTaWduZWQtb2ZmLWJ5OiBKb25hdGFuIFNjaGxhZyA8 am9uYXRhbi5zY2hsYWcoYSlpcGZpcmUub3JnPgo+IC0tLQo+IMKgTWFrZWZpbGUuYW3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDUgKy0KPiDCoHNyYy9ob29rcy9jb25m aWdzL2RoY3DCoMKgwqDCoMKgwqB8IDE4OAo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCj4gwqBzcmMvaG9va3MvY29uZmlncy9pcHY0LWRoY3AgfCAxMjIgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IMKgc3JjL2hvb2tzL2NvbmZpZ3MvaXB2Ni1kaGNw IHwgMTAwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gwqA0IGZpbGVzIGNoYW5nZWQsIDE5MCBp bnNlcnRpb25zKCspLCAyMjUgZGVsZXRpb25zKC0pCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L2hvb2tzL2NvbmZpZ3MvZGhjcAo+IMKgZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy9ob29rcy9jb25m aWdzL2lwdjQtZGhjcAo+IMKgZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy9ob29rcy9jb25maWdzL2lw djYtZGhjcAo+IAo+IGRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCj4gaW5k ZXggMzJlNzE2Ni4uM2E0MmEwMyAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZS5hbQo+ICsrKyBiL01h a2VmaWxlLmFtCj4gQEAgLTE5NiwxMiArMTk2LDExIEBAIElOU1RBTExfRVhFQ19IT09LUyArPSBi cmlkZ2Utc3RwLWluc3RhbGwtaG9vawo+IMKgVU5JTlNUQUxMX0VYRUNfSE9PS1MgKz0gYnJpZGdl LXN0cC11bmluc3RhbGwtaG9vawo+IMKgCj4gwqBkaXN0X2hvb2tzX2NvbmZpZ3NfU0NSSVBUUyA9 IFwKPiAtCXNyYy9ob29rcy9jb25maWdzL2lwdjQtZGhjcCBcCj4gwqAJc3JjL2hvb2tzL2NvbmZp Z3MvaXB2NC1zdGF0aWMgXAo+IMKgCXNyYy9ob29rcy9jb25maWdzL2lwdjYtYXV0byBcCj4gLQlz cmMvaG9va3MvY29uZmlncy9pcHY2LWRoY3AgXAo+IMKgCXNyYy9ob29rcy9jb25maWdzL2lwdjYt c3RhdGljIFwKPiAtCXNyYy9ob29rcy9jb25maWdzL3BwcG9lLXNlcnZlcgo+ICsJc3JjL2hvb2tz L2NvbmZpZ3MvcHBwb2Utc2VydmVyIFwKPiArCXNyYy9ob29rcy9jb25maWdzL2RoY3AKCkNhbiB3 ZSBoYXZlIHRoaXMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIHRvIGF2b2lkIG1lcmdlIGNvbmZsaWN0 cz8KCj4gwqAKPiDCoGRpc3RfaG9va3NfcG9ydHNfU0NSSVBUUyA9IFwKPiDCoAlzcmMvaG9va3Mv cG9ydHMvYmF0bWFuLWFkdiBcCj4gZGlmZiAtLWdpdCBhL3NyYy9ob29rcy9jb25maWdzL2RoY3Ag Yi9zcmMvaG9va3MvY29uZmlncy9kaGNwCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwLi44ZjhiMmY2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3NyYy9ob29rcy9jb25maWdz L2RoY3AKPiBAQCAtMCwwICsxLDE4OCBAQAo+ICsjIS9iaW4vYmFzaAo+ICsjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ ICMjIyMjIyMjIyMjCj4gKyPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgIwo+ICsjIElQRmlyZS5vcmcgLSBBIGxpbnV4IGJhc2VkCj4gZmlyZXdhbGzCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIwo+ICsjIENvcHlyaWdodCAoQykgMjAxMMKgwqBNaWNoYWVsIFRyZW1l ciAmIENocmlzdGlhbgo+IFNjaG1pZHTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCMKPiArI8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqAjCj4gKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IG1vZGlmecKgwqDCoMKgwqDCoMKgwqAjCj4gKyMgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKPiBi ecKgwqDCoMKgwqDCoMKgwqAjCj4gKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwKPiBvcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAj Cj4gKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIKPiB2ZXJzaW9uLsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAjCj4gKyPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgIwo+ICsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUKPiB1c2VmdWwswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gKyMgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkKPiBv ZsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLsKgwqBTZWUKPiB0aGXCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAjCj4gKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUKPiBkZXRhaWxzLsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gKyPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgIwo+ICsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYwo+IExpY2Vuc2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+ICsj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLsKgwqBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzCj4gLz4uwqDCoMKgwqDCoMKgwqAjCj4gKyPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICMjIyMjIyMjIyMjCj4g Kwo+ICsuIC91c3IvbGliL25ldHdvcmsvaGVhZGVyLWNvbmZpZwo+ICsKPiArSE9PS19DT05GSUdf U0VUVElOR1M9IkhPT0sgREVMQVkgRU5BQkxFX0lQVjQgRU5BQkxFX0lQVjYiCj4gKwo+ICsjIERl ZmF1bHQgc2V0dGluZ3MuCj4gK0RFTEFZPTAKPiArRU5BQkxFX0lQVjQ9Im9uIgo+ICtFTkFCTEVf SVBWNj0ib24iCj4gKwo+ICtob29rX2NoZWNrX2NvbmZpZ19zZXR0aW5ncygpIHsKPiArCWFzc2Vy dCBpc3NldCBERUxBWQo+ICsJYXNzZXJ0IGlzaW50ZWdlciBERUxBWQo+ICsJYXNzZXJ0IGlzc2V0 IEVOQUJMRV9JUFY0Cj4gKwlhc3NlcnQgaXNib29sIEVOQUJMRV9JUFY0Cj4gKwlhc3NlcnQgaXNz ZXQgRU5BQkxFX0lQVjYKPiArCWFzc2VydCBpc2Jvb2wgRU5BQkxFX0lQVjYKPiArfQo+ICsKPiAr aG9va19wYXJzZV9jbWRsaW5lKCkgewo+ICsJd2hpbGUgWyAkIyAtZ3QgMCBdOyBkbwo+ICsJCWNh c2UgIiR7MX0iIGluCj4gKwkJCS0tZGVsYXk9KikKPiArCQkJCURFTEFZPSIkKGNsaV9nZXRfdmFs ICIkezF9IikiCj4gKwkJCQk7Owo+ICsJCQktLWVuYWJsZS1pcHY0PSopCj4gKwkJCQlFTkFCTEVf SVBWND0iJChjbGlfZ2V0X3ZhbCAiJHsxfSIpIgo+ICsJCQkJaWYgISBpc2Jvb2wgJHtFTkFCTEVf SVBWNH07IHRoZW4KPiArCQkJCQlsb2cgRVJST1IgIi0tZW5hYmxlLWlwdjQKPiBhY2NlcHQgb25s eSBvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczogb24gb2ZmIDEgMCBubyB5ZXMiCj4gKwkJCQkJ cmV0dXJuICR7RVhJVF9FUlJPUn0KPiArCQkJCWZpCj4gKwkJCQk7Owo+ICsJCQktLWVuYWJsZS1p cHY2PSopCj4gKwkJCQlFTkFCTEVfSVBWNj0iJChjbGlfZ2V0X3ZhbCAiJHsxfSIpIgo+ICsJCQkJ aWYgISBpc2Jvb2wgJHtFTkFCTEVfSVBWNn07IHRoZW4KPiArCQkJCQlsb2cgRVJST1IgIi0tZW5h YmxlLWlwdjYKPiBhY2NlcHQgb25seSBvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczogb24gb2Zm IDEgMCBubyB5ZXMiCj4gKwkJCQkJcmV0dXJuICR7RVhJVF9FUlJPUn0KPiArCQkJCWZpCj4gKwkJ CQk7Owo+ICsJCQkqKQo+ICsJCQkJd2FybmluZyAiSWdub3JpbmcgdW5rbm93biBvcHRpb24KPiAn JHsxfSciCj4gKwkJCQk7Owo+ICsJCWVzYWMKPiArCQlzaGlmdAo+ICsJZG9uZQo+ICt9CgpEaWQg eW91IGNvbnNpZGVyIC0tZGlzYWJsZS1pcHY2IGFuZCAtLWVuYWJsZS1pcHY2IGluc3RlYWQgb2Yg cGFzc2luZyBhCnZhbHVlIHRoYXQgaXMgYWx3YXlzIGEgbGl0dGxlIGJpdCBoYXJkIHRvIGludGVy cHJldD8KCkFuZCBkb24ndCBnaXZlIHRoZSB1c2VyIG9wdGlvbnMgZm9yIGJvb2xzLiBKdXN0IHN1 Z2dlc3Qgb25lLgoKPiArCj4gK2hvb2tfbmV3KCkgewo+ICsJbG9jYWwgem9uZT0iJHsxfSIKPiAr CXNoaWZ0Cj4gKwo+ICsJaWYgem9uZV9jb25maWdfaG9va19pc19jb25maWd1cmVkICR7em9uZX0g ImRoY3AiOyB0aGVuCj4gKwkJbG9nIEVSUk9SICJZb3UgY2FuIGNvbmZpZ3VyZSB0aGUgZGhjcCBo b29rIG9ubHkgb25jZQo+IGZvciBhIHpvbmUiCj4gKwkJcmV0dXJuICR7RVhJVF9FUlJPUn0KPiAr CWZpCj4gKwo+ICsJaG9va19wYXJzZV9jbWRsaW5lICRACj4gKwo+ICsJIyBDaGVjayBpZiB0aGUg dXNlciBkaXNhYmxlZCBpcHY0IGFuZCBpcHY2Cj4gKwo+ICsJaWYgISBlbmFibGVkIEVOQUJMRV9J UFY2ICYmICEgZW5hYmxlZCBFTkFCTEVfSVBWNDsgdGhlbgo+ICsJCWxvZyBFUlJPUiAiWW91IGRp c2FibGVkIElQdjQgYW5kIElQdjYuIEF0IGxlYXN0IG9uZQo+IG11c3QgYmUgZW5hYmxlZCIKPiAr CWZpCgpJUHY2IHNob3VsZCBhbHdheXMgYmUgZmlyc3QuCgo+ICsKPiArCXpvbmVfY29uZmlnX3Nl dHRpbmdzX3dyaXRlICIke3pvbmV9IiAiJHtIT09LfSIKPiArCj4gKwlleGl0ICR7RVhJVF9PS30K PiArfQo+ICsKPiAraG9va191cCgpIHsKPiArCWxvY2FsIHpvbmU9JHsxfQo+ICsJbG9jYWwgY29u ZmlnPSR7Mn0KPiArCXNoaWZ0IDIKPiArCj4gKwlpZiAhIGRldmljZV9leGlzdHMgJHt6b25lfTsg dGhlbgo+ICsJCWVycm9yICJab25lICcke3pvbmV9JyBkb2Vzbid0IGV4aXN0LiIKPiArCQlleGl0 ICR7RVhJVF9FUlJPUn0KPiArCWZpCj4gKwo+ICsJem9uZV9jb25maWdfc2V0dGluZ3NfcmVhZCAi JHt6b25lfSIgIiR7Y29uZmlnfSIKPiArCj4gKwkjIFN0YXJ0IGRoY2xpZW50IGZvciBJUHY0IG9u IHRoaXMgem9uZSBpZiBlbmFibGVkLgo+ICsJaWYgZW5hYmxlZCBFTkFCTEVfSVBWNDsgdGhlbgo+ ICsJCWRoY2xpZW50X3N0YXJ0ICR7em9uZX0gaXB2NAo+ICsJZmkKPiArCj4gKwkjIFN0YXJ0IGRo Y2xpZW50IGZvciBJUHY2IG9uIHRoaXMgem9uZSBpZiBlbmFibGVkLgo+ICsJaWYgZW5hYmxlZCBF TkFCTEVfSVBWNjsgdGhlbgo+ICsJCWRoY2xpZW50X3N0YXJ0ICR7em9uZX0gaXB2Ngo+ICsJZmkK ClNhbWUgaGVyZS4KCj4gKwo+ICsJZXhpdCAke0VYSVRfT0t9Cj4gK30KPiArCj4gK2hvb2tfZG93 bigpIHsKPiArCWxvY2FsIHpvbmU9JHsxfQo+ICsJbG9jYWwgY29uZmlnPSR7Mn0KPiArCXNoaWZ0 IDIKPiArCj4gKwlpZiAhIGRldmljZV9leGlzdHMgJHt6b25lfTsgdGhlbgo+ICsJCWVycm9yICJa b25lICcke3pvbmV9JyBkb2Vzbid0IGV4aXN0LiIKPiArCQlleGl0ICR7RVhJVF9FUlJPUn0KPiAr CWZpCj4gKwo+ICsJIyBTdG9wIGRoY2xpZW50IGZvciBJUHY0IG9uIHRoaXMgem9uZS4KPiArCWRo Y2xpZW50X3N0b3AgJHt6b25lfSBpcHY0Cj4gKwo+ICsJIyBTdG9wIGRoY2xpZW50IGZvciBJUHY2 IG9uIHRoaXMgem9uZS4KPiArCWRoY2xpZW50X3N0b3AgJHt6b25lfSBpcHY2CgpTYW1lLgoKPiAr Cj4gKwlleGl0ICR7RVhJVF9PS30KPiArfQo+ICsKPiAraG9va19zdGF0dXMoKSB7Cj4gKwlsb2Nh bCB6b25lPSR7MX0KPiArCWxvY2FsIGNvbmZpZz0kezJ9Cj4gKwlzaGlmdCAyCj4gKwo+ICsJaWYg ISBkZXZpY2VfZXhpc3RzICR7em9uZX07IHRoZW4KPiArCQllcnJvciAiWm9uZSAnJHt6b25lfScg ZG9lc24ndCBleGlzdC4iCj4gKwkJZXhpdCAke0VYSVRfRVJST1J9Cj4gKwlmaQo+ICsKPiArCXpv bmVfY29uZmlnX3NldHRpbmdzX3JlYWQgIiR7em9uZX0iICIke2NvbmZpZ30iCj4gKwo+ICsJbG9j YWwgc3RhdHVzCj4gKwlpZiBkaGNsaWVudF9zdGF0dXMgJHt6b25lfSBpcHY0IHx8IGRoY2xpZW50 X3N0YXR1cyAke3pvbmV9Cj4gaXB2NjsgdGhlbgo+ICsJCXN0YXR1cz0iJHtNU0dfSE9PS19VUH0i Cj4gKwllbHNlCj4gKwkJc3RhdHVzPSIke01TR19IT09LX0RPV059Igo+ICsJZmkKPiArCWNsaV9z dGF0dXNsaW5lIDMgIiR7SE9PS30iICIke3N0YXR1c30iCj4gKwo+ICsJY2xpX3NwYWNlCj4gKwo+ ICsJbG9jYWwgcHJvdG8KPiArCWZvciBwcm90byBpbiAiSVB2NiIgIklQdjQiOyBkbwo+ICsJCWxv Y2FsIF9wcm90bz0ke3Byb3RvLCx9Cj4gKwo+ICsJCWNsaV9wcmludF9mbXQxIDMgIiR7cHJvdG99 Igo+ICsKPiArCQlpZiBlbmFibGVkIEVOQUJMRV8ke3Byb3RvXl59OyB0aGVuCj4gKwkJCWNsaV9w cmludF9mbXQxIDQgIlN0YXR1cyIgImVuYWJsZWQiCj4gKwo+ICsJCQlsb2NhbCBhZGRyZXNzPSIk KGRiX2dldAo+ICIke3pvbmV9LyR7X3Byb3RvfS9sb2NhbC1pcC1hZGRyZXNzIikiCj4gKwkJCWlm IGlzc2V0IGFkZHJlc3M7IHRoZW4KPiArCQkJCWNsaV9wcmludF9mbXQxIDQgIkFkZHJlc3MiCj4g IiR7YWRkcmVzc30iCj4gKwkJCWZpCj4gKwo+ICsJCQlsb2NhbCBnYXRld2F5PSIkKGRiX2dldAo+ ICIke3pvbmV9LyR7X3Byb3RvfS9yZW1vdGUtaXAtYWRkcmVzcyIpIgo+ICsJCQlpZiBpc3NldCBn YXRld2F5OyB0aGVuCj4gKwkJCQljbGlfcHJpbnRfZm10MSA0ICJHYXRld2F5Igo+ICIke2dhdGV3 YXl9Igo+ICsJCQlmaQo+ICsJCQo+ICsJCQlsb2NhbCBkbnNfc2VydmVycz0iJChkYl9nZXQKPiAi JHt6b25lfS8ke19wcm90b30vZG9tYWluLW5hbWUtc2VydmVycyIpIgo+ICsJCQlpZiBpc3NldCBk bnNfc2VydmVyczsgdGhlbgo+ICsJCQkJY2xpX3ByaW50X2ZtdDEgNCAiRE5TIFNlcnZlcnMiCj4g IiR7ZG5zX3NlcnZlcnN9Igo+ICsJCQlmaQo+ICsJCWVsc2UKPiArCQkJY2xpX3ByaW50X2ZtdDEg NCAiU3RhdHVzIiAiZGlzYWJsZWQiCj4gKwkJZmkKPiArCj4gKwkJY2xpX3NwYWNlCj4gKwo+ICsJ ZG9uZQo+ICsKPiArCWV4aXQgJHtFWElUX09LfQo+ICt9Cj4gZGlmZiAtLWdpdCBhL3NyYy9ob29r cy9jb25maWdzL2lwdjQtZGhjcCBiL3NyYy9ob29rcy9jb25maWdzL2lwdjQtCj4gZGhjcAo+IGRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDM5ZTAzMTIuLjAwMDAwMDAKPiAtLS0gYS9z cmMvaG9va3MvY29uZmlncy9pcHY0LWRoY3AKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMTIyICsw LDAgQEAKPiAtIyEvYmluL2Jhc2gKPiAtIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAjIyMjIyMjIyMjIwo+IC0jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBJUEZpcmUub3Jn IC0gQSBsaW51eCBiYXNlZAo+IGZpcmV3YWxswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAt IyBDb3B5cmlnaHQgKEMpIDIwMTDCoMKgTWljaGFlbCBUcmVtZXIgJiBDaHJpc3RpYW4KPiBTY2ht aWR0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gLSPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+IC0jIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiBtb2Rp ZnnCoMKgwqDCoMKgwqDCoMKgIwo+IC0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkCj4gYnnCoMKgwqDCoMKgwqDCoMKgIwo+ IC0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsCj4gb3LCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+IC0jIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyCj4gdmVyc2lvbi7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+IC0jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlCj4gdXNlZnVsLMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+IC0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5Cj4gb2bCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIwo+IC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS7CoMKgU2VlCj4gdGhlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+ IC0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlCj4gZGV0YWlscy7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Iwo+IC0jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMK PiBMaWNlbnNlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS7CoMKgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcwo+IC8+LsKg wqDCoMKgwqDCoMKgIwo+IC0jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoCMKPiAtIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAjIyMjIyMjIyMjIwo+IC0KPiAtLiAvdXNyL2xpYi9uZXR3 b3JrL2hlYWRlci1jb25maWcKPiAtCj4gLUhPT0tfQ09ORklHX1NFVFRJTkdTPSJIT09LIERFTEFZ Igo+IC0KPiAtIyBEZWZhdWx0IHNldHRpbmdzLgo+IC1ERUxBWT0wCj4gLQo+IC1ob29rX2NoZWNr X2NvbmZpZ19zZXR0aW5ncygpIHsKPiAtCWFzc2VydCBpc3NldCBERUxBWQo+IC0JYXNzZXJ0IGlz aW50ZWdlciBERUxBWQo+IC19Cj4gLQo+IC1ob29rX25ldygpIHsKPiAtCWxvY2FsIHpvbmU9IiR7 MX0iCj4gLQlzaGlmdAo+IC0KPiAtCWlmIHpvbmVfY29uZmlnX2hvb2tfaXNfY29uZmlndXJlZCAk e3pvbmV9ICJpcHY0LWRoY3AiOyB0aGVuCj4gLQkJbG9nIEVSUk9SICJZb3UgY2FuIGNvbmZpZ3Vy ZSB0aGUgaXB2NC1kaGNwIGhvb2sgb25seQo+IG9uY2UgZm9yIGEgem9uZSIKPiAtCQlyZXR1cm4g JHtFWElUX0VSUk9SfQo+IC0JZmkKPiAtCj4gLQl3aGlsZSBbICQjIC1ndCAwIF07IGRvCj4gLQkJ Y2FzZSAiJHsxfSIgaW4KPiAtCQkJLS1kZWxheT0qKQo+IC0JCQkJREVMQVk9IiQoY2xpX2dldF92 YWwgIiR7MX0iKSIKPiAtCQkJCTs7Cj4gLQkJZXNhYwo+IC0JCXNoaWZ0Cj4gLQlkb25lCj4gLQo+ IC0Jem9uZV9jb25maWdfc2V0dGluZ3Nfd3JpdGUgIiR7em9uZX0iICIke0hPT0t9Igo+IC0KPiAt CWV4aXQgJHtFWElUX09LfQo+IC19Cj4gLQo+IC1ob29rX3VwKCkgewo+IC0JbG9jYWwgem9uZT0k ezF9Cj4gLQlsb2NhbCBjb25maWc9JHsyfQo+IC0Jc2hpZnQgMgo+IC0KPiAtCWlmICEgZGV2aWNl X2V4aXN0cyAke3pvbmV9OyB0aGVuCj4gLQkJZXJyb3IgIlpvbmUgJyR7em9uZX0nIGRvZXNuJ3Qg ZXhpc3QuIgo+IC0JCWV4aXQgJHtFWElUX0VSUk9SfQo+IC0JZmkKPiAtCj4gLQkjIFN0YXJ0IGRo Y2xpZW50IGZvciBJUHY0IG9uIHRoaXMgem9uZS4KPiAtCWRoY2xpZW50X3N0YXJ0ICR7em9uZX0g aXB2NAo+IC0KPiAtCWV4aXQgJHtFWElUX09LfQo+IC19Cj4gLQo+IC1ob29rX2Rvd24oKSB7Cj4g LQlsb2NhbCB6b25lPSR7MX0KPiAtCWxvY2FsIGNvbmZpZz0kezJ9Cj4gLQlzaGlmdCAyCj4gLQo+ IC0JaWYgISBkZXZpY2VfZXhpc3RzICR7em9uZX07IHRoZW4KPiAtCQllcnJvciAiWm9uZSAnJHt6 b25lfScgZG9lc24ndCBleGlzdC4iCj4gLQkJZXhpdCAke0VYSVRfRVJST1J9Cj4gLQlmaQo+IC0K PiAtCSMgU3RvcCBkaGNsaWVudCBmb3IgSVB2NCBvbiB0aGlzIHpvbmUuCj4gLQlkaGNsaWVudF9z dG9wICR7em9uZX0gaXB2NAo+IC0KPiAtCWV4aXQgJHtFWElUX09LfQo+IC19Cj4gLQo+IC1ob29r X3N0YXR1cygpIHsKPiAtCWxvY2FsIHpvbmU9JHsxfQo+IC0JbG9jYWwgY29uZmlnPSR7Mn0KPiAt CXNoaWZ0IDIKPiAtCj4gLQlpZiAhIGRldmljZV9leGlzdHMgJHt6b25lfTsgdGhlbgo+IC0JCWVy cm9yICJab25lICcke3pvbmV9JyBkb2Vzbid0IGV4aXN0LiIKPiAtCQlleGl0ICR7RVhJVF9FUlJP Un0KPiAtCWZpCj4gLQo+IC0Jem9uZV9jb25maWdfc2V0dGluZ3NfcmVhZCAiJHt6b25lfSIgIiR7 Y29uZmlnfSIKPiAtCj4gLQlsb2NhbCBzdGF0dXMKPiAtCWlmIGRoY2xpZW50X3N0YXR1cyAke3pv bmV9IGlwdjQ7IHRoZW4KPiAtCQlzdGF0dXM9IiR7TVNHX0hPT0tfVVB9Igo+IC0JZWxzZQo+IC0J CXN0YXR1cz0iJHtNU0dfSE9PS19ET1dOfSIKPiAtCWZpCj4gLQljbGlfc3RhdHVzbGluZSAzICIk e0hPT0t9IiAiJHtzdGF0dXN9Igo+IC0KPiAtCWNsaV9wcmludF9mbXQxIDMgIklQdjQgYWRkcmVz cyIgIiQoZGJfZ2V0Cj4gIiR7em9uZX0vaXB2NC9sb2NhbC1pcC1hZGRyZXNzIikiCj4gLQlsb2Nh bCBnYXRld2F5PSIkKGRiX2dldCAiJHt6b25lfS9pcHY0L3JlbW90ZS1pcC1hZGRyZXNzIikiCj4g LQlpZiBpc3NldCBnYXRld2F5OyB0aGVuCj4gLQkJY2xpX3ByaW50X2ZtdDEgMyAiR2F0ZXdheSIg IiR7Z2F0ZXdheX0iCj4gLQkJY2xpX3NwYWNlCj4gLQlmaQo+IC0JbG9jYWwgZG5zX3NlcnZlcnM9 IiQoZGJfZ2V0ICIke3pvbmV9L2lwdjQvZG9tYWluLW5hbWUtCj4gc2VydmVycyIpIgo+IC0JaWYg aXNzZXQgZG5zX3NlcnZlcnM7IHRoZW4KPiAtCQljbGlfcHJpbnRfZm10MSAzICJETlMtU2VydmVy cyIgIiR7ZG5zX3NlcnZlcnN9Igo+IC0JCWNsaV9zcGFjZQo+IC0JZmkKPiAtCj4gLQlleGl0ICR7 RVhJVF9PS30KPiAtfQo+IGRpZmYgLS1naXQgYS9zcmMvaG9va3MvY29uZmlncy9pcHY2LWRoY3Ag Yi9zcmMvaG9va3MvY29uZmlncy9pcHY2LQo+IGRoY3AKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKPiBpbmRleCA3NGVjNzY1Li4wMDAwMDAwCj4gLS0tIGEvc3JjL2hvb2tzL2NvbmZpZ3MvaXB2 Ni1kaGNwCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDEwMCArMCwwIEBACj4gLSMhL2Jpbi9iYXNo Cj4gLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCj4gIyMjIyMjIyMjIyMKPiAtI8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gLSMgSVBGaXJlLm9yZyAtIEEgbGludXggYmFzZWQKPiBm aXJld2FsbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gLSMgQ29weXJpZ2h0IChDKSAyMDEw wqDCoE1pY2hhZWwgVHJlbWVyICYgQ2hyaXN0aWFuCj4gU2NobWlkdMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIwo+IC0jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTog eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gbW9kaWZ5wqDCoMKgwqDCoMKgwqDCoCMK PiAtIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZAo+IGJ5wqDCoMKgwqDCoMKgwqDCoCMKPiAtIyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLAo+IG9ywqDCoMKg wqDCoMKgwqDCoMKgwqDCoCMKPiAtIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlcgo+IHZlcnNp b24uwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtI8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZQo+IHVzZWZ1bCzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCMKPiAtIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eQo+IG9mwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuwqDCoFNlZQo+ IHRoZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZQo+IGRldGFpbHMuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCMKPiAtI8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gLSMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCj4gTGljZW5zZcKgwqDCoMKgwqDC oMKgwqDCoMKgwqAjCj4gLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uwqDCoElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMKPiAvPi7CoMKgwqDCoMKgwqDCoCMKPiAtI8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAjCj4gLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj Cj4gIyMjIyMjIyMjIyMKPiAtCj4gLS4gL3Vzci9saWIvbmV0d29yay9oZWFkZXItY29uZmlnCj4g LQo+IC1IT09LX0NPTkZJR19TRVRUSU5HUz0iSE9PSyIKPiAtCj4gLWhvb2tfbmV3KCkgewo+IC0J bG9jYWwgem9uZT0iJHsxfSIKPiAtCXNoaWZ0Cj4gLQo+IC0JaWYgem9uZV9jb25maWdfaG9va19p c19jb25maWd1cmVkICR7em9uZX0gImlwdjYtZGhjcCI7IHRoZW4KPiAtCQlsb2cgRVJST1IgIllv dSBjYW4gY29uZmlndXJlIHRoZSBpcHY2LWRoY3AgaG9vayBvbmx5Cj4gb25jZSBmb3IgYSB6b25l Igo+IC0JCXJldHVybiAke0VYSVRfRVJST1J9Cj4gLQlmaQo+IC0KPiAtCXpvbmVfY29uZmlnX3Nl dHRpbmdzX3dyaXRlICIke3pvbmV9IiAiJHtIT09LfSIKPiAtCj4gLQlleGl0ICR7RVhJVF9PS30K PiAtfQo+IC0KPiAtaG9va191cCgpIHsKPiAtCWxvY2FsIHpvbmU9IiR7MX0iCj4gLQlsb2NhbCBj b25maWc9IiR7Mn0iCj4gLQlzaGlmdCAyCj4gLQo+IC0JaWYgISBkZXZpY2VfZXhpc3RzICIke3pv bmV9IjsgdGhlbgo+IC0JCWVycm9yICJab25lICcke3pvbmV9JyBkb2Vzbid0IGV4aXN0LiIKPiAt CQlleGl0ICR7RVhJVF9FUlJPUn0KPiAtCWZpCj4gLQo+IC0JIyBTdGFydCBkaGNsaWVudCBmb3Ig SVB2NiBvbiB0aGlzIHpvbmUuCj4gLQlkaGNsaWVudF9zdGFydCAiJHt6b25lfSIgImlwdjYiCj4g LQo+IC0JZXhpdCAke0VYSVRfT0t9Cj4gLX0KPiAtCj4gLWhvb2tfZG93bigpIHsKPiAtCWxvY2Fs IHpvbmU9IiR7MX0iCj4gLQlsb2NhbCBjb25maWc9IiR7Mn0iCj4gLQlzaGlmdCAyCj4gLQo+IC0J aWYgISBkZXZpY2VfZXhpc3RzICIke3pvbmV9IjsgdGhlbgo+IC0JCWVycm9yICJab25lICcke3pv bmV9JyBkb2Vzbid0IGV4aXN0LiIKPiAtCQlleGl0ICR7RVhJVF9FUlJPUn0KPiAtCWZpCj4gLQo+ IC0JIyBTdG9wIGRoY2xpZW50IGZvciBJUHY2IG9uIHRoaXMgem9uZS4KPiAtCWRoY2xpZW50X3N0 b3AgIiR7em9uZX0iICJpcHY2Igo+IC0KPiAtCWV4aXQgJHtFWElUX09LfQo+IC19Cj4gLQo+IC1o b29rX3N0YXR1cygpIHsKPiAtCWxvY2FsIHpvbmU9IiR7MX0iCj4gLQlsb2NhbCBjb25maWc9IiR7 Mn0iCj4gLQlzaGlmdCAyCj4gLQo+IC0JaWYgISBkZXZpY2VfZXhpc3RzICIke3pvbmV9IjsgdGhl bgo+IC0JCWVycm9yICJab25lICcke3pvbmV9JyBkb2Vzbid0IGV4aXN0LiIKPiAtCQlleGl0ICR7 RVhJVF9FUlJPUn0KPiAtCWZpCj4gLQo+IC0Jem9uZV9jb25maWdfc2V0dGluZ3NfcmVhZCAiJHt6 b25lfSIgIiR7Y29uZmlnfSIKPiAtCj4gLQlsb2NhbCBzdGF0dXMKPiAtCWlmIGRoY2xpZW50X3N0 YXR1cyAiJHt6b25lfSIgImlwdjYiOyB0aGVuCj4gLQkJc3RhdHVzPSIke01TR19IT09LX1VQfSIK PiAtCWVsc2UKPiAtCQlzdGF0dXM9IiR7TVNHX0hPT0tfRE9XTn0iCj4gLQlmaQo+IC0JY2xpX3N0 YXR1c2xpbmUgMyAiJHtIT09LfSIgIiR7c3RhdHVzfSIKPiAtCj4gLQljbGlfcHJpbnRfZm10MSAz ICJJUHY2IGFkZHJlc3MiICIkKGRiX2dldAo+ICIke3pvbmV9L2lwdjYvbG9jYWwtaXAtYWRkcmVz cyIpIgo+IC0JbG9jYWwgZ2F0ZXdheT0iJChkYl9nZXQgIiR7em9uZX0vaXB2Ni9yZW1vdGUtaXAt YWRkcmVzcyIpIgo+IC0JaWYgaXNzZXQgZ2F0ZXdheTsgdGhlbgo+IC0JCWNsaV9wcmludF9mbXQx IDMgIkdhdGV3YXkiICIke2dhdGV3YXl9Igo+IC0JZmkKPiAtCWNsaV9zcGFjZQo+IC0KPiAtCWV4 aXQgJHtFWElUX09LfQo+IC19Cg== --===============8348669901311944553== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjIKCmlRSWNCQUFC Q2dBR0JRSlpYa0d4QUFvSkVJQjU4UDl2a0FrSGVha1ArZ090MEo3ZnNKL0lHMndLVDJuYlhmMXoK OEFWRld3VDhrZXA3Y1V5ZzRVMzgrRTBtN1FQRVpFek0yS3N3NlRzM01mV3kydS9Gd0xYUGIweHZr YnRxR1dVOApWZG5LT2lTU01icVNKVkpQODZZTHM2akl5LzNBd3Q4akZCS01ZbEFYVVhVeDJ1d0Z0 c3hBU1B1MDFQY2h0bVIyCnc2UlE4OGVYZzV0Rmk1bGRTc0NhWTA3WnVXK201Z2dPWHNJcnJON0ZT Qy80UC92dWMxcEVXbWlSOW5ZVXJNclEKWWpPSWFJQmx4R1BXQ3QyNVhvRmJIR1lLMlhxVmFRQkQr SHlySVZ0Vit1cXlnMExObmpiMlVqcHM3SEJLU05PcwpaWkpuWXNCS05pb2paaTRKQ3JOVXRHR1o5 VldMc3V4YkR6RFlCVSsvYUVPT3RIenhVMHJ4VDNqZWhRdnhHcWZGCldvNXArLzA4a2F6VHZOTi9D UlRSOHpiTzB1amlCVGQvUEQyWlVyaXdMNDhia0VlbE5LcUVTTkk5cVBmdUNZL1cKVnpTTWNPVmpV a2hzTVp3cmJMcEVYei9STDYwVStBK1JrblVKY05BbCs4blM4NVJxeFg2dVlSTVNlaGRHUWkvbgpZ NjQ4TTNlYTUvdnFzdFozODhwMmZYVlo5dUp4V3JOeW9pSE4vNzZQaXc2RHRKbzdqODZlNVJsY2xE c3RaV1VyCkpNaU4xekhjSkZqdlU3WFJDdm1nYmxsY01kQ1JqNDJDRTU4cVNXM0NHME84SzZudWRN K2VUbWtrN3BUYTF2bmkKNENKL0xabGhoSEpueVBwenV1aEdEYlFLMVFvRUw1VDhidm50dE1BNU00 cFBaMkpQUUd4VzVlci9SaW52dmNlVAplR1daQ2lobFFjb0NmbGpBYU1WUgo9WWRpSwotLS0tLUVO RCBQR1AgU0lHTkFUVVJFLS0tLS0K --===============8348669901311944553==--