From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751984AbYECStX (ORCPT ); Sat, 3 May 2008 14:49:23 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751030AbYECStM (ORCPT ); Sat, 3 May 2008 14:49:12 -0400 Received: from terminus.zytor.com ([198.137.202.10]:40227 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750848AbYECStL (ORCPT ); Sat, 3 May 2008 14:49:11 -0400 Message-ID: <481CB384.2070704@zytor.com> Date: Sat, 03 May 2008 11:48:36 -0700 From: "H. Peter Anvin" User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: hadi@cyberus.ca CC: Thomas Gleixner , Suresh Siddha , Arjan van de Ven , Ingo Molnar , LKML , Jan Beulich Subject: Re: i387/FPU init issues... References: <1209810775.6972.37.camel@localhost> <1209834123.6972.48.camel@localhost> In-Reply-To: <1209834123.6972.48.camel@localhost> Content-Type: multipart/mixed; boundary="------------070303030209060509040803" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------070303030209060509040803 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit jamal wrote: > > Indeed it does - thanks. > >> Please provide >> also output of /proc/cpuinfo. > > mambo:~# cat /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 3 > model name : Pentium II (Klamath) > stepping : 3 > cpu MHz : 1063.771 > cache size : 128 KB > fdiv_bug : no > hlt_bug : no > f00f_bug : no > coma_bug : no > fpu : yes > fpu_exception : yes > cpuid level : 2 > wp : yes > flags : fpu de pse tsc msr pae mce cx8 sep pge cmov mmx fxsr > sse sse2 > bogomips : 2160.92 > clflush size : 32 > power management: > This is very odd. Could you try running the attached C program on this processor and report the result? (Binary included for convenience.) Arjan: this seems to directly contradict the Intel documentation. Do you have any way to find out what the deal is with this? -hpa --------------070303030209060509040803 Content-Type: text/x-csrc; name="p6nops.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="p6nops.c" #include #include #include #include #include #include #define P6_NOP1 ".byte 0x90\n" #define P6_NOP2 ".byte 0x66,0x90\n" #define P6_NOP3 ".byte 0x0f,0x1f,0x00\n" #define P6_NOP4 ".byte 0x0f,0x1f,0x40,0\n" #define P6_NOP5 ".byte 0x0f,0x1f,0x44,0x00,0\n" #define P6_NOP6 ".byte 0x66,0x0f,0x1f,0x44,0x00,0\n" #define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n" #define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n" static sigjmp_buf bail_buf; static void sigill(int sig) { (void)sig; siglongjmp(bail_buf, 1); } static int do_test(int n) { struct sigaction old_sa, sa; int err; memset(&sa, 0, sizeof sa); sa.sa_handler = sigill; sigaction(SIGILL, &sa, &old_sa); err = sigsetjmp(bail_buf, 1); if (!err) { switch (n) { case -1: asm volatile("ud2a"); /* Test the mechanism */ break; case 0: asm volatile(""); break; case 1: asm volatile(P6_NOP1); break; case 2: asm volatile(P6_NOP2); break; case 3: asm volatile(P6_NOP3); break; case 4: asm volatile(P6_NOP4); break; case 5: asm volatile(P6_NOP5); break; case 6: asm volatile(P6_NOP6); break; case 7: asm volatile(P6_NOP7); break; case 8: asm volatile(P6_NOP8); break; default: abort(); } } sigaction(SIGILL, &old_sa, NULL); return err; } int main(void) { int i; int test, err = 0; if (!do_test(-1)) { printf("Trap mechanism broken!\n"); return 2; } for (i = 0; i <= 8; i++) { test = do_test(i); err |= test; printf("Test %d: %s\n", i, test ? "err" : "ok"); } return err; } --------------070303030209060509040803 Content-Type: application/octet-stream; name="p6nops" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="p6nops" f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAIIQECDQAAACAGwAAAAAAADQAIAAIACgAJgAjAAYA AAA0AAAANIAECDSABAgAAQAAAAEAAAUAAAAEAAAAAwAAADQBAAA0gQQINIEECBMAAAATAAAA BAAAAAEAAAABAAAAAAAAAACABAgAgAQIOAgAADgIAAAFAAAAABAAAAEAAAA4CAAAOJgECDiY BAgUAQAA5AEAAAYAAAAAEAAAAgAAAEwIAABMmAQITJgECMgAAADIAAAABgAAAAQAAAAEAAAA SAEAAEiBBAhIgQQIRAAAAEQAAAAEAAAABAAAAFDldGTEBwAAxIcECMSHBAgcAAAAHAAAAAQA AAAEAAAAUeV0ZAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAQAAAAvbGliL2xkLWxpbnV4LnNv LjIAAAQAAAAQAAAAAQAAAEdOVQAAAAAAAgAAAAYAAAAJAAAABAAAABQAAAADAAAAR05VAKbR wv8t/CfBQCcMLP37YITwT6ZeAgAAAAoAAAABAAAABQAAAAAgACAAAAAACgAAAK1L48AAAAAA AAAAAAAAAAAAAAAALgAAAAAAAABnAgAAEgAAAAEAAAAAAAAAAAAAACAAAAA7AAAAAAAAAEMA AAASAAAAYwAAAAAAAAC2AQAAEgAAAE4AAAAAAAAAbQAAABIAAABZAAAAAAAAAGEBAAASAAAA NAAAAAAAAAA5AAAAEgAAACkAAAAAAAAAjwEAABIAAABCAAAAAAAAADUAAAASAAAAGgAAAGiH BAgEAAAAEQAPAABfX2dtb25fc3RhcnRfXwBsaWJjLnNvLjYAX0lPX3N0ZGluX3VzZWQAcHV0 cwBhYm9ydABwcmludGYAbWVtc2V0AF9fc2lnc2V0am1wAHNpZ2xvbmdqbXAAc2lnYWN0aW9u AF9fbGliY19zdGFydF9tYWluAEdMSUJDXzIuMAAAAAACAAAAAgACAAIAAgACAAIAAgABAAAA AQABABAAAAAQAAAAAAAAABBpaQ0AAAIAdQAAAAAAAAAUmQQIBgIAACSZBAgHAQAAKJkECAcC AAAsmQQIBwMAADCZBAgHBAAANJkECAcFAAA4mQQIBwYAADyZBAgHBwAAQJkECAcIAABEmQQI BwkAAFWJ5YPsCOjVAAAA6FwBAADopwMAAMnDAP81HJkECP8lIJkECAAAAAD/JSSZBAhoAAAA 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 EwAAAwEBARNJEwAABCEASRMvCwAABSQAAw4LCz4LAAAGJAADCAsLPgsAAAcTAQETCws6CzsL AAAIDQADDjoLOwtJEzgKAAAJEwEBEwMOCws6CzsLAAAKDwALCwAACw8ACwtJEwAADBUBARMn DAAADQUASRMAAA4XAQETAw4LCzoLOwsAAA8NAAMOOgs7C0kTAAAQFwEBEwsLOgs7CwAAEQ0A Awg6CzsLSRMAABIVACcMAAATDQADDjoLOwVJEzgKAAAUFgADDjoLOwsAABUuAQETAw46CzsL JwxJExEBEgFABgAAFgUAAwg6CzsLSRMCBgAAFzQAAw46CzsLSRMCCgAAGDQAAwg6CzsLSRMC CgAAGTQAAwg6CzsLSRMCBgAAGi4BARM/DAMOOgs7CycMSRMRARIBQAYAABs0AAMOOgs7C0kT AgYAABwuAQETAw46CzsLJwwRARIBQAYAAB0FAAMIOgs7C0kTAgoAAB40AAMOOgs7C0kTPww8 DAAAACUBAAACAOYAAAABAfsODQABAQEBAAAAAQAAAS91c3IvaW5jbHVkZS9iaXRzAC91c3Iv aW5jbHVkZQAvdXNyL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC80LjEuMi9pbmNsdWRl AABwNm5vcHMuYwAAAABzaWdhY3Rpb24uaAABAABzaWduYWwuaAACAABzaWdpbmZvLmgAAQAA dHlwZXMuaAABAABzaWdzZXQuaAABAABzZXRqbXAuaAACAABzZXRqbXAuaAABAABzdGRpby5o AAIAAGxpYmlvLmgAAgAAc3RkZGVmLmgAAwAAAAAFAgCFBAgDGQH2CMmfCJIIWUsITE0/hVuv d5OToTFcCMqvCIbXCC+idS8I/YkDt38IIGgCFAABAQAAABAAAAD/////AQABfAgMBASIAQAA GAAAAAAAAAAAhQQI8wAAAEEOCIUCQg0FR4MDACgAAAAAAAAA84UECIkAAABEDAEACQQBRgwE BEEOCIUCQg0FTIYDgwSEBQAAFAAAAAAAAAB8hgQIGgAAAEEOCIUCQg0Fc3Rkb3V0AHNpX3N0 YXR1cwBzYV9zaWdhY3Rpb24AX19vZmY2NF90AF9zaG9ydGJ1ZgBfSU9fbG9ja190AF9JT19i dWZfZW5kAHNhX3Jlc3RvcmVyAF9JT193cml0ZV9lbmQAc2lnaW5mb190AGRvX3Rlc3QAX3Rp bWVyAF9tYXJrZXJzAHNob3J0IGludABzaWd2YWxfdABHTlUgQyA0LjEuMiAyMDA3MDkyNSAo UmVkIEhhdCA0LjEuMi0zMykAYmFpbF9idWYAc2FfbWFzawBfcG9zAF9fc2lnc2V0X3QAbG9u ZyBsb25nIHVuc2lnbmVkIGludABfcGFkAHNpX3V0aW1lAF9fc2lnYWN0aW9uX2hhbmRsZXIA X19qbXBfYnVmAF9fc2lnaGFuZGxlcl90AF9JT19iYWNrdXBfYmFzZQBzaWdpbmZvAF9zaWdj aGxkAHNpemVfdABfdnRhYmxlX29mZnNldABzaV90aWQAc2lfZXJybm8AX0lPX3JlYWRfYmFz ZQBfSU9fc2F2ZV9lbmQAX25leHQAc2lfYWRkcgBfX2ptcGJ1ZgBfSU9fd3JpdGVfYmFzZQBz aV9iYW5kAF9raWxsAHNhX2hhbmRsZXIAcDZub3BzLmMAX0lPX21hcmtlcgBfX3BpZF90AF9m aWxlbm8AbG9uZyBsb25nIGludABfc2lmaWVsZHMAX0lPX3NhdmVfYmFzZQBfX3F1YWRfdABf X3BhZDEAX19wYWQyAF9fcGFkMwBfX3BhZDQAX19wYWQ1AF9fY2xvY2tfdABzaWdqbXBfYnVm AF9fdmFsAF9tb2RlAF9zaWdmYXVsdABzaWdpbGwAbWFpbgBfSU9fcmVhZF9lbmQAc3RkaW4A c2lfdWlkAF9fdWlkX3QAc2lfcGlkAF9fbWFza193YXNfc2F2ZWQAX19zYXZlZF9tYXNrAF9s b2NrAF9vbGRfb2Zmc2V0AF9JT19GSUxFAHNpdmFsX2ludABzaV9mZAB1bnNpZ25lZCBjaGFy AF9zYnVmAF9JT193cml0ZV9wdHIAc2lfc2lndmFsAHNpX2NvZGUAb2xkX3NhAHNpX3NpZ25v AF9fb2ZmX3QAc2hvcnQgdW5zaWduZWQgaW50AC9ob21lL2hwYS9rZXJuZWwvcDZub3BzAHNh X2ZsYWdzAF9zaWdwb2xsAF9JT19yZWFkX3B0cgBfY2hhaW4Ac2lfc3RpbWUAX2ZsYWdzMgBz aXZhbF9wdHIAX2N1cl9jb2x1bW4AX3VudXNlZDIAX0lPX2J1Zl9iYXNlAF9fam1wX2J1Zl90 YWcAc2lfb3ZlcnJ1bgAAAAAAAQAAAAIAdAQBAAAAAwAAAAIAdAgDAAAA8wAAAAIAdQgAAAAA AAAAAAAAAAAuAAAAAQBQLgAAAPMAAAADAHXYfQAAAAAAAAAAaAAAAGwAAAABAFNsAAAAcgAA AAEAUHIAAADxAAAAAQBTAAAAAAAAAADzAAAA9wAAAAIAdAT3AAAA/QAAAAEAUf0AAAD+AAAA AgB0BP4AAAAAAQAAAgB0CAABAAB8AQAAAgB1CAAAAAAAAAAAMgEAAHIBAAABAFMAAAAAAAAA AEABAABiAQAAAQBQAAAAAAAAAAArAQAALQEAAAEAVjcBAAB1AQAAAQBWAAAAAAAAAAB8AQAA fQEAAAIAdAR9AQAAfwEAAAIAdAh/AQAAlgEAAAIAdQgAAAAAAAAAAAAuc3ltdGFiAC5zdHJ0 YWIALnNoc3RydGFiAC5pbnRlcnAALm5vdGUuQUJJLXRhZwAubm90ZS5nbnUuYnVpbGQtaWQA LmdudS5oYXNoAC5keW5zeW0ALmR5bnN0cgAuZ251LnZlcnNpb24ALmdudS52ZXJzaW9uX3IA LnJlbC5keW4ALnJlbC5wbHQALmluaXQALnRleHQALmZpbmkALnJvZGF0YQAuZWhfZnJhbWVf aGRyAC5laF9mcmFtZQAuY3RvcnMALmR0b3JzAC5qY3IALmR5bmFtaWMALmdvdAAuZ290LnBs dAAuZGF0YQAuYnNzAC5jb21tZW50AC5kZWJ1Z19hcmFuZ2VzAC5kZWJ1Z19wdWJuYW1lcwAu ZGVidWdfaW5mbwAuZGVidWdfYWJicmV2AC5kZWJ1Z19saW5lAC5kZWJ1Z19mcmFtZQAuZGVi dWdfc3RyAC5kZWJ1Z19sb2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAGwAAAAEAAAACAAAANIEECDQBAAATAAAAAAAAAAAAAAABAAAAAAAAACMAAAAHAAAA AgAAAEiBBAhIAQAAIAAAAAAAAAAAAAAABAAAAAAAAAAxAAAABwAAAAIAAABogQQIaAEAACQA AAAAAAAAAAAAAAQAAAAAAAAARAAAAPb//28CAAAAjIEECIwBAAAgAAAABQAAAAAAAAAEAAAA BAAAAE4AAAALAAAAAgAAAKyBBAisAQAAsAAAAAYAAAABAAAABAAAABAAAABWAAAAAwAAAAIA AABcggQIXAIAAH8AAAAAAAAAAAAAAAEAAAAAAAAAXgAAAP///28CAAAA3IIECNwCAAAWAAAA BQAAAAAAAAACAAAAAgAAAGsAAAD+//9vAgAAAPSCBAj0AgAAIAAAAAYAAAABAAAABAAAAAAA AAB6AAAACQAAAAIAAAAUgwQIFAMAAAgAAAAFAAAAAAAAAAQAAAAIAAAAgwAAAAkAAAACAAAA HIMECBwDAABIAAAABQAAAAwAAAAEAAAACAAAAIwAAAABAAAABgAAAGSDBAhkAwAAFwAAAAAA AAAAAAAABAAAAAAAAACHAAAAAQAAAAYAAAB8gwQIfAMAAKAAAAAAAAAAAAAAAAQAAAAEAAAA kgAAAAEAAAAGAAAAIIQECCAEAAAoAwAAAAAAAAAAAAAQAAAAAAAAAJgAAAABAAAABgAAAEiH BAhIBwAAHAAAAAAAAAAAAAAABAAAAAAAAACeAAAAAQAAAAIAAABkhwQIZAcAAF8AAAAAAAAA AAAAAAQAAAAAAAAApgAAAAEAAAACAAAAxIcECMQHAAAcAAAAAAAAAAAAAAAEAAAAAAAAALQA AAABAAAAAgAAAOCHBAjgBwAAWAAAAAAAAAAAAAAABAAAAAAAAAC+AAAAAQAAAAMAAAA4mAQI OAgAAAgAAAAAAAAAAAAAAAQAAAAAAAAAxQAAAAEAAAADAAAAQJgECEAIAAAIAAAAAAAAAAAA AAAEAAAAAAAAAMwAAAABAAAAAwAAAEiYBAhICAAABAAAAAAAAAAAAAAABAAAAAAAAADRAAAA BgAAAAMAAABMmAQITAgAAMgAAAAGAAAAAAAAAAQAAAAIAAAA2gAAAAEAAAADAAAAFJkECBQJ AAAEAAAAAAAAAAAAAAAEAAAABAAAAN8AAAABAAAAAwAAABiZBAgYCQAAMAAAAAAAAAAAAAAA BAAAAAQAAADoAAAAAQAAAAMAAABImQQISAkAAAQAAAAAAAAAAAAAAAQAAAAAAAAA7gAAAAgA AAADAAAAYJkECEwJAAC8AAAAAAAAAAAAAAAgAAAAAAAAAPMAAAABAAAAAAAAAAAAAABMCQAA FAEAAAAAAAAAAAAAAQAAAAAAAAD8AAAAAQAAAAAAAAAAAAAAYAoAACAAAAAAAAAAAAAAAAEA AAAAAAAACwEAAAEAAAAAAAAAAAAAAIAKAAAbAAAAAAAAAAAAAAABAAAAAAAAABsBAAABAAAA AAAAAAAAAACbCgAANgcAAAAAAAAAAAAAAQAAAAAAAAAnAQAAAQAAAAAAAAAAAAAA0REAAJsB AAAAAAAAAAAAAAEAAAAAAAAANQEAAAEAAAAAAAAAAAAAAGwTAAApAQAAAAAAAAAAAAABAAAA AAAAAEEBAAABAAAAAAAAAAAAAACYFAAAdAAAAAAAAAAAAAAABAAAAAAAAABOAQAAAQAAADAA AAAAAAAADBUAAOYDAAAAAAAAAAAAAAEAAAABAAAAWQEAAAEAAAAAAAAAAAAAAPIYAAAoAQAA AAAAAAAAAAABAAAAAAAAABEAAAADAAAAAAAAAAAAAAAaGgAAZAEAAAAAAAAAAAAAAQAAAAAA AAABAAAAAgAAAAAAAAAAAAAAcCEAADAFAAAlAAAAOQAAAAQAAAAQAAAACQAAAAMAAAAAAAAA AAAAAKAmAACbAgAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANIEECAAA AAADAAEAAAAAAEiBBAgAAAAAAwACAAAAAABogQQIAAAAAAMAAwAAAAAAjIEECAAAAAADAAQA AAAAAKyBBAgAAAAAAwAFAAAAAABcggQIAAAAAAMABgAAAAAA3IIECAAAAAADAAcAAAAAAPSC BAgAAAAAAwAIAAAAAAAUgwQIAAAAAAMACQAAAAAAHIMECAAAAAADAAoAAAAAAGSDBAgAAAAA AwALAAAAAAB8gwQIAAAAAAMADAAAAAAAIIQECAAAAAADAA0AAAAAAEiHBAgAAAAAAwAOAAAA AABkhwQIAAAAAAMADwAAAAAAxIcECAAAAAADABAAAAAAAOCHBAgAAAAAAwARAAAAAAA4mAQI AAAAAAMAEgAAAAAAQJgECAAAAAADABMAAAAAAEiYBAgAAAAAAwAUAAAAAABMmAQIAAAAAAMA FQAAAAAAFJkECAAAAAADABYAAAAAABiZBAgAAAAAAwAXAAAAAABImQQIAAAAAAMAGAAAAAAA YJkECAAAAAADABkAAAAAAAAAAAAAAAAAAwAaAAAAAAAAAAAAAAAAAAMAGwAAAAAAAAAAAAAA AAADABwAAAAAAAAAAAAAAAAAAwAdAAAAAAAAAAAAAAAAAAMAHgAAAAAAAAAAAAAAAAADAB8A AAAAAAAAAAAAAAAAAwAgAAAAAAAAAAAAAAAAAAMAIQAAAAAAAAAAAAAAAAADACIAAQAAAESE BAgAAAAAAgANABEAAAAAAAAAAAAAAAQA8f8cAAAAOJgECAAAAAABABIAKgAAAECYBAgAAAAA AQATADgAAABImAQIAAAAAAEAFABFAAAAYJkECAQAAAABABkAUwAAAGSZBAgBAAAAAQAZAGIA AABwhAQIAAAAAAIADQB4AAAA0IQECAAAAAACAA0AEQAAAAAAAAAAAAAABADx/4QAAAA8mAQI AAAAAAEAEgCRAAAANIgECAAAAAABABEAnwAAAEiYBAgAAAAAAQAUAKsAAAAghwQIAAAAAAIA DQDBAAAAAAAAAAAAAAAEAPH/ygAAAACFBAjzAAAAAgANANIAAAB8hgQIGgAAAAIADQDZAAAA gJkECJwAAAABABkA4gAAABiZBAgAAAAAAQIXAPgAAAA4mAQIAAAAAAACEgAJAQAAOJgECAAA AAAAAhIAHAEAAEyYBAgAAAAAAQIVACUBAABImQQIAAAAACAAGAAwAQAAAAAAAGcCAAASAAAA QQEAAKCGBAgFAAAAEgANAFEBAAAghAQIAAAAABIADQBYAQAAAAAAAAAAAAAgAAAAZwEAAAAA AAAAAAAAIAAAAHsBAABkhwQIBAAAABEADwCCAQAASIcECAAAAAASAA4AiAEAAAAAAABDAAAA EgAAAJoBAAAAAAAAtgEAABIAAAC3AQAAaIcECAQAAAARAA8AxgEAAAAAAABtAAAAEgAAANwB AABImQQIAAAAABAAGADpAQAAAAAAAGEBAAASAAAA/gEAAGyHBAgAAAAAEQIPAAsCAABEmAQI AAAAABECEwAYAgAAsIYECGkAAAASAA0AKAIAAAAAAAA5AAAAEgAAADoCAABMmQQIAAAAABAA 8f9GAgAAHJoECAAAAAAQAPH/SwIAAAAAAACPAQAAEgAAAFsCAABMmQQIAAAAABAA8f9iAgAA AAAAADUAAAASAAAAeQIAABmHBAgAAAAAEgINAJACAADzhQQIiQAAABIADQCVAgAAZIMECAAA AAASAAsAAGNhbGxfZ21vbl9zdGFydABjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9S X0xJU1RfXwBfX0pDUl9MSVNUX18AZHRvcl9pZHguNTY2MgBjb21wbGV0ZWQuNTY2MABfX2Rv X2dsb2JhbF9kdG9yc19hdXgAZnJhbWVfZHVtbXkAX19DVE9SX0VORF9fAF9fRlJBTUVfRU5E X18AX19KQ1JfRU5EX18AX19kb19nbG9iYWxfY3RvcnNfYXV4AHA2bm9wcy5jAGRvX3Rlc3QA c2lnaWxsAGJhaWxfYnVmAF9HTE9CQUxfT0ZGU0VUX1RBQkxFXwBfX2luaXRfYXJyYXlfZW5k AF9faW5pdF9hcnJheV9zdGFydABfRFlOQU1JQwBkYXRhX3N0YXJ0AGFib3J0QEBHTElCQ18y LjAAX19saWJjX2NzdV9maW5pAF9zdGFydABfX2dtb25fc3RhcnRfXwBfSnZfUmVnaXN0ZXJD bGFzc2VzAF9mcF9odwBfZmluaQBtZW1zZXRAQEdMSUJDXzIuMABfX2xpYmNfc3RhcnRfbWFp bkBAR0xJQkNfMi4wAF9JT19zdGRpbl91c2VkAHNpZ2xvbmdqbXBAQEdMSUJDXzIuMABfX2Rh dGFfc3RhcnQAc2lnYWN0aW9uQEBHTElCQ18yLjAAX19kc29faGFuZGxlAF9fRFRPUl9FTkRf XwBfX2xpYmNfY3N1X2luaXQAcHJpbnRmQEBHTElCQ18yLjAAX19ic3Nfc3RhcnQAX2VuZABw dXRzQEBHTElCQ18yLjAAX2VkYXRhAF9fc2lnc2V0am1wQEBHTElCQ18yLjAAX19pNjg2Lmdl dF9wY190aHVuay5ieABtYWluAF9pbml0AA== --------------070303030209060509040803--