From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11454 invoked by alias); 16 Nov 2008 08:26:52 -0000 Received: (qmail 11256 invoked by uid 22791); 16 Nov 2008 08:26:49 -0000 X-Spam-Check-By: sourceware.org Received: from ti-out-0910.google.com (HELO ti-out-0910.google.com) (209.85.142.188) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 16 Nov 2008 08:26:14 +0000 Received: by ti-out-0910.google.com with SMTP id d10so1449424tib.12 for ; Sun, 16 Nov 2008 00:26:11 -0800 (PST) Received: by 10.110.50.19 with SMTP id x19mr3450352tix.53.1226823971315; Sun, 16 Nov 2008 00:26:11 -0800 (PST) Received: by 10.110.103.3 with HTTP; Sun, 16 Nov 2008 00:26:11 -0800 (PST) Message-ID: Date: Mon, 17 Nov 2008 09:28:00 -0000 From: teawater To: "gdb-patches@sourceware.org" Subject: [RFA] Resubmit process record and replay, 9/10 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_40515_17107822.1226823971291" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-11/txt/msg00417.txt.bz2 ------=_Part_40515_17107822.1226823971291 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-length: 2989 This patch add code make process record and replay can record I386 Linux system call execute log. 2008-11-16 Hui Zhu I386 Linux process record and replay support. * i386-linux-tdep.c (linux_record_tdep): New variable. This struct has the argument for the function "record_linux_system_call". (i386_linux_intx80_sysenter_record): New function. Parse the system call instruction and call function "record_linux_system_call" record execute log. (i386_linux_init_abi): Initialize "linux_record_tdep". Set "i386_linux_intx80_sysenter_record" to "i386_intx80_record" and "i386_sysenter_record". i386-linux-tdep.c | 318 +++++++++++++++++++++++++++++++++++++++++++++++++= +++++ 1 file changed, 318 insertions(+) Following is the diff with the previous patch: @@ -11,7 +11,7 @@ /* Supported register note sections. */ static struct core_regset_section i386_linux_regset_sections[] =3D { -@@ -346,6 +350,37 @@ i386_linux_write_pc (struct regcache *re +@@ -346,6 +350,37 @@ restarted. */ regcache_cooked_write_unsigned (regcache, I386_LINUX_ORIG_EAX_REGNUM, -= 1); } @@ -20,7 +20,7 @@ + values of the registers and memory that will be changed in current sys= tem + call instruction to "record_arch_list". This instruction is "int 0x80" (Linux + Kernel2.4) or "sysenter" (Linux Kernel 2.6). -+ Return -1 if something wrong. */ ++ Return -1 if something wrong. */ + +static linux_record_tdep_t linux_record_tdep; + @@ -38,7 +38,7 @@ + return ret; + } + -+ /* Record the return of system call. */ ++ /* Record the return of system call. */ + if (record_arch_list_add_reg (I386_EAX_REGNUM)) + { + return -1; @@ -49,12 +49,13 @@ =0C /* The register sets used in GNU/Linux ELF core-dumps are identical to -@@ -413,6 +448,144 @@ static int i386_linux_sc_reg_offset[] =3D +@@ -413,6 +448,145 @@ 0 * 4 /* %gs */ }; -+/* These macros are the size of the type that will be use in system call. The values of -+ these macros are gotten from Linux Kernel source. */ ++/* These macros are the size of the type that will be used in system ++ call. The values of these macros are gotten from Linux Kernel ++ source. */ +#define I386_RECORD_SIZE__old_kernel_stat 32 +#define I386_RECORD_SIZE_tms 16 +#define I386_RECORD_SIZE_loff_t 8 @@ -124,7 +125,7 @@ + +/* These macros are the values of the second argument of system call + "sys_ioctl". The values of these macros are gotten from Linux Kernel -+ source. */ ++ source. */ +#define I386_RECORD_IOCTL_TCGETS 0x5401 +#define I386_RECORD_IOCTL_TCSETS 0x5402 +#define I386_RECORD_IOCTL_TCSETSW 0x5403 @@ -194,7 +195,7 @@ static void i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) { -@@ -440,6 +613,150 @@ i386_linux_init_abi (struct gdbarch_info +@@ -440,6 +614,150 @@ tdep->sc_reg_offset =3D i386_linux_sc_reg_offset; tdep->sc_num_regs =3D ARRAY_SIZE (i386_linux_sc_reg_offset); ------=_Part_40515_17107822.1226823971291 Content-Type: text/plain; name=9-i386-linux-tdep.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fnlfb04r0 Content-Disposition: attachment; filename=9-i386-linux-tdep.txt Content-length: 22717 LS0tIGEvaTM4Ni1saW51eC10ZGVwLmMKKysrIGIvaTM4Ni1saW51eC10ZGVw LmMKQEAgLTM3LDYgKzM3LDEwIEBACiAjaW5jbHVkZSAiYXJjaC11dGlscy5o IgogI2luY2x1ZGUgInJlZ3NldC5oIgogCisjaW5jbHVkZSAicmVjb3JkLmgi CisjaW5jbHVkZSAibGludXgtcmVjb3JkLmgiCisjaW5jbHVkZSA8c3RkaW50 Lmg+CisKIC8qIFN1cHBvcnRlZCByZWdpc3RlciBub3RlIHNlY3Rpb25zLiAg Ki8KIHN0YXRpYyBzdHJ1Y3QgY29yZV9yZWdzZXRfc2VjdGlvbiBpMzg2X2xp bnV4X3JlZ3NldF9zZWN0aW9uc1tdID0KIHsKQEAgLTM0Niw2ICszNTAsMzcg QEAKICAgICAgcmVzdGFydGVkLiAgKi8KICAgcmVnY2FjaGVfY29va2VkX3dy aXRlX3Vuc2lnbmVkIChyZWdjYWNoZSwgSTM4Nl9MSU5VWF9PUklHX0VBWF9S RUdOVU0sIC0xKTsKIH0KKworLyogUGFyc2UgdGhlIGFyZ3VtZW50cyBvZiBj dXJyZW50IHN5c3RlbSBjYWxsIGluc3RydWN0aW9uIGFuZCByZWNvcmQgdGhl CisgICB2YWx1ZXMgb2YgdGhlIHJlZ2lzdGVycyBhbmQgbWVtb3J5IHRoYXQg d2lsbCBiZSBjaGFuZ2VkIGluIGN1cnJlbnQgc3lzdGVtCisgICBjYWxsIGlu c3RydWN0aW9uIHRvICJyZWNvcmRfYXJjaF9saXN0Ii4gVGhpcyBpbnN0cnVj dGlvbiBpcyAiaW50IDB4ODAiIChMaW51eAorICAgS2VybmVsMi40KSBvciAi c3lzZW50ZXIiIChMaW51eCBLZXJuZWwgMi42KS4KKyAgIFJldHVybiAtMSBp ZiBzb21ldGhpbmcgd3JvbmcuICAqLworCitzdGF0aWMgbGludXhfcmVjb3Jk X3RkZXBfdCBsaW51eF9yZWNvcmRfdGRlcDsKKworc3RhdGljIGludAoraTM4 Nl9saW51eF9pbnR4ODBfc3lzZW50ZXJfcmVjb3JkICh2b2lkKQoreworICBp bnQgcmV0OworICB1aW50MzJfdCB0bXB1MzI7CisKKyAgcmVnY2FjaGVfcmF3 X3JlYWQgKHJlY29yZF9yZWdjYWNoZSwgSTM4Nl9FQVhfUkVHTlVNLCAoZ2Ri X2J5dGUgKikgJiB0bXB1MzIpOworCisgIHJldCA9IHJlY29yZF9saW51eF9z eXN0ZW1fY2FsbCAodG1wdTMyLCAmbGludXhfcmVjb3JkX3RkZXApOworICBp ZiAocmV0KQorICAgIHsKKyAgICAgIHJldHVybiByZXQ7CisgICAgfQorCisg IC8qIFJlY29yZCB0aGUgcmV0dXJuIG9mIHN5c3RlbSBjYWxsLiAgKi8KKyAg aWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAoSTM4Nl9FQVhfUkVHTlVN KSkKKyAgICB7CisgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgIHJldHVy biAwOworfQogDAogCiAvKiBUaGUgcmVnaXN0ZXIgc2V0cyB1c2VkIGluIEdO VS9MaW51eCBFTEYgY29yZS1kdW1wcyBhcmUgaWRlbnRpY2FsIHRvCkBAIC00 MTMsNiArNDQ4LDE0NSBAQAogICAwICogNAkJCQkvKiAlZ3MgKi8KIH07CiAK Ky8qIFRoZXNlIG1hY3JvcyBhcmUgdGhlIHNpemUgb2YgdGhlIHR5cGUgdGhh dCB3aWxsIGJlIHVzZWQgaW4gc3lzdGVtCisgICBjYWxsLiAgVGhlIHZhbHVl cyBvZiB0aGVzZSBtYWNyb3MgYXJlIGdvdHRlbiBmcm9tIExpbnV4IEtlcm5l bAorICAgc291cmNlLiAgKi8KKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9f b2xkX2tlcm5lbF9zdGF0CTMyCisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVf dG1zCQkJMTYKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9sb2ZmX3QJCQk4 CisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfZmxvY2sJCQkxNgorI2RlZmlu ZSBJMzg2X1JFQ09SRF9TSVpFX29sZG9sZF91dHNuYW1lCQk0NQorI2RlZmlu ZSBJMzg2X1JFQ09SRF9TSVpFX3VzdGF0CQkJMjAKKyNkZWZpbmUgSTM4Nl9S RUNPUkRfU0laRV9vbGRfc2lnYWN0aW9uCQkxNDAKKyNkZWZpbmUgSTM4Nl9S RUNPUkRfU0laRV9vbGRfc2lnc2V0X3QJCTEyOAorI2RlZmluZSBJMzg2X1JF Q09SRF9TSVpFX3JsaW1pdAkJCTgKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0la RV9ydXNhZ2UJCQk3MgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3RpbWV2 YWwJCTgKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV90aW1lem9uZQkJOAor I2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX29sZF9naWRfdAkJMgorI2RlZmlu ZSBJMzg2X1JFQ09SRF9TSVpFX29sZF91aWRfdAkJMgorI2RlZmluZSBJMzg2 X1JFQ09SRF9TSVpFX2ZkX3NldAkJCTEyOAorI2RlZmluZSBJMzg2X1JFQ09S RF9TSVpFX2RpcmVudAkJCTI2OAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpF X2RpcmVudDY0CQkyNzYKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9zdGF0 ZnMJCQk2NAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3N0YXRmczY0CQk4 NAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3NvY2thZGRyCQkxNgorI2Rl ZmluZSBJMzg2X1JFQ09SRF9TSVpFX2ludAkJCTQKKyNkZWZpbmUgSTM4Nl9S RUNPUkRfU0laRV9sb25nCQkJNAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpF X3Vsb25nCQkJNAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX21zZ2hkcgkJ CTI4CisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfaXRpbWVydmFsCQkxNgor I2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3N0YXQJCQk4OAorI2RlZmluZSBJ Mzg2X1JFQ09SRF9TSVpFX29sZF91dHNuYW1lCQkzMjUKKyNkZWZpbmUgSTM4 Nl9SRUNPUkRfU0laRV9zeXNpbmZvCQk2NAorI2RlZmluZSBJMzg2X1JFQ09S RF9TSVpFX21zcWlkX2RzCQk4OAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpF X3NobWlkX2RzCQk4NAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX25ld191 dHNuYW1lCQkzOTAKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV90aW1leAkJ CTEyOAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX21lbV9kcWluZm8JCTI0 CisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfaWZfZHFibGsJCTY4CisjZGVm aW5lIEkzODZfUkVDT1JEX1NJWkVfZnNfcXVvdGFfc3RhdAkJNjgKKyNkZWZp bmUgSTM4Nl9SRUNPUkRfU0laRV90aW1lc3BlYwkJOAorI2RlZmluZSBJMzg2 X1JFQ09SRF9TSVpFX3BvbGxmZAkJCTgKKyNkZWZpbmUgSTM4Nl9SRUNPUkRf U0laRV9ORlNfRkhTSVpFCQkzMgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpF X2tuZnNkX2ZoCQkxMzIKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9UQVNL X0NPTU1fTEVOCQkxNgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3NpZ2Fj dGlvbgkJMTQwCisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfc2lnc2V0X3QJ CTgKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9zaWdpbmZvX3QJCTEyOAor I2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX2NhcF91c2VyX2RhdGFfdAkxMgor I2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3N0YWNrX3QJCTEyCisjZGVmaW5l IEkzODZfUkVDT1JEX1NJWkVfb2ZmX3QJCQlJMzg2X1JFQ09SRF9TSVpFX2xv bmcKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9zdGF0NjQJCQk5NgorI2Rl ZmluZSBJMzg2X1JFQ09SRF9TSVpFX2dpZF90CQkJMgorI2RlZmluZSBJMzg2 X1JFQ09SRF9TSVpFX3VpZF90CQkJMgorI2RlZmluZSBJMzg2X1JFQ09SRF9T SVpFX1BBR0VfU0laRQkJNDA5NgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpF X2Zsb2NrNjQJCTI0CisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfdXNlcl9k ZXNjCQkxNgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX2lvX2V2ZW50CQkz MgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX2lvY2IJCQk2NAorI2RlZmlu ZSBJMzg2X1JFQ09SRF9TSVpFX2Vwb2xsX2V2ZW50CQkxMgorI2RlZmluZSBJ Mzg2X1JFQ09SRF9TSVpFX2l0aW1lcnNwZWMJCShJMzg2X1JFQ09SRF9TSVpF X3RpbWVzcGVjICogMikKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9tcV9h dHRyCQkzMgorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3NpZ2luZm8JCTEy OAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX3Rlcm1pb3MJCTM2CisjZGVm aW5lIEkzODZfUkVDT1JEX1NJWkVfdGVybWlvczIJCTQ0CisjZGVmaW5lIEkz ODZfUkVDT1JEX1NJWkVfcGlkX3QJCQk0CisjZGVmaW5lIEkzODZfUkVDT1JE X1NJWkVfd2luc2l6ZQkJOAorI2RlZmluZSBJMzg2X1JFQ09SRF9TSVpFX2No YXIJCQk4CisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfc2VyaWFsX3N0cnVj dAkJNjAKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfU0laRV9zZXJpYWxfaWNvdW50 ZXJfc3RydWN0CTgwCisjZGVmaW5lIEkzODZfUkVDT1JEX1NJWkVfaGF5ZXNf ZXNwX2NvbmZpZwkxMgorCisvKiBUaGVzZSBtYWNyb3MgYXJlIHRoZSB2YWx1 ZXMgb2YgdGhlIHNlY29uZCBhcmd1bWVudCBvZiBzeXN0ZW0gY2FsbAorICAg InN5c19pb2N0bCIuIFRoZSB2YWx1ZXMgb2YgdGhlc2UgbWFjcm9zIGFyZSBn b3R0ZW4gZnJvbSBMaW51eCBLZXJuZWwKKyAgIHNvdXJjZS4gICovCisjZGVm aW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RDR0VUUwkJMHg1NDAxCisjZGVmaW5l IEkzODZfUkVDT1JEX0lPQ1RMX1RDU0VUUwkJMHg1NDAyCisjZGVmaW5lIEkz ODZfUkVDT1JEX0lPQ1RMX1RDU0VUU1cJCTB4NTQwMworI2RlZmluZSBJMzg2 X1JFQ09SRF9JT0NUTF9UQ1NFVFNGCQkweDU0MDQKKyNkZWZpbmUgSTM4Nl9S RUNPUkRfSU9DVExfVENHRVRBCQkweDU0MDUKKyNkZWZpbmUgSTM4Nl9SRUNP UkRfSU9DVExfVENTRVRBCQkweDU0MDYKKyNkZWZpbmUgSTM4Nl9SRUNPUkRf SU9DVExfVENTRVRBVwkJMHg1NDA3CisjZGVmaW5lIEkzODZfUkVDT1JEX0lP Q1RMX1RDU0VUQUYJCTB4NTQwOAorI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NU TF9UQ1NCUksJCTB4NTQwOQorI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9U Q1hPTkMJCTB4NTQwQQorI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9UQ0ZM U0gJCTB4NTQwQgorI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DRVhD TAkJMHg1NDBDCisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NOWENM CQkweDU0MEQKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ1NDVFRZ CQkweDU0MEUKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ0dQR1JQ CQkweDU0MEYKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ1NQR1JQ CQkweDU0MTAKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ09VVFEJ CTB4NTQxMQorI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DU1RJCQkw eDU0MTIKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ0dXSU5TWgkJ MHg1NDEzCisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTV0lOU1oJ CTB4NTQxNAorI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DTUdFVAkJ MHg1NDE1CisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NNQklTCQkw eDU0MTYKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ01CSUMJCTB4 NTQxNworI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DTVNFVAkJMHg1 NDE4CisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NHU09GVENBUgkJ MHg1NDE5CisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTU09GVENB UgkJMHg1NDFBCisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX0ZJT05SRUFE CQkweDU0MUIKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ0lOUQkJ STM4Nl9SRUNPUkRfSU9DVExfRklPTlJFQUQKKyNkZWZpbmUgSTM4Nl9SRUNP UkRfSU9DVExfVElPQ0xJTlVYCQkweDU0MUMKKyNkZWZpbmUgSTM4Nl9SRUNP UkRfSU9DVExfVElPQ0NPTlMJCTB4NTQxRAorI2RlZmluZSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DR1NFUklBTAkJMHg1NDFFCisjZGVmaW5lIEkzODZfUkVD T1JEX0lPQ1RMX1RJT0NTU0VSSUFMCQkweDU0MUYKKyNkZWZpbmUgSTM4Nl9S RUNPUkRfSU9DVExfVElPQ1BLVAkJMHg1NDIwCisjZGVmaW5lIEkzODZfUkVD T1JEX0lPQ1RMX0ZJT05CSU8JCTB4NTQyMQorI2RlZmluZSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DTk9UVFkJCTB4NTQyMgorI2RlZmluZSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DU0VURAkJMHg1NDIzCisjZGVmaW5lIEkzODZfUkVDT1JE X0lPQ1RMX1RJT0NHRVRECQkweDU0MjQKKyNkZWZpbmUgSTM4Nl9SRUNPUkRf SU9DVExfVENTQlJLUAkJMHg1NDI1CisjZGVmaW5lIEkzODZfUkVDT1JEX0lP Q1RMX1RJT0NUVFlHU1RSVUNUIAkweDU0MjYKKyNkZWZpbmUgSTM4Nl9SRUNP UkRfSU9DVExfVElPQ1NCUksJCTB4NTQyNworI2RlZmluZSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DQ0JSSwkJMHg1NDI4CisjZGVmaW5lIEkzODZfUkVDT1JE X0lPQ1RMX1RJT0NHU0lECQkweDU0MjkKKyNkZWZpbmUgSTM4Nl9SRUNPUkRf SU9DVExfVENHRVRTMgkJMHg4MDJjNTQyYQorI2RlZmluZSBJMzg2X1JFQ09S RF9JT0NUTF9UQ1NFVFMyCQkweDQwMmM1NDJiCisjZGVmaW5lIEkzODZfUkVD T1JEX0lPQ1RMX1RDU0VUU1cyCQkweDQwMmM1NDJjCisjZGVmaW5lIEkzODZf UkVDT1JEX0lPQ1RMX1RDU0VUU0YyCQkweDQwMmM1NDJkCisjZGVmaW5lIEkz ODZfUkVDT1JEX0lPQ1RMX1RJT0NHUFROCQkweDgwMDQ1NDMwCisjZGVmaW5l IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTUFRMQ0sJCTB4NDAwNDU0MzEKKyNk ZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfRklPTkNMRVgJCTB4NTQ1MAorI2Rl ZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9GSU9DTEVYCQkweDU0NTEKKyNkZWZp bmUgSTM4Nl9SRUNPUkRfSU9DVExfRklPQVNZTkMJCTB4NTQ1MgorI2RlZmlu ZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DU0VSQ09ORklHCQkweDU0NTMKKyNk ZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ1NFUkdXSUxECQkweDU0NTQK KyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ1NFUlNXSUxECQkweDU0 NTUKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElPQ0dMQ0tUUk1JT1MJ MHg1NDU2CisjZGVmaW5lIEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTTENLVFJN SU9TCTB4NTQ1NworI2RlZmluZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DU0VS R1NUUlVDVAkweDU0NTgKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfVElP Q1NFUkdFVExTUiAgIAkweDU0NTkKKyNkZWZpbmUgSTM4Nl9SRUNPUkRfSU9D VExfVElPQ1NFUkdFVE1VTFRJCTB4NTQ1QQorI2RlZmluZSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DU0VSU0VUTVVMVEkJMHg1NDVCCisjZGVmaW5lIEkzODZf UkVDT1JEX0lPQ1RMX1RJT0NNSVdBSVQJCTB4NTQ1QworI2RlZmluZSBJMzg2 X1JFQ09SRF9JT0NUTF9USU9DR0lDT1VOVAkJMHg1NDVECisjZGVmaW5lIEkz ODZfUkVDT1JEX0lPQ1RMX1RJT0NHSEFZRVNFU1AJCTB4NTQ1RQorI2RlZmlu ZSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DU0hBWUVTRVNQCQkweDU0NUYKKyNk ZWZpbmUgSTM4Nl9SRUNPUkRfSU9DVExfRklPUVNJWkUJCTB4NTQ2MAorCiBz dGF0aWMgdm9pZAogaTM4Nl9saW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFy Y2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKIHsKQEAg LTQ0MCw2ICs2MTQsMTUwIEBACiAgIHRkZXAtPnNjX3JlZ19vZmZzZXQgPSBp Mzg2X2xpbnV4X3NjX3JlZ19vZmZzZXQ7CiAgIHRkZXAtPnNjX251bV9yZWdz ID0gQVJSQVlfU0laRSAoaTM4Nl9saW51eF9zY19yZWdfb2Zmc2V0KTsKIAor ICAvKiBJbml0aWFsIHRoZSBsaW51eF9yZWNvcmRfdGRlcCAqLworICBsaW51 eF9yZWNvcmRfdGRlcC5zaXplX19vbGRfa2VybmVsX3N0YXQgPSBJMzg2X1JF Q09SRF9TSVpFX19vbGRfa2VybmVsX3N0YXQ7CisgIGxpbnV4X3JlY29yZF90 ZGVwLnNpemVfdG1zID0gSTM4Nl9SRUNPUkRfU0laRV90bXM7CisgIGxpbnV4 X3JlY29yZF90ZGVwLnNpemVfbG9mZl90ID0gSTM4Nl9SRUNPUkRfU0laRV9s b2ZmX3Q7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVfZmxvY2sgPSBJMzg2 X1JFQ09SRF9TSVpFX2Zsb2NrOworICBsaW51eF9yZWNvcmRfdGRlcC5zaXpl X29sZG9sZF91dHNuYW1lID0gSTM4Nl9SRUNPUkRfU0laRV9vbGRvbGRfdXRz bmFtZTsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV91c3RhdCA9IEkzODZf UkVDT1JEX1NJWkVfdXN0YXQ7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVf b2xkX3NpZ2FjdGlvbiA9IEkzODZfUkVDT1JEX1NJWkVfb2xkX3NpZ2FjdGlv bjsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9vbGRfc2lnc2V0X3QgPSBJ Mzg2X1JFQ09SRF9TSVpFX29sZF9zaWdzZXRfdDsKKyAgbGludXhfcmVjb3Jk X3RkZXAuc2l6ZV9ybGltaXQgPSBJMzg2X1JFQ09SRF9TSVpFX3JsaW1pdDsK KyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9ydXNhZ2UgPSBJMzg2X1JFQ09S RF9TSVpFX3J1c2FnZTsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV90aW1l dmFsID0gSTM4Nl9SRUNPUkRfU0laRV90aW1ldmFsOworICBsaW51eF9yZWNv cmRfdGRlcC5zaXplX3RpbWV6b25lID0gSTM4Nl9SRUNPUkRfU0laRV90aW1l em9uZTsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9vbGRfZ2lkX3QgPSBJ Mzg2X1JFQ09SRF9TSVpFX29sZF9naWRfdDsKKyAgbGludXhfcmVjb3JkX3Rk ZXAuc2l6ZV9vbGRfdWlkX3QgPSBJMzg2X1JFQ09SRF9TSVpFX29sZF91aWRf dDsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9mZF9zZXQgPSBJMzg2X1JF Q09SRF9TSVpFX2ZkX3NldDsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9k aXJlbnQgPSBJMzg2X1JFQ09SRF9TSVpFX2RpcmVudDsKKyAgbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9kaXJlbnQ2NCA9IEkzODZfUkVDT1JEX1NJWkVfZGly ZW50NjQ7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVfc3RhdGZzID0gSTM4 Nl9SRUNPUkRfU0laRV9zdGF0ZnM7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNp emVfc3RhdGZzNjQgPSBJMzg2X1JFQ09SRF9TSVpFX3N0YXRmczY0OworICBs aW51eF9yZWNvcmRfdGRlcC5zaXplX3NvY2thZGRyID0gSTM4Nl9SRUNPUkRf U0laRV9zb2NrYWRkcjsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9pbnQg PSBJMzg2X1JFQ09SRF9TSVpFX2ludDsKKyAgbGludXhfcmVjb3JkX3RkZXAu c2l6ZV9sb25nID0gSTM4Nl9SRUNPUkRfU0laRV9sb25nOworICBsaW51eF9y ZWNvcmRfdGRlcC5zaXplX3Vsb25nID0gSTM4Nl9SRUNPUkRfU0laRV91bG9u ZzsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9tc2doZHIgPSBJMzg2X1JF Q09SRF9TSVpFX21zZ2hkcjsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9p dGltZXJ2YWwgPSBJMzg2X1JFQ09SRF9TSVpFX2l0aW1lcnZhbDsKKyAgbGlu dXhfcmVjb3JkX3RkZXAuc2l6ZV9zdGF0ID0gSTM4Nl9SRUNPUkRfU0laRV9z dGF0OworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX29sZF91dHNuYW1lID0g STM4Nl9SRUNPUkRfU0laRV9vbGRfdXRzbmFtZTsKKyAgbGludXhfcmVjb3Jk X3RkZXAuc2l6ZV9zeXNpbmZvID0gSTM4Nl9SRUNPUkRfU0laRV9zeXNpbmZv OworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX21zcWlkX2RzID0gSTM4Nl9S RUNPUkRfU0laRV9tc3FpZF9kczsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6 ZV9zaG1pZF9kcyA9IEkzODZfUkVDT1JEX1NJWkVfc2htaWRfZHM7CisgIGxp bnV4X3JlY29yZF90ZGVwLnNpemVfbmV3X3V0c25hbWUgPSBJMzg2X1JFQ09S RF9TSVpFX25ld191dHNuYW1lOworICBsaW51eF9yZWNvcmRfdGRlcC5zaXpl X3RpbWV4ID0gSTM4Nl9SRUNPUkRfU0laRV90aW1leDsKKyAgbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9tZW1fZHFpbmZvID0gSTM4Nl9SRUNPUkRfU0laRV9t ZW1fZHFpbmZvOworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX2lmX2RxYmxr ID0gSTM4Nl9SRUNPUkRfU0laRV9pZl9kcWJsazsKKyAgbGludXhfcmVjb3Jk X3RkZXAuc2l6ZV9mc19xdW90YV9zdGF0ID0gSTM4Nl9SRUNPUkRfU0laRV9m c19xdW90YV9zdGF0OworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX3RpbWVz cGVjID0gSTM4Nl9SRUNPUkRfU0laRV90aW1lc3BlYzsKKyAgbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9wb2xsZmQgPSBJMzg2X1JFQ09SRF9TSVpFX3BvbGxm ZDsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9ORlNfRkhTSVpFID0gSTM4 Nl9SRUNPUkRfU0laRV9ORlNfRkhTSVpFOworICBsaW51eF9yZWNvcmRfdGRl cC5zaXplX2tuZnNkX2ZoID0gSTM4Nl9SRUNPUkRfU0laRV9rbmZzZF9maDsK KyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9UQVNLX0NPTU1fTEVOID0gSTM4 Nl9SRUNPUkRfU0laRV9UQVNLX0NPTU1fTEVOOworICBsaW51eF9yZWNvcmRf dGRlcC5zaXplX3NpZ2FjdGlvbiA9IEkzODZfUkVDT1JEX1NJWkVfc2lnYWN0 aW9uOworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX3NpZ3NldF90ID0gSTM4 Nl9SRUNPUkRfU0laRV9zaWdzZXRfdDsKKyAgbGludXhfcmVjb3JkX3RkZXAu c2l6ZV9zaWdpbmZvX3QgPSBJMzg2X1JFQ09SRF9TSVpFX3NpZ2luZm9fdDsK KyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9jYXBfdXNlcl9kYXRhX3QgPSBJ Mzg2X1JFQ09SRF9TSVpFX2NhcF91c2VyX2RhdGFfdDsKKyAgbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9zdGFja190ID0gSTM4Nl9SRUNPUkRfU0laRV9zdGFj a190OworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX29mZl90ID0gSTM4Nl9S RUNPUkRfU0laRV9vZmZfdDsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9z dGF0NjQgPSBJMzg2X1JFQ09SRF9TSVpFX3N0YXQ2NDsKKyAgbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9naWRfdCA9IEkzODZfUkVDT1JEX1NJWkVfZ2lkX3Q7 CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVfdWlkX3QgPSBJMzg2X1JFQ09S RF9TSVpFX3VpZF90OworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX1BBR0Vf U0laRSA9IEkzODZfUkVDT1JEX1NJWkVfUEFHRV9TSVpFOworICBsaW51eF9y ZWNvcmRfdGRlcC5zaXplX2Zsb2NrNjQgPSBJMzg2X1JFQ09SRF9TSVpFX2Zs b2NrNjQ7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVfdXNlcl9kZXNjID0g STM4Nl9SRUNPUkRfU0laRV91c2VyX2Rlc2M7CisgIGxpbnV4X3JlY29yZF90 ZGVwLnNpemVfaW9fZXZlbnQgPSBJMzg2X1JFQ09SRF9TSVpFX2lvX2V2ZW50 OworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX2lvY2IgPSBJMzg2X1JFQ09S RF9TSVpFX2lvY2I7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVfZXBvbGxf ZXZlbnQgPSBJMzg2X1JFQ09SRF9TSVpFX2Vwb2xsX2V2ZW50OworICBsaW51 eF9yZWNvcmRfdGRlcC5zaXplX2l0aW1lcnNwZWMgPSBJMzg2X1JFQ09SRF9T SVpFX2l0aW1lcnNwZWM7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNpemVfbXFf YXR0ciA9IEkzODZfUkVDT1JEX1NJWkVfbXFfYXR0cjsKKyAgbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9zaWdpbmZvID0gSTM4Nl9SRUNPUkRfU0laRV9zaWdp bmZvOworICBsaW51eF9yZWNvcmRfdGRlcC5zaXplX3Rlcm1pb3MgPSBJMzg2 X1JFQ09SRF9TSVpFX3Rlcm1pb3M7CisgIGxpbnV4X3JlY29yZF90ZGVwLnNp emVfdGVybWlvczIgPSBJMzg2X1JFQ09SRF9TSVpFX3Rlcm1pb3MyOworICBs aW51eF9yZWNvcmRfdGRlcC5zaXplX3BpZF90ID0gSTM4Nl9SRUNPUkRfU0la RV9waWRfdDsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6ZV93aW5zaXplID0g STM4Nl9SRUNPUkRfU0laRV93aW5zaXplOworICBsaW51eF9yZWNvcmRfdGRl cC5zaXplX2NoYXIgPSBJMzg2X1JFQ09SRF9TSVpFX2NoYXI7CisgIGxpbnV4 X3JlY29yZF90ZGVwLnNpemVfc2VyaWFsX3N0cnVjdCA9IEkzODZfUkVDT1JE X1NJWkVfc2VyaWFsX3N0cnVjdDsKKyAgbGludXhfcmVjb3JkX3RkZXAuc2l6 ZV9zZXJpYWxfaWNvdW50ZXJfc3RydWN0ID0KKyAgICBJMzg2X1JFQ09SRF9T SVpFX3NlcmlhbF9pY291bnRlcl9zdHJ1Y3Q7CisgIGxpbnV4X3JlY29yZF90 ZGVwLnNpemVfaGF5ZXNfZXNwX2NvbmZpZyA9IEkzODZfUkVDT1JEX1NJWkVf aGF5ZXNfZXNwX2NvbmZpZzsKKworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0 bF9UQ0dFVFMgPSBJMzg2X1JFQ09SRF9JT0NUTF9UQ0dFVFM7CisgIGxpbnV4 X3JlY29yZF90ZGVwLmlvY3RsX1RDU0VUUyA9IEkzODZfUkVDT1JEX0lPQ1RM X1RDU0VUUzsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVENTRVRTVyA9 IEkzODZfUkVDT1JEX0lPQ1RMX1RDU0VUU1c7CisgIGxpbnV4X3JlY29yZF90 ZGVwLmlvY3RsX1RDU0VUU0YgPSBJMzg2X1JFQ09SRF9JT0NUTF9UQ1NFVFNG OworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9UQ0dFVEEgPSBJMzg2X1JF Q09SRF9JT0NUTF9UQ0dFVEE7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3Rs X1RDU0VUQSA9IEkzODZfUkVDT1JEX0lPQ1RMX1RDU0VUQTsKKyAgbGludXhf cmVjb3JkX3RkZXAuaW9jdGxfVENTRVRBVyA9IEkzODZfUkVDT1JEX0lPQ1RM X1RDU0VUQVc7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RDU0VUQUYg PSBJMzg2X1JFQ09SRF9JT0NUTF9UQ1NFVEFGOworICBsaW51eF9yZWNvcmRf dGRlcC5pb2N0bF9UQ1NCUksgPSBJMzg2X1JFQ09SRF9JT0NUTF9UQ1NCUks7 CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RDWE9OQyA9IEkzODZfUkVD T1JEX0lPQ1RMX1RDWE9OQzsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxf VENGTFNIID0gSTM4Nl9SRUNPUkRfSU9DVExfVENGTFNIOworICBsaW51eF9y ZWNvcmRfdGRlcC5pb2N0bF9USU9DRVhDTCA9IEkzODZfUkVDT1JEX0lPQ1RM X1RJT0NFWENMOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DTlhD TCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NOWENMOworICBsaW51eF9yZWNv cmRfdGRlcC5pb2N0bF9USU9DU0NUVFkgPSBJMzg2X1JFQ09SRF9JT0NUTF9U SU9DU0NUVFk7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NHUEdS UCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NHUEdSUDsKKyAgbGludXhfcmVj b3JkX3RkZXAuaW9jdGxfVElPQ1NQR1JQID0gSTM4Nl9SRUNPUkRfSU9DVExf VElPQ1NQR1JQOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DT1VU USA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NPVVRROworICBsaW51eF9yZWNv cmRfdGRlcC5pb2N0bF9USU9DU1RJID0gSTM4Nl9SRUNPUkRfSU9DVExfVElP Q1NUSTsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ0dXSU5TWiA9 IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NHV0lOU1o7CisgIGxpbnV4X3JlY29y ZF90ZGVwLmlvY3RsX1RJT0NTV0lOU1ogPSBJMzg2X1JFQ09SRF9JT0NUTF9U SU9DU1dJTlNaOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DTUdF VCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NNR0VUOworICBsaW51eF9yZWNv cmRfdGRlcC5pb2N0bF9USU9DTUJJUyA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJ T0NNQklTOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DTUJJQyA9 IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NNQklDOworICBsaW51eF9yZWNvcmRf dGRlcC5pb2N0bF9USU9DTVNFVCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NN U0VUOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DR1NPRlRDQVIg PSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DR1NPRlRDQVI7CisgIGxpbnV4X3Jl Y29yZF90ZGVwLmlvY3RsX1RJT0NTU09GVENBUiA9IEkzODZfUkVDT1JEX0lP Q1RMX1RJT0NTU09GVENBUjsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxf RklPTlJFQUQgPSBJMzg2X1JFQ09SRF9JT0NUTF9GSU9OUkVBRDsKKyAgbGlu dXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ0lOUSA9IEkzODZfUkVDT1JEX0lP Q1RMX1RJT0NJTlE7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NM SU5VWCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NMSU5VWDsKKyAgbGludXhf cmVjb3JkX3RkZXAuaW9jdGxfVElPQ0NPTlMgPSBJMzg2X1JFQ09SRF9JT0NU TF9USU9DQ09OUzsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ0dT RVJJQUwgPSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DR1NFUklBTDsKKyAgbGlu dXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NTRVJJQUwgPSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DU1NFUklBTDsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9j dGxfVElPQ1BLVCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NQS1Q7CisgIGxp bnV4X3JlY29yZF90ZGVwLmlvY3RsX0ZJT05CSU8gPSBJMzg2X1JFQ09SRF9J T0NUTF9GSU9OQklPOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9D Tk9UVFkgPSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DTk9UVFk7CisgIGxpbnV4 X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NTRVREID0gSTM4Nl9SRUNPUkRfSU9D VExfVElPQ1NFVEQ7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NH RVREID0gSTM4Nl9SRUNPUkRfSU9DVExfVElPQ0dFVEQ7CisgIGxpbnV4X3Jl Y29yZF90ZGVwLmlvY3RsX1RDU0JSS1AgPSBJMzg2X1JFQ09SRF9JT0NUTF9U Q1NCUktQOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DVFRZR1NU UlVDVCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NUVFlHU1RSVUNUOworICBs aW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0JSSyA9IEkzODZfUkVDT1JE X0lPQ1RMX1RJT0NTQlJLOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9U SU9DQ0JSSyA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NDQlJLOworICBsaW51 eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DR1NJRCA9IEkzODZfUkVDT1JEX0lP Q1RMX1RJT0NHU0lEOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9UQ0dF VFMyID0gSTM4Nl9SRUNPUkRfSU9DVExfVENHRVRTMjsKKyAgbGludXhfcmVj b3JkX3RkZXAuaW9jdGxfVENTRVRTMiA9IEkzODZfUkVDT1JEX0lPQ1RMX1RD U0VUUzI7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RDU0VUU1cyID0g STM4Nl9SRUNPUkRfSU9DVExfVENTRVRTVzI7CisgIGxpbnV4X3JlY29yZF90 ZGVwLmlvY3RsX1RDU0VUU0YyID0gSTM4Nl9SRUNPUkRfSU9DVExfVENTRVRT RjI7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NHUFROID0gSTM4 Nl9SRUNPUkRfSU9DVExfVElPQ0dQVE47CisgIGxpbnV4X3JlY29yZF90ZGVw LmlvY3RsX1RJT0NTUFRMQ0sgPSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DU1BU TENLOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9GSU9OQ0xFWCA9IEkz ODZfUkVDT1JEX0lPQ1RMX0ZJT05DTEVYOworICBsaW51eF9yZWNvcmRfdGRl cC5pb2N0bF9GSU9DTEVYID0gSTM4Nl9SRUNPUkRfSU9DVExfRklPQ0xFWDsK KyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfRklPQVNZTkMgPSBJMzg2X1JF Q09SRF9JT0NUTF9GSU9BU1lOQzsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9j dGxfVElPQ1NFUkNPTkZJRyA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTRVJD T05GSUc7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NTRVJHV0lM RCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTRVJHV0lMRDsKKyAgbGludXhf cmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NFUlNXSUxEID0gSTM4Nl9SRUNPUkRf SU9DVExfVElPQ1NFUlNXSUxEOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0 bF9USU9DR0xDS1RSTUlPUyA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NHTENL VFJNSU9TOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0xDS1RS TUlPUyA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NTTENLVFJNSU9TOworICBs aW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0VSR1NUUlVDVCA9IEkzODZf UkVDT1JEX0lPQ1RMX1RJT0NTRVJHU1RSVUNUOworICBsaW51eF9yZWNvcmRf dGRlcC5pb2N0bF9USU9DU0VSR0VUTFNSID0gSTM4Nl9SRUNPUkRfSU9DVExf VElPQ1NFUkdFVExTUjsKKyAgbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElP Q1NFUkdFVE1VTFRJID0gSTM4Nl9SRUNPUkRfSU9DVExfVElPQ1NFUkdFVE1V TFRJOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0VSU0VUTVVM VEkgPSBJMzg2X1JFQ09SRF9JT0NUTF9USU9DU0VSU0VUTVVMVEk7CisgIGxp bnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NNSVdBSVQgPSBJMzg2X1JFQ09S RF9JT0NUTF9USU9DTUlXQUlUOworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0 bF9USU9DR0lDT1VOVCA9IEkzODZfUkVDT1JEX0lPQ1RMX1RJT0NHSUNPVU5U OworICBsaW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DR0hBWUVTRVNQID0g STM4Nl9SRUNPUkRfSU9DVExfVElPQ0dIQVlFU0VTUDsKKyAgbGludXhfcmVj b3JkX3RkZXAuaW9jdGxfVElPQ1NIQVlFU0VTUCA9IEkzODZfUkVDT1JEX0lP Q1RMX1RJT0NTSEFZRVNFU1A7CisgIGxpbnV4X3JlY29yZF90ZGVwLmlvY3Rs X0ZJT1FTSVpFID0gSTM4Nl9SRUNPUkRfSU9DVExfRklPUVNJWkU7CisKKyAg bGludXhfcmVjb3JkX3RkZXAuYXJnMSA9IEkzODZfRUJYX1JFR05VTTsKKyAg bGludXhfcmVjb3JkX3RkZXAuYXJnMiA9IEkzODZfRUNYX1JFR05VTTsKKyAg bGludXhfcmVjb3JkX3RkZXAuYXJnMyA9IEkzODZfRURYX1JFR05VTTsKKyAg bGludXhfcmVjb3JkX3RkZXAuYXJnNCA9IEkzODZfRVNJX1JFR05VTTsKKyAg bGludXhfcmVjb3JkX3RkZXAuYXJnNSA9IEkzODZfRURJX1JFR05VTTsKKwor ICB0ZGVwLT5pMzg2X2ludHg4MF9yZWNvcmQgPSBpMzg2X2xpbnV4X2ludHg4 MF9zeXNlbnRlcl9yZWNvcmQ7CisgIHRkZXAtPmkzODZfc3lzZW50ZXJfcmVj b3JkID0gaTM4Nl9saW51eF9pbnR4ODBfc3lzZW50ZXJfcmVjb3JkOworCiAg IC8qIE5fRlVOIHN5bWJvbHMgaW4gc2hhcmVkIGxpYmFyaWVzIGhhdmUgMCBm b3IgdGhlaXIgdmFsdWVzIGFuZCBuZWVkCiAgICAgIHRvIGJlIHJlbG9jYXRl ZC4gKi8KICAgc2V0X2dkYmFyY2hfc29mdW5fYWRkcmVzc19tYXliZV9taXNz aW5nIChnZGJhcmNoLCAxKTsK ------=_Part_40515_17107822.1226823971291--