From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752857Ab2KYALd (ORCPT ); Sat, 24 Nov 2012 19:11:33 -0500 Received: from mail-bk0-f46.google.com ([209.85.214.46]:53474 "EHLO mail-bk0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752696Ab2KYALc (ORCPT ); Sat, 24 Nov 2012 19:11:32 -0500 MIME-Version: 1.0 In-Reply-To: <50B16080.7040809@zytor.com> References: <1353482170-10160-1-git-send-email-yinghai@kernel.org> <1353482170-10160-12-git-send-email-yinghai@kernel.org> <50AD0CA1.8000904@zytor.com> <50AD291A.10600@zytor.com> <50AE70E7.6060204@zytor.com> <87haofi3d3.fsf@xmission.com> <50B104BC.90208@zytor.com> <50B124E9.400@zytor.com> <87vccud0i5.fsf@xmission.com> <50B16080.7040809@zytor.com> Date: Sat, 24 Nov 2012 16:11:30 -0800 X-Google-Sender-Auth: JG8oSLaei2A0-l6ew7B8t-MX5x0 Message-ID: Subject: Re: [PATCH v3 11/12] x86, boot: add fields to support load bzImage and ramdisk high From: Yinghai Lu To: "H. Peter Anvin" Cc: "Eric W. Biederman" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, Rob Landley , Matt Fleming Content-Type: multipart/mixed; boundary=001517590686a9725304cf46a824 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --001517590686a9725304cf46a824 Content-Type: text/plain; charset=ISO-8859-1 On Sat, Nov 24, 2012 at 4:04 PM, H. Peter Anvin wrote: > > It sounds like we are leaning toward some form of the sentinel hack, which > means we need an enumerated list of things that should *not* be zeroed if > the sentinel is present. > > The option of declaring the list frozen makes me a bit nervous, because it > isn't clear that we don't already have fields that will be misinterpreted by > the kernel if filled in from the file. USE_EXT_BOOT_PARAMS bit in xloadflags should work. --001517590686a9725304cf46a824 Content-Type: application/octet-stream; name="ext_ramdisk_image.patch" Content-Disposition: attachment; filename="ext_ramdisk_image.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h9xew4pg0 U3ViamVjdDogW1BBVENIXSB4ODYsIGJvb3Q6IGFkZCBmaWVsZHMgdG8gc3VwcG9ydCBsb2FkIGJ6 SW1hZ2UgYW5kIHJhbWRpc2sgYWJvdmUgNEcKCmV4dF9yYW1kaXNrX2ltYWdlL3NpemUgd2lsbCBy ZWNvcmQgaGlnaCAzMmJpdHMgZm9yIHJhbWRpc2sgaW5mby4KCnhsb2FkZmxhZ3MgYml0MCB3aWxs IGJlIHNldCBpZiByZWxvY2F0YWJsZSB3aXRoIDY0Yml0LgoKTGV0IGdldF9yYW1kaXNrX2ltYWdl L3NpemUgdG8gdXNlIGV4dF9yYW1kaXNrX2ltYWdlL3NpemUgdG8gZ2V0CnJpZ2h0IHBvc2l0b24g Zm9yIHJhbWRpc2suCgpib290bG9hZGVyIHdpbGwgZmlsbCB2YWx1ZSB0byBleHRfcmFtZGlza19p bWFnZS9zaXplIHdoZW4gaXQgbG9hZApyYW1kaXNrIGFib3ZlIDRHLgoKQWxzbyBib290bG9hZGVy IHdpbGwgY2hlY2sgaWYgeGxvYWRmbGFncyBiaXQwIGlzIHNldCB0byBkZWNpY2RlIGlmCml0IGNv dWxkIGxvYWQgcmFtZGlzayBoaWdoIGFib3ZlIDRHLgoKVXBkYXRlIGhlYWRlciB2ZXJzaW9uIHRv IDIuMTIuCgotdjI6IGFkZCBleHRfY21kX2xpbmVfcHRyIGZvciBhYm92ZSA0RyBzdXBwb3J0Lgot djM6IHVwZGF0ZSB0byB4bG9hZGZsYWdzIGZyb20gSFBBLgotdjQ6IHVzZSBmaWVsZHMgZnJvbSBi b290cGFyYW0gaW5zdGVhZCBzZXR1cF9oZWFkZXIgYWNjb3JpbmcgdG8gSFBBLgoKU2lnbmVkLW9m Zi1ieTogWWluZ2hhaSBMdSA8eWluZ2hhaUBrZXJuZWwub3JnPgpDYzogUm9iIExhbmRsZXkgPHJv YkBsYW5kbGV5Lm5ldD4KQ2M6IE1hdHQgRmxlbWluZyA8bWF0dC5mbGVtaW5nQGludGVsLmNvbT4K Ci0tLQogRG9jdW1lbnRhdGlvbi94ODYvYm9vdC50eHQgICAgICAgICB8ICAgMTkgKysrKysrKysr KysrKysrKysrLQogRG9jdW1lbnRhdGlvbi94ODYvemVyby1wYWdlLnR4dCAgICB8ICAgIDMgKysr CiBhcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvY21kbGluZS5jIHwgICAgMyArKysKIGFyY2gveDg2 L2Jvb3QvaGVhZGVyLlMgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrKystLQogYXJjaC94ODYv aW5jbHVkZS9hc20vYm9vdHBhcmFtLmggICB8ICAgMTAgKysrKysrKystLQogYXJjaC94ODYva2Vy bmVsL2hlYWQ2NC5jICAgICAgICAgICB8ICAgIDMgKysrCiBhcmNoL3g4Ni9rZXJuZWwvc2V0dXAu YyAgICAgICAgICAgIHwgICAgNiArKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKCkluZGV4OiBsaW51eC0yLjYvRG9jdW1lbnRhdGlvbi94ODYv Ym9vdC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtMi42Lm9yaWcvRG9jdW1lbnRhdGlvbi94ODYv Ym9vdC50eHQKKysrIGxpbnV4LTIuNi9Eb2N1bWVudGF0aW9uL3g4Ni9ib290LnR4dApAQCAtNTcs NiArNTcsOSBAQCBQcm90b2NvbCAyLjEwOgkoS2VybmVsIDIuNi4zMSkgQWRkZWQgYSBwCiBQcm90 b2NvbCAyLjExOgkoS2VybmVsIDMuNikgQWRkZWQgYSBmaWVsZCBmb3Igb2Zmc2V0IG9mIEVGSSBo YW5kb3ZlcgogCQlwcm90b2NvbCBlbnRyeSBwb2ludC4KIAorUHJvdG9jb2wgMi4xMjoJKEtlcm5l bCAzLjkpIEFkZGVkIHRocmVlIGZpZWxkcyBmb3IgbG9hZGluZyBiekltYWdlIGFuZAorCQkgcmFt ZGlzayBhYm92ZSA0RyB3aXRoIDY0Yml0IGluIGJvb3RwYXJhbS4KKwogKioqKiBNRU1PUlkgTEFZ T1VUCiAKIFRoZSB0cmFkaXRpb25hbCBtZW1vcnkgbWFwIGZvciB0aGUga2VybmVsIGxvYWRlciwg dXNlZCBmb3IgSW1hZ2Ugb3IKQEAgLTE4Miw3ICsxODUsNyBAQCBPZmZzZXQJUHJvdG8JTmFtZQkJ TWVhbmluZwogMDIzMC80CTIuMDUrCWtlcm5lbF9hbGlnbm1lbnQgUGh5c2ljYWwgYWRkciBhbGln bm1lbnQgcmVxdWlyZWQgZm9yIGtlcm5lbAogMDIzNC8xCTIuMDUrCXJlbG9jYXRhYmxlX2tlcm5l bCBXaGV0aGVyIGtlcm5lbCBpcyByZWxvY2F0YWJsZSBvciBub3QKIDAyMzUvMQkyLjEwKwltaW5f YWxpZ25tZW50CU1pbmltdW0gYWxpZ25tZW50LCBhcyBhIHBvd2VyIG9mIHR3bwotMDIzNi8yCU4v QQlwYWQzCQlVbnVzZWQKKzAyMzYvMgkyLjEyKwl4bG9hZGZsYWdzCUJvb3QgcHJvdG9jb2wgb3B0 aW9uIGZsYWdzCiAwMjM4LzQJMi4wNisJY21kbGluZV9zaXplCU1heGltdW0gc2l6ZSBvZiB0aGUg a2VybmVsIGNvbW1hbmQgbGluZQogMDIzQy80CTIuMDcrCWhhcmR3YXJlX3N1YmFyY2ggSGFyZHdh cmUgc3ViYXJjaGl0ZWN0dXJlCiAwMjQwLzgJMi4wNysJaGFyZHdhcmVfc3ViYXJjaF9kYXRhIFN1 YmFyY2hpdGVjdHVyZS1zcGVjaWZpYyBkYXRhCkBAIC01ODEsNiArNTg0LDIwIEBAIFByb3RvY29s OgkyLjEwKwogICBtaXNhbGlnbmVkIGtlcm5lbC4gIFRoZXJlZm9yZSwgYSBsb2FkZXIgc2hvdWxk IHR5cGljYWxseSB0cnkgZWFjaAogICBwb3dlci1vZi10d28gYWxpZ25tZW50IGZyb20ga2VybmVs X2FsaWdubWVudCBkb3duIHRvIHRoaXMgYWxpZ25tZW50LgogCitGaWVsZCBuYW1lOiAgICAgeGxv YWRmbGFncworVHlwZTogICAgICAgICAgIG1vZGlmeSAob2JsaWdhdG9yeSkKK09mZnNldC9zaXpl OiAgICAweDIzNi8yCitQcm90b2NvbDogICAgICAgMi4xMisKKworICBUaGlzIGZpZWxkIGlzIGEg Yml0bWFzay4KKworICBCaXQgMCAocmVhZCk6IENBTl9CRV9MT0FERURfQUJPVkVfNEcKKyAgICAg ICAgLSBJZiAxLCBrZXJuZWwvYm9vdF9wYXJhbXMvY21kbGluZS9yYW1kaXNrIGNhbiBiZSBhYm92 ZSA0ZywKKworICBCaXQgMTUgKHdyaXRlKTogVVNFX0VYVF9CT09UX1BBUkFNUworCS0gSWYgMSwg c2V0IGJ5IGJvb3Rsb2FkZXIsIGFuZCBrZXJuZWwgY291bGQgY2hlY2sgbmV3IGZpZWxkcworCQlp biBib290X3BhcmFtcyB0aGF0IGFyZSBhZGRlZCBmcm9tIDIuMTIgc2FmZWx5LgorCiBGaWVsZCBu YW1lOgljbWRsaW5lX3NpemUKIFR5cGU6CQlyZWFkCiBPZmZzZXQvc2l6ZToJMHgyMzgvNApJbmRl eDogbGludXgtMi42L2FyY2gveDg2L2Jvb3QvaGVhZGVyLlMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgt Mi42Lm9yaWcvYXJjaC94ODYvYm9vdC9oZWFkZXIuUworKysgbGludXgtMi42L2FyY2gveDg2L2Jv b3QvaGVhZGVyLlMKQEAgLTI3OSw3ICsyNzksNyBAQCBfc3RhcnQ6CiAJIyBQYXJ0IDIgb2YgdGhl IGhlYWRlciwgZnJvbSB0aGUgb2xkIHNldHVwLlMKIAogCQkuYXNjaWkJIkhkclMiCQkjIGhlYWRl ciBzaWduYXR1cmUKLQkJLndvcmQJMHgwMjBiCQkjIGhlYWRlciB2ZXJzaW9uIG51bWJlciAoPj0g MHgwMTA1KQorCQkud29yZAkweDAyMGMJCSMgaGVhZGVyIHZlcnNpb24gbnVtYmVyICg+PSAweDAx MDUpCiAJCQkJCSMgb3IgZWxzZSBvbGQgbG9hZGxpbi0xLjUgd2lsbCBmYWlsKQogCQkuZ2xvYmwg cmVhbG1vZGVfc3d0Y2gKIHJlYWxtb2RlX3N3dGNoOgkud29yZAkwLCAwCQkjIGRlZmF1bHRfc3dp dGNoLCBTRVRVUFNFRwpAQCAtMzY5LDcgKzM2OSwxNSBAQCByZWxvY2F0YWJsZV9rZXJuZWw6ICAg IC5ieXRlIDEKIHJlbG9jYXRhYmxlX2tlcm5lbDogICAgLmJ5dGUgMAogI2VuZGlmCiBtaW5fYWxp Z25tZW50OgkJLmJ5dGUgTUlOX0tFUk5FTF9BTElHTl9MRzIJIyBtaW5pbXVtIGFsaWdubWVudAot cGFkMzoJCQkud29yZCAwCisKK3hsb2FkZmxhZ3M6CitDQU5fQkVfTE9BREVEX0FCT1ZFXzRHCT0g MQkJIyBJZiBzZXQsIHRoZSBrZXJuZWwvYm9vdF9wYXJhbS8KKwkJCQkJIyByYW1kaXNrIGNvdWxk IGJlIGxvYWRlZCBhYm92ZSA0ZworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgJiYgZGVmaW5l ZChDT05GSUdfUkVMT0NBVEFCTEUpCisJCQkud29yZCBDQU5fQkVfTE9BREVEX0FCT1ZFXzRHCisj ZWxzZQorCQkJLndvcmQgMAorI2VuZGlmCiAKIGNtZGxpbmVfc2l6ZTogICAubG9uZyAgIENPTU1B TkRfTElORV9TSVpFLTEgICAgICNsZW5ndGggb2YgdGhlIGNvbW1hbmQgbGluZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhZGRlZCB3aXRoIGJvb3Qg cHJvdG9jb2wKSW5kZXg6IGxpbnV4LTIuNi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9ib290cGFyYW0u aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBsaW51eC0yLjYub3JpZy9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9ib290 cGFyYW0uaAorKysgbGludXgtMi42L2FyY2gveDg2L2luY2x1ZGUvYXNtL2Jvb3RwYXJhbS5oCkBA IC01Nyw3ICs1NywxMCBAQCBzdHJ1Y3Qgc2V0dXBfaGVhZGVyIHsKIAlfX3UzMglpbml0cmRfYWRk cl9tYXg7CiAJX191MzIJa2VybmVsX2FsaWdubWVudDsKIAlfX3U4CXJlbG9jYXRhYmxlX2tlcm5l bDsKLQlfX3U4CV9wYWQyWzNdOworCV9fdTgJbWluX2FsaWdubWVudDsKKwlfX3UxNgl4bG9hZGZs YWdzOworI2RlZmluZSBDQU5fQkVfTE9BREVEX0FCT1ZFXzRHCSgxPDwwKQorI2RlZmluZSBVU0Vf RVhUX0JPT1RfUEFSQU1TCQkoMTw8MTUpCiAJX191MzIJY21kbGluZV9zaXplOwogCV9fdTMyCWhh cmR3YXJlX3N1YmFyY2g7CiAJX191NjQJaGFyZHdhcmVfc3ViYXJjaF9kYXRhOwpAQCAtMTA1LDcg KzEwOCwxMCBAQCBzdHJ1Y3QgYm9vdF9wYXJhbXMgewogCV9fdTggIGhkMV9pbmZvWzE2XTsJLyog b2Jzb2xldGUhICovCQkvKiAweDA5MCAqLwogCXN0cnVjdCBzeXNfZGVzY190YWJsZSBzeXNfZGVz Y190YWJsZTsJCS8qIDB4MGEwICovCiAJc3RydWN0IG9scGNfb2Z3X2hlYWRlciBvbHBjX29md19o ZWFkZXI7CQkvKiAweDBiMCAqLwotCV9fdTggIF9wYWQ0WzEyOF07CQkJCS8qIDB4MGMwICovCisJ X191MzIgZXh0X3JhbWRpc2tfaW1hZ2U7CQkJLyogMHgwYzAgKi8KKwlfX3UzMiBleHRfcmFtZGlz a19zaXplOwkJCQkvKiAweDBjNCAqLworCV9fdTMyIGV4dF9jbWRfbGluZV9wdHI7CQkJCS8qIDB4 MGM4ICovCisJX191OCAgX3BhZDRbMTE2XTsJCQkJLyogMHgwY2MgKi8KIAlzdHJ1Y3QgZWRpZF9p bmZvIGVkaWRfaW5mbzsJCQkvKiAweDE0MCAqLwogCXN0cnVjdCBlZmlfaW5mbyBlZmlfaW5mbzsJ CQkvKiAweDFjMCAqLwogCV9fdTMyIGFsdF9tZW1fazsJCQkJLyogMHgxZTAgKi8KSW5kZXg6IGxp bnV4LTIuNi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaW51eC0yLjYu b3JpZy9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYworKysgbGludXgtMi42L2FyY2gveDg2L2tlcm5l bC9zZXR1cC5jCkBAIC0zMDIsMTIgKzMwMiwxOCBAQCBzdGF0aWMgdTY0IF9faW5pdCBnZXRfcmFt ZGlza19pbWFnZSh2b2lkCiB7CiAJdTY0IHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIu cmFtZGlza19pbWFnZTsKIAorCWlmIChib290X3BhcmFtcy5oZHIueGxvYWRmbGFncyAmIFVTRV9F WFRfQk9PVF9QQVJBTVMpCisJCXJhbWRpc2tfaW1hZ2UgfD0gKHU2NClib290X3BhcmFtcy5leHRf cmFtZGlza19pbWFnZSA8PCAzMjsKKwogCXJldHVybiByYW1kaXNrX2ltYWdlOwogfQogc3RhdGlj IHU2NCBfX2luaXQgZ2V0X3JhbWRpc2tfc2l6ZSh2b2lkKQogewogCXU2NCByYW1kaXNrX3NpemUg PSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwogCisJaWYgKGJvb3RfcGFyYW1zLmhkci54 bG9hZGZsYWdzICYgVVNFX0VYVF9CT09UX1BBUkFNUykKKwkJcmFtZGlza19zaXplIHw9ICh1NjQp Ym9vdF9wYXJhbXMuZXh0X3JhbWRpc2tfc2l6ZSA8PCAzMjsKKwogCXJldHVybiByYW1kaXNrX3Np emU7CiB9CiAKSW5kZXg6IGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvY21kbGlu ZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi5vcmlnL2FyY2gveDg2L2Jvb3QvY29tcHJlc3Nl ZC9jbWRsaW5lLmMKKysrIGxpbnV4LTIuNi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvY21kbGlu ZS5jCkBAIC0xNyw2ICsxNyw5IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9jbWRfbGluZV9w dHIodm8KIHsKIAl1bnNpZ25lZCBsb25nIGNtZF9saW5lX3B0ciA9IHJlYWxfbW9kZS0+aGRyLmNt ZF9saW5lX3B0cjsKIAorCWlmIChyZWFsX21vZGUtPmhkci54bG9hZGZsYWdzICYgVVNFX0VYVF9C T09UX1BBUkFNUykKKwkJY21kX2xpbmVfcHRyIHw9ICh1NjQpcmVhbF9tb2RlLT5leHRfY21kX2xp bmVfcHRyIDw8IDMyOworCiAJcmV0dXJuIGNtZF9saW5lX3B0cjsKIH0KIGludCBjbWRsaW5lX2Zp bmRfb3B0aW9uKGNvbnN0IGNoYXIgKm9wdGlvbiwgY2hhciAqYnVmZmVyLCBpbnQgYnVmc2l6ZSkK SW5kZXg6IGxpbnV4LTIuNi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g bGludXgtMi42Lm9yaWcvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCisrKyBsaW51eC0yLjYvYXJj aC94ODYva2VybmVsL2hlYWQ2NC5jCkBAIC00NSw2ICs0NSw5IEBAIHN0YXRpYyB1bnNpZ25lZCBs b25nIGdldF9jbWRfbGluZV9wdHIodm8KIHsKIAl1bnNpZ25lZCBsb25nIGNtZF9saW5lX3B0ciA9 IGJvb3RfcGFyYW1zLmhkci5jbWRfbGluZV9wdHI7CiAKKwlpZiAoYm9vdF9wYXJhbXMuaGRyLnhs b2FkZmxhZ3MgJiBVU0VfRVhUX0JPT1RfUEFSQU1TKQorCQljbWRfbGluZV9wdHIgfD0gKHU2NCli b290X3BhcmFtcy5leHRfY21kX2xpbmVfcHRyIDw8IDMyOworCiAJcmV0dXJuIGNtZF9saW5lX3B0 cjsKIH0KIApJbmRleDogbGludXgtMi42L0RvY3VtZW50YXRpb24veDg2L3plcm8tcGFnZS50eHQK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gbGludXgtMi42Lm9yaWcvRG9jdW1lbnRhdGlvbi94ODYvemVyby1wYWdl LnR4dAorKysgbGludXgtMi42L0RvY3VtZW50YXRpb24veDg2L3plcm8tcGFnZS50eHQKQEAgLTE5 LDYgKzE5LDkgQEAgT2Zmc2V0CVByb3RvCU5hbWUJCU1lYW5pbmcKIDA5MC8wMTAJQUxMCWhkMV9p bmZvCWhkMSBkaXNrIHBhcmFtZXRlciwgT0JTT0xFVEUhIQogMEEwLzAxMAlBTEwJc3lzX2Rlc2Nf dGFibGUJU3lzdGVtIGRlc2NyaXB0aW9uIHRhYmxlIChzdHJ1Y3Qgc3lzX2Rlc2NfdGFibGUpCiAw QjAvMDEwCUFMTAlvbHBjX29md19oZWFkZXIJT0xQQydzIE9wZW5GaXJtd2FyZSBDSUYgYW5kIGZy aWVuZHMKKzBDMC8wMDQgQUxMCWV4dF9yYW1kaXNrX2ltYWdlIHJhbWRpc2tfaW1hZ2UgaGlnaCAz MmJpdHMKKzBDNC8wMDQgQUxMCWV4dF9yYW1kaXNrX3NpemUgIHJhbWRpc2tfc2l6ZSBoaWdoIDMy Yml0cworMEM4LzAwNCBBTEwJZXh0X2NtZF9saW5lX3B0ciAgY21kX2xpbmVfcHRyIGhpZ2ggMzJi aXRzCiAxNDAvMDgwCUFMTAllZGlkX2luZm8JVmlkZW8gbW9kZSBzZXR1cCAoc3RydWN0IGVkaWRf aW5mbykKIDFDMC8wMjAJQUxMCWVmaV9pbmZvCUVGSSAzMiBpbmZvcm1hdGlvbiAoc3RydWN0IGVm aV9pbmZvKQogMUUwLzAwNAlBTEwJYWxrX21lbV9rCUFsdGVybmF0aXZlIG1lbSBjaGVjaywgaW4g S0IK --001517590686a9725304cf46a824--