diff mbox

[U-Boot,16/25] x86: Integrate Tunnel Creek processor microcode

Message ID 1417705366-19434-1-git-send-email-bmeng.cn@gmail.com
State Superseded
Delegated to: Simon Glass
Headers show

Commit Message

Bin Meng Dec. 4, 2014, 3:02 p.m. UTC
Integrate the processor microcode version 1.05 for Tunnel Creek,
CPUID device 20661h.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
 arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
 1 file changed, 1288 insertions(+)
 create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc

Comments

Simon Glass Dec. 4, 2014, 11:43 p.m. UTC | #1
Hi Bin,

On 4 December 2014 at 08:02, Bin Meng <bmeng.cn@gmail.com> wrote:
> Integrate the processor microcode version 1.05 for Tunnel Creek,
> CPUID device 20661h.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>  1 file changed, 1288 insertions(+)
>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc

Can we put this into the device tree?

Regards,
Simon
Bin Meng Dec. 5, 2014, 9:14 a.m. UTC | #2
Hi Simon,

On Fri, Dec 5, 2014 at 7:43 AM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 4 December 2014 at 08:02, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Integrate the processor microcode version 1.05 for Tunnel Creek,
>> CPUID device 20661h.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>>  1 file changed, 1288 insertions(+)
>>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc
>
> Can we put this into the device tree?
>

Unfortunately the microcode is required by the call to TempRamInit in
FSP in car_init, where the device tree functionality is not available.
We can of course duplicate one in device tree for reference, not sure
if it is necessary.

Regards,
Bin
Simon Glass Dec. 5, 2014, 3:12 p.m. UTC | #3
Hi Bin,

On 5 December 2014 at 02:14, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Simon,
>
> On Fri, Dec 5, 2014 at 7:43 AM, Simon Glass <sjg@chromium.org> wrote:
>> Hi Bin,
>>
>> On 4 December 2014 at 08:02, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Integrate the processor microcode version 1.05 for Tunnel Creek,
>>> CPUID device 20661h.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>> ---
>>>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>>>  1 file changed, 1288 insertions(+)
>>>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc
>>
>> Can we put this into the device tree?
>>
>
> Unfortunately the microcode is required by the call to TempRamInit in
> FSP in car_init, where the device tree functionality is not available.
> We can of course duplicate one in device tree for reference, not sure
> if it is necessary.

OK I was hoping you weren't going to say that. There is not even a
stack at this stage so device tree is out of the question. I wonder
how common this is. Is there any way to provide a 'NULL'  microcode
update and then do it later?

This is some of the pain of dealing with binary blobs.

Let's see where this lands but we may want to change things around in
start.S to provide for this more nicely.

Regards,
Simon
Bin Meng Dec. 9, 2014, 2:39 p.m. UTC | #4
Hi Simon,

On Fri, Dec 5, 2014 at 11:12 PM, Simon Glass <sjg@chromium.org> wrote:
> Hi Bin,
>
> On 5 December 2014 at 02:14, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Hi Simon,
>>
>> On Fri, Dec 5, 2014 at 7:43 AM, Simon Glass <sjg@chromium.org> wrote:
>>> Hi Bin,
>>>
>>> On 4 December 2014 at 08:02, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>> Integrate the processor microcode version 1.05 for Tunnel Creek,
>>>> CPUID device 20661h.
>>>>
>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>> ---
>>>>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>>>>  1 file changed, 1288 insertions(+)
>>>>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc
>>>
>>> Can we put this into the device tree?
>>>
>>
>> Unfortunately the microcode is required by the call to TempRamInit in
>> FSP in car_init, where the device tree functionality is not available.
>> We can of course duplicate one in device tree for reference, not sure
>> if it is necessary.
>
> OK I was hoping you weren't going to say that. There is not even a
> stack at this stage so device tree is out of the question. I wonder
> how common this is. Is there any way to provide a 'NULL'  microcode
> update and then do it later?

I tested this, by providing a 'NULL' microcode to FSP. However the FSP
TempRamInit() will just fail. So we may have to do it this way.

> This is some of the pain of dealing with binary blobs.
>
> Let's see where this lands but we may want to change things around in
> start.S to provide for this more nicely.
>
> Regards,
> Simon

Regards,
Bin
Pavel Machek Dec. 15, 2014, 10:34 p.m. UTC | #5
On Thu 2014-12-04 23:02:46, Bin Meng wrote:
> Integrate the processor microcode version 1.05 for Tunnel Creek,
> CPUID device 20661h.
> 
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>  1 file changed, 1288 insertions(+)
>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc
> 
> diff --git a/arch/x86/cpu/queensbay/M0220661105.inc b/arch/x86/cpu/queensbay/M0220661105.inc
> new file mode 100644
> index 0000000..f2b2b4e
> --- /dev/null
> +++ b/arch/x86/cpu/queensbay/M0220661105.inc
> @@ -0,0 +1,1288 @@
> +/*
> + * Copyright (C) 2013, Intel Corporation
> + *
> + * SPDX-License-Identifier:	Intel

Can we get the file under GPLv2+?

> + */
> +
> +/* External Header */

Comment here that this is processor microcode would be nice. And maybe
more self-describing filename?

Thanks,
									Pavel
Bin Meng Dec. 16, 2014, 2:28 a.m. UTC | #6
Hi Pavel,

On Tue, Dec 16, 2014 at 6:34 AM, Pavel Machek <pavel@denx.de> wrote:
> On Thu 2014-12-04 23:02:46, Bin Meng wrote:
>> Integrate the processor microcode version 1.05 for Tunnel Creek,
>> CPUID device 20661h.
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>>  1 file changed, 1288 insertions(+)
>>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc
>>
>> diff --git a/arch/x86/cpu/queensbay/M0220661105.inc b/arch/x86/cpu/queensbay/M0220661105.inc
>> new file mode 100644
>> index 0000000..f2b2b4e
>> --- /dev/null
>> +++ b/arch/x86/cpu/queensbay/M0220661105.inc
>> @@ -0,0 +1,1288 @@
>> +/*
>> + * Copyright (C) 2013, Intel Corporation
>> + *
>> + * SPDX-License-Identifier:  Intel
>
> Can we get the file under GPLv2+?

I believe it is hard for Intel to release the microcode under GPLv2+ ...

>> + */
>> +
>> +/* External Header */
>
> Comment here that this is processor microcode would be nice. And maybe
> more self-describing filename?

The file name is extracted from Intel released microcode.dat. We
intend to use the same name to keep track of what version is used
here. Simon is working on patches to convert this to dtsi format, so
we can generate comments there from the microcode tool, Simon?

[snip]

Regards,
Bin
Simon Glass Dec. 16, 2014, 4:12 a.m. UTC | #7
Hi Bin,

On 15 December 2014 at 19:28, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Pavel,
>
> On Tue, Dec 16, 2014 at 6:34 AM, Pavel Machek <pavel@denx.de> wrote:
>> On Thu 2014-12-04 23:02:46, Bin Meng wrote:
>>> Integrate the processor microcode version 1.05 for Tunnel Creek,
>>> CPUID device 20661h.
>>>
>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>> ---
>>>  arch/x86/cpu/queensbay/M0220661105.inc | 1288 ++++++++++++++++++++++++++++++++
>>>  1 file changed, 1288 insertions(+)
>>>  create mode 100644 arch/x86/cpu/queensbay/M0220661105.inc
>>>
>>> diff --git a/arch/x86/cpu/queensbay/M0220661105.inc b/arch/x86/cpu/queensbay/M0220661105.inc
>>> new file mode 100644
>>> index 0000000..f2b2b4e
>>> --- /dev/null
>>> +++ b/arch/x86/cpu/queensbay/M0220661105.inc
>>> @@ -0,0 +1,1288 @@
>>> +/*
>>> + * Copyright (C) 2013, Intel Corporation
>>> + *
>>> + * SPDX-License-Identifier:  Intel
>>
>> Can we get the file under GPLv2+?
>
> I believe it is hard for Intel to release the microcode under GPLv2+ ...
>
>>> + */
>>> +
>>> +/* External Header */
>>
>> Comment here that this is processor microcode would be nice. And maybe
>> more self-describing filename?
>
> The file name is extracted from Intel released microcode.dat. We
> intend to use the same name to keep track of what version is used
> here. Simon is working on patches to convert this to dtsi format, so
> we can generate comments there from the microcode tool, Simon?

Yes the tool generates comments.

Regards,
Simon
diff mbox

Patch

diff --git a/arch/x86/cpu/queensbay/M0220661105.inc b/arch/x86/cpu/queensbay/M0220661105.inc
new file mode 100644
index 0000000..f2b2b4e
--- /dev/null
+++ b/arch/x86/cpu/queensbay/M0220661105.inc
@@ -0,0 +1,1288 @@ 
+/*
+ * Copyright (C) 2013, Intel Corporation
+ *
+ * SPDX-License-Identifier:	Intel
+ */
+
+/* External Header */
+.long 0x00000001 /* Header Version */
+.long 0x00000105 /* Update Revision */
+.long 0x07182011 /* Date */
+.long 0x00020661 /* Processor Signature */
+.long 0x52558795 /* Checksum */
+.long 0x00000001 /* Loader Revision */
+.long 0x00000002 /* Processor Flags */
+.long 0x000013d0 /* Data Size (excluding headers) */
+.long 0x00001400 /* Total Size (including headers) */
+.long 0x00000000 /* Reserved */
+.long 0x00000000 /* Reserved */
+.long 0x00000000 /* Reserved */
+/* Data */
+.long 0x00000000
+.long 0x000000a1
+.long 0x00020001
+.long 0x00000105
+.long 0x00000019
+.long 0x00050100
+.long 0x20110715
+.long 0x00000401
+.long 0x00000001
+.long 0x00020661
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x00000000
+.long 0x57a55795
+.long 0xe30f7a7d
+.long 0x53be2f8e
+.long 0x46e3b90d
+.long 0xd6005cd3
+.long 0xb734bb21
+.long 0x06642b66
+.long 0x355042a0
+.long 0x0882023d
+.long 0x953684cb
+.long 0x0abe06ee
+.long 0xa7ef1798
+.long 0x160d6cb8
+.long 0x930cf745
+.long 0xafc3fd79
+.long 0xa70df3d5
+.long 0xb0620f46
+.long 0x70048a23
+.long 0xbf95ecf0
+.long 0x76c1b997
+.long 0x5128616d
+.long 0xb6b4b969
+.long 0xcc69f71d
+.long 0xdf7416e1
+.long 0xdf9a571b
+.long 0x50c0bcc8
+.long 0x85e2b3cd
+.long 0xc1927532
+.long 0x7a04b6be
+.long 0xe56b7f97
+.long 0x524085c4
+.long 0x668bf327
+.long 0xb3eaa54c
+.long 0xccde06f8
+.long 0x09b4e42b
+.long 0x033b0a46
+.long 0x0f6e2fde
+.long 0xb308ce53
+.long 0x93eff03e
+.long 0x8830014e
+.long 0x5c8a6f22
+.long 0x91d2f757
+.long 0xf70b648d
+.long 0x0789998a
+.long 0xd84d4640
+.long 0xe5f34e80
+.long 0xf3357e64
+.long 0xd1e2beea
+.long 0xc7e95c3a
+.long 0x30e57e4d
+.long 0xec214356
+.long 0x7e10859e
+.long 0x1d5895d5
+.long 0xdeeff6cb
+.long 0xed1030ed
+.long 0x827e603d
+.long 0x6b4b2de3
+.long 0x83ec6fd0
+.long 0xa64092f3
+.long 0x8d9887e4
+.long 0xbefcbedd
+.long 0x2111afef
+.long 0xcb9abf96
+.long 0x5c79ceac
+.long 0x9bf8a57f
+.long 0x5d0e44be
+.long 0xdca3d3b6
+.long 0x9072d1ca
+.long 0x48e73a50
+.long 0x8d0bc804
+.long 0x6aea94d3
+.long 0xc372403e
+.long 0x00000011
+.long 0x5de60a0b
+.long 0xbd3cc5c6
+.long 0x2d6c2ad5
+.long 0x2f19cc84
+.long 0x7d8e4989
+.long 0x86062789
+.long 0xe00581e6
+.long 0x70a57340
+.long 0x8e8d33d3
+.long 0x52311951
+.long 0x2f186672
+.long 0xfa530598
+.long 0x909cb851
+.long 0x51613bd1
+.long 0x910ae4e6
+.long 0xd897b90a
+.long 0x3b440a2d
+.long 0x6d563d9d
+.long 0xd1020482
+.long 0xcc9fe7db
+.long 0x450b5e7c
+.long 0x6d2194af
+.long 0x507971bf
+.long 0xd43d0b52
+.long 0x96336a56
+.long 0x4f796f0b
+.long 0xa5eddfc5
+.long 0x020fba71
+.long 0xeda53948
+.long 0xa6e4a439
+.long 0x52c667e5
+.long 0x9749040e
+.long 0xfdefa084
+.long 0x7871c609
+.long 0xc815a889
+.long 0x551582ac
+.long 0x039371d6
+.long 0x4e962b58
+.long 0xf6533afe
+.long 0x8b9b1b24
+.long 0x5754e6c6
+.long 0x0a4e3a62
+.long 0x037d0d59
+.long 0xe17c0ee5
+.long 0x0047ca4b
+.long 0xff5e4ff2
+.long 0xd9201b1f
+.long 0x7e22e377
+.long 0x5d5e9b69
+.long 0x21f6a59a
+.long 0xa0bb08ff
+.long 0x16e77cf1
+.long 0xf536530f
+.long 0xa755e0bc
+.long 0xac9dea8c
+.long 0x6cd2098e
+.long 0xf0ddc366
+.long 0x6016c7be
+.long 0xd28c2475
+.long 0x8dcfaf29
+.long 0xcee5ada5
+.long 0xe5ac8bf6
+.long 0xcd13b563
+.long 0x42a83647
+.long 0xdf80bf4d
+.long 0xdffb854e
+.long 0x563dce4d
+.long 0xdc0f15f2
+.long 0x092723c4
+.long 0x3a3edcff
+.long 0x3d2ab792
+.long 0x15e7fc9f
+.long 0xd1592968
+.long 0x3ca31b09
+.long 0x29c71d0f
+.long 0x24a9292f
+.long 0x2924f71d
+.long 0x5d36b019
+.long 0xd83c5a2d
+.long 0x51736120
+.long 0xf9749010
+.long 0x4a8732f2
+.long 0x6995d740
+.long 0xc6e4db97
+.long 0x4568b6a3
+.long 0xaa2f4da0
+.long 0x969ace6d
+.long 0x673c96d4
+.long 0x766f51d4
+.long 0x4db0a064
+.long 0xfedd870b
+.long 0x5d30a5d8
+.long 0x67cf7e71
+.long 0x35901877
+.long 0xd42e5440
+.long 0xf10f185a
+.long 0x2c2e04b2
+.long 0x9b813966
+.long 0xc356070f
+.long 0x70bd39f9
+.long 0xd6e0ef25
+.long 0xe95ab63e
+.long 0xd257a039
+.long 0x555659b2
+.long 0xfdb408f8
+.long 0x93052de2
+.long 0x00652576
+.long 0xeee6ee0e
+.long 0xcfd19568
+.long 0xa717c19f
+.long 0x155f9ed1
+.long 0x85f077f6
+.long 0x0db3cd1e
+.long 0x75094d70
+.long 0x2ef49990
+.long 0xb2e01b42
+.long 0xbd4825d0
+.long 0x75e6163a
+.long 0x1d058b7d
+.long 0x0f48249d
+.long 0x326400bc
+.long 0xeca94d18
+.long 0xefabd7ba
+.long 0xaa589f29
+.long 0xfa49a2c1
+.long 0xf3319d8d
+.long 0x17da3ce7
+.long 0x93c91af4
+.long 0xbbd3887b
+.long 0x76c649f3
+.long 0x611334b8
+.long 0x01bc691b
+.long 0xd2bfe098
+.long 0xd9b81df3
+.long 0x75b249eb
+.long 0x3301c4ab
+.long 0x01077dfb
+.long 0x53f35fcd
+.long 0x8debac4e
+.long 0x55c5aa67
+.long 0x3b69816d
+.long 0x5d551ce8
+.long 0x88367f5d
+.long 0x837034d4
+.long 0x1d1b86cd
+.long 0xcbf232d3
+.long 0x28001343
+.long 0x511c1a7f
+.long 0xf23acee2
+.long 0x6e07f5df
+.long 0x3712f26e
+.long 0xc4c85ff6
+.long 0x14ff28bd
+.long 0xa3490fd7
+.long 0x4992554f
+.long 0x3075fed6
+.long 0x4a9be81f
+.long 0x7589ccc1
+.long 0xc505d72f
+.long 0x773d99f2
+.long 0xdae3f260
+.long 0x443ccae3
+.long 0xb1700fbd
+.long 0x103d330d
+.long 0xa16a9aa2
+.long 0xd4a6b543
+.long 0x085ad130
+.long 0x4a56f96d
+.long 0x5d0409ea
+.long 0x5a3fca54
+.long 0x37a0cffb
+.long 0x1b4dd66d
+.long 0x5c99a8a4
+.long 0xf098421f
+.long 0x869a4d3f
+.long 0x46e14e92
+.long 0x64f4e3c2
+.long 0x7f7447c2
+.long 0xd7c7f58b
+.long 0x5db0f0f8
+.long 0x5f115af6
+.long 0xe5e41a4b
+.long 0x87e131e1
+.long 0xc113f7fa
+.long 0x6086f85f
+.long 0xb01649cd
+.long 0xe0288044
+.long 0xca110714
+.long 0x7575e7ff
+.long 0xbd40778b
+.long 0x95edb682
+.long 0x47964dd9
+.long 0x11c02326
+.long 0x11ba4fd5
+.long 0x0b05a730
+.long 0x6940fe28
+.long 0x7dbfb870
+.long 0x6deb86f7
+.long 0x34b79de3
+.long 0x690629a3
+.long 0xd6e14787
+.long 0x424a8035
+.long 0x60ed261c
+.long 0x0f88a830
+.long 0x77a27081
+.long 0x5776d9a1
+.long 0xedb3bc6e
+.long 0x89ceb63b
+.long 0x1b8c80ff
+.long 0x1efd19c9
+.long 0x148b1d91
+.long 0x241af4cb
+.long 0x38c7ab82
+.long 0x8e985efb
+.long 0x23a18a32
+.long 0xe34691f1
+.long 0x80aa7b58
+.long 0x11e805d1
+.long 0x8993b083
+.long 0x54c59fa2
+.long 0x281a83e3
+.long 0xe78d3f18
+.long 0x6e65f54e
+.long 0xaf0b94cc
+.long 0xb4f48b93
+.long 0xae7b6290
+.long 0xdb3cfc14
+.long 0x8156e475
+.long 0xb3c112f9
+.long 0x0f8a5b7a
+.long 0x2405973b
+.long 0x4ad3746a
+.long 0xe69fdab3
+.long 0xd83b7a84
+.long 0xd67d4ffc
+.long 0x3b7ffd88
+.long 0x154ad7bc
+.long 0x36d8fe3a
+.long 0xd01ce317
+.long 0xcb6d865d
+.long 0x0896b60a
+.long 0xfbf034e3
+.long 0xa3d48171
+.long 0x6075c88d
+.long 0x6f4dc9d9
+.long 0x912c1c49
+.long 0xd65e29ca
+.long 0x79cd8dfb
+.long 0x893f4deb
+.long 0x711058ec
+.long 0xc6eb5704
+.long 0x0b59636b
+.long 0x794bde9d
+.long 0xaaa0c03d
+.long 0x1e8aec41
+.long 0x0eb82afb
+.long 0x29c6ad07
+.long 0x4f4a53b8
+.long 0x0139d2d0
+.long 0xda24d0cf
+.long 0x3a16c447
+.long 0xbb269dc8
+.long 0x8cc4cae5
+.long 0xbafbc717
+.long 0x2ef492d9
+.long 0x355e6f46
+.long 0x4e3048ce
+.long 0xc8834639
+.long 0x7a6b6eef
+.long 0x2d24d1b9
+.long 0xbdde61b9
+.long 0xff3d2a43
+.long 0xa71e93a4
+.long 0x0739f0d9
+.long 0xe69c9ec2
+.long 0xc9f4cc4f
+.long 0x554523bf
+.long 0x71676a0b
+.long 0xef299fb2
+.long 0xfd4bdc7e
+.long 0x74cf1d78
+.long 0x2010e34a
+.long 0x9b2db71a
+.long 0xe257c40a
+.long 0x091e29f9
+.long 0x184908d4
+.long 0x99d940a5
+.long 0xd3083422
+.long 0xaa39d00b
+.long 0x04d90daf
+.long 0x016afd9c
+.long 0xca6b6c82
+.long 0x6da9418e
+.long 0xeec46fa5
+.long 0xfb09756a
+.long 0xfce6d25c
+.long 0x58a19ab8
+.long 0xf5d3e5b1
+.long 0x5ed0cc92
+.long 0xcb5a5d99
+.long 0x08dcd15e
+.long 0xac8d0375
+.long 0x35c87743
+.long 0xd8665d26
+.long 0x6f099236
+.long 0x59ee69cd
+.long 0x51f30d31
+.long 0x33317e08
+.long 0x582d9ee8
+.long 0x54d07f13
+.long 0x2b56f300
+.long 0xe504e32a
+.long 0x6d31b09d
+.long 0xc6ce6868
+.long 0xeccc49b2
+.long 0x902c609f
+.long 0x7c5e71d3
+.long 0x628acc3f
+.long 0x65e0c1a1
+.long 0xd481425b
+.long 0x7efd4d12
+.long 0x6214d2e9
+.long 0x40c9cb77
+.long 0xa5f215f9
+.long 0xfc82df66
+.long 0x567cc6a8
+.long 0x1b464dac
+.long 0x52eb6d83
+.long 0x8db4fb95
+.long 0xbdb65434
+.long 0x647a7dd8
+.long 0xb8324de6
+.long 0xa02a4cc4
+.long 0x1f3c213e
+.long 0x4db9314d
+.long 0x5ebe4046
+.long 0x4b2327e1
+.long 0x5648a59c
+.long 0x3f097dac
+.long 0x8b50d003
+.long 0x1d12f530
+.long 0x917d346e
+.long 0x12237747
+.long 0x6ea28e31
+.long 0x02693fad
+.long 0x468759b5
+.long 0x5bb6e38b
+.long 0x1dd3bbc8
+.long 0x64156924
+.long 0xe8d277ee
+.long 0x4e948135
+.long 0xd5eef8ef
+.long 0x6ca89ea2
+.long 0x927459c2
+.long 0x18c1c123
+.long 0x79c01078
+.long 0x47ee66b9
+.long 0x54993e82
+.long 0x0a8c559e
+.long 0x129c7574
+.long 0x4e6b3c19
+.long 0x7d594475
+.long 0x8abfc965
+.long 0x63e2f568
+.long 0x9b678c71
+.long 0xba50dcc8
+.long 0x41b85a5f
+.long 0x79f5eac3
+.long 0x582307c2
+.long 0x39194862
+.long 0x86e6e7ff
+.long 0x15321f20
+.long 0x8edc881d
+.long 0x0240fb28
+.long 0xc56ec540
+.long 0x00cebcb7
+.long 0x42502fd5
+.long 0x048e4984
+.long 0x7dfb97cc
+.long 0x935e0364
+.long 0xa47834cd
+.long 0x0933d615
+.long 0x857be4a9
+.long 0x5fe435e8
+.long 0xb798e59d
+.long 0xf769f594
+.long 0x0c9b6856
+.long 0x73911f38
+.long 0x523e8b70
+.long 0x49061fc8
+.long 0x41301112
+.long 0xe2aa9446
+.long 0xc00f0469
+.long 0xf47bbae4
+.long 0x2957dcfa
+.long 0x1f3868c1
+.long 0x18f18519
+.long 0x20a70cab
+.long 0x990715f0
+.long 0x4a0e6942
+.long 0xe93baf71
+.long 0xb8f32593
+.long 0x96595736
+.long 0xa7dcc14d
+.long 0x374c537e
+.long 0x210a8301
+.long 0x4fef1e22
+.long 0x22836918
+.long 0x3708a857
+.long 0xd8e23a48
+.long 0x545b90ef
+.long 0xde2718e0
+.long 0xf18f9aae
+.long 0x7bbe5800
+.long 0xad322605
+.long 0x0bc9f59d
+.long 0x7afc63b7
+.long 0x5cc93555
+.long 0x6a91b58e
+.long 0xcce5fd75
+.long 0xabeed857
+.long 0xc635cc0d
+.long 0x8fc811bf
+.long 0x18211469
+.long 0x28c9354f
+.long 0x6c066679
+.long 0x4b3bd1b2
+.long 0x346dd0da
+.long 0xc7f5d8b5
+.long 0xe611bbe0
+.long 0x5d32368a
+.long 0x642d12c1
+.long 0xa5a107cf
+.long 0xb1e97cfe
+.long 0x4b626b17
+.long 0xfd83e84d
+.long 0x4b02a900
+.long 0x71723f3d
+.long 0x5d897250
+.long 0x58e13426
+.long 0x359a3c2f
+.long 0xd174e395
+.long 0x2865e665
+.long 0x33647647
+.long 0xff05b84c
+.long 0x19038fbc
+.long 0xa555506d
+.long 0xc2e83249
+.long 0x4dbb3fa9
+.long 0xd98bf087
+.long 0x6e70e5f5
+.long 0x0ef49a40
+.long 0x5cdf7e01
+.long 0x714c39c5
+.long 0x6d7bb96f
+.long 0x6bdb5d7b
+.long 0xfead5602
+.long 0xe237d376
+.long 0x137132a3
+.long 0x29cbb4fb
+.long 0x27ca68ea
+.long 0x5e866aa7
+.long 0xd32ddb8c
+.long 0xbd422690
+.long 0x69227716
+.long 0xaf1e34b2
+.long 0x43a98f85
+.long 0xc9fa87b0
+.long 0x5be87dd1
+.long 0x8a249c3d
+.long 0xd0f2dc0b
+.long 0x3cc04f87
+.long 0x91259ff1
+.long 0xa9060c19
+.long 0xeac3b5c6
+.long 0x45622b47
+.long 0x01829fdb
+.long 0x0d7ad246
+.long 0xfe8f2152
+.long 0x448ce7ec
+.long 0x8ae3f63e
+.long 0x659bf1fc
+.long 0x0c846c53
+.long 0xe863d386
+.long 0x262885aa
+.long 0xece317de
+.long 0x5bb4c3a9
+.long 0x2a3022d3
+.long 0x2837f048
+.long 0x1ad0602f
+.long 0x5267353b
+.long 0xd49f868a
+.long 0xf4045d05
+.long 0xfb745076
+.long 0xd1c2b5b0
+.long 0x60d35a86
+.long 0xe8c6b60c
+.long 0x99cfe95d
+.long 0xd3383986
+.long 0xeaaed9d4
+.long 0x86faab0b
+.long 0x57fb2c17
+.long 0x4f8f2d97
+.long 0x95ebaee9
+.long 0x97e2cb6a
+.long 0x429e45f2
+.long 0x12dd5f41
+.long 0x7be6b284
+.long 0x66d4d247
+.long 0xa485bc44
+.long 0x57b9551a
+.long 0x4211d0e4
+.long 0x87a34ebf
+.long 0xa2e15156
+.long 0x03471219
+.long 0xb2d1ae8a
+.long 0xcd3e1f84
+.long 0x4fccd6c6
+.long 0x65852d1f
+.long 0x4ae708ba
+.long 0xf4ece568
+.long 0xf45eaf07
+.long 0xa9435add
+.long 0x05c78660
+.long 0x45d0ce37
+.long 0xa65cb00f
+.long 0x3b9ff335
+.long 0xefcb1eda
+.long 0x766daf1d
+.long 0xedd78154
+.long 0x85831ec5
+.long 0x1ee105a7
+.long 0x7f2a7d12
+.long 0x10474d65
+.long 0x0e37341a
+.long 0xa46e49f8
+.long 0xecb69243
+.long 0x3399202f
+.long 0x17b05a9c
+.long 0x37b8f7a4
+.long 0xd0a7e033
+.long 0x3506fb98
+.long 0x2a04fcde
+.long 0xb5f6a1c7
+.long 0x66771047
+.long 0xbacf6ad0
+.long 0x932aacb8
+.long 0x44ca1ce2
+.long 0x920415f0
+.long 0x012eded4
+.long 0xa5e9d6e0
+.long 0xdfb558a7
+.long 0xc0311c2e
+.long 0x954479c4
+.long 0x57c19c3d
+.long 0xf7a44af9
+.long 0x555832c2
+.long 0x12dd9dcf
+.long 0x11e670aa
+.long 0xb804242b
+.long 0x387fd875
+.long 0x72f7a6a2
+.long 0x04faab61
+.long 0xb01fb623
+.long 0x7f06f487
+.long 0x99bf5a35
+.long 0x486c4e2c
+.long 0xb2a3c82d
+.long 0xb5089b11
+.long 0x096d1f3f
+.long 0xf0724337
+.long 0x329dd724
+.long 0xbe582bef
+.long 0x1cb91a46
+.long 0x7e26311d
+.long 0x7e2c1b8b
+.long 0x03f1a427
+.long 0xc3c78616
+.long 0x870daf55
+.long 0x3b50c261
+.long 0x7fcafc9f
+.long 0x07ddcbc3
+.long 0x3c4f9ad4
+.long 0xc92adc9d
+.long 0x2a1b5e33
+.long 0x08fcdcd8
+.long 0x1cf1836e
+.long 0x309ede53
+.long 0x7046777b
+.long 0x7175a915
+.long 0x66cfca1e
+.long 0x20155826
+.long 0x6b49e3ee
+.long 0x7481df1f
+.long 0x613cdd4d
+.long 0xc24f50aa
+.long 0x2e79090b
+.long 0xc7d1819b
+.long 0x955c7610
+.long 0xd1b9e7d3
+.long 0xf938dbef
+.long 0x8ed3444c
+.long 0x08fdf8aa
+.long 0x7c2eb2ce
+.long 0x4242c75a
+.long 0x2de0ae6b
+.long 0x5baa7e5c
+.long 0xca5d2627
+.long 0x5e3b4c61
+.long 0x4d879429
+.long 0xa3486d48
+.long 0xf9c44559
+.long 0x43f365e4
+.long 0xde554e93
+.long 0xa2993163
+.long 0xcc227214
+.long 0x160cbb9b
+.long 0xf17e7e6a
+.long 0xb5e9bcb7
+.long 0x183d4113
+.long 0xaf318262
+.long 0x8cd5d20f
+.long 0xa0fbba4c
+.long 0xe6fa30a9
+.long 0x23387391
+.long 0xc3996fe0
+.long 0xb7573bda
+.long 0xdda9b804
+.long 0x331e4553
+.long 0xfde5fd11
+.long 0xb8bc350e
+.long 0xd499573a
+.long 0xc0f99338
+.long 0x1d0e9d6b
+.long 0xce48d9f8
+.long 0x28663aa3
+.long 0x2d79097d
+.long 0x19374bd7
+.long 0xe04dfb0a
+.long 0x85a6a5fa
+.long 0xacf8f7ec
+.long 0x55b834cf
+.long 0x4d3b4589
+.long 0xc328f012
+.long 0xfdc3ed45
+.long 0xfc432c79
+.long 0x6249052b
+.long 0x929a79b8
+.long 0x618db30a
+.long 0x6da7c6a6
+.long 0xbdcd7076
+.long 0x11b578f8
+.long 0xba74349a
+.long 0xf0738647
+.long 0xa8bb9873
+.long 0xf50fa14f
+.long 0x1c93a1f0
+.long 0x038e93d5
+.long 0x283ca2e9
+.long 0x5b2aea7b
+.long 0x22dba8f7
+.long 0xe3e04ab9
+.long 0x8563be2a
+.long 0x36ccf20e
+.long 0x4475996b
+.long 0xf1c48c1e
+.long 0x82b1a569
+.long 0xc7b7f954
+.long 0xba6ce58f
+.long 0xcc2fc1c7
+.long 0x6598688d
+.long 0x11f06e2d
+.long 0x40b7a1c6
+.long 0x760aaf66
+.long 0xdd8c0176
+.long 0x77136630
+.long 0x93cf1fcf
+.long 0x23640408
+.long 0xc87193df
+.long 0x3eec9517
+.long 0xc609eaf5
+.long 0x69de62e4
+.long 0xa178dad7
+.long 0xeba1bdd8
+.long 0x3af57911
+.long 0x6747392b
+.long 0xa753a13b
+.long 0xd75bc8f9
+.long 0x27c80057
+.long 0x99ac7884
+.long 0x522f0a08
+.long 0xf1181cdd
+.long 0x67ea9c57
+.long 0xce565c34
+.long 0x6af16345
+.long 0x745b1afa
+.long 0x3e236e0b
+.long 0x9abdc7ad
+.long 0xf0d2e6be
+.long 0xeff349a2
+.long 0x779beacd
+.long 0x2ed8aeea
+.long 0xa74844cc
+.long 0xfbcaf734
+.long 0x44bb2176
+.long 0xebb06549
+.long 0xbfb8d6e6
+.long 0x253b683c
+.long 0xfeb5bc33
+.long 0x4962373f
+.long 0x67dc405b
+.long 0xaaf68b65
+.long 0x0d5d0c7f
+.long 0x91455161
+.long 0x3fb83beb
+.long 0xdd08e2c2
+.long 0xf2082fe8
+.long 0xe55af76e
+.long 0x0dbc119c
+.long 0x53059c28
+.long 0x5dce7815
+.long 0x0e5cf0b7
+.long 0xbd5e8c81
+.long 0x9bec66e5
+.long 0x3f5b99c6
+.long 0xc3aa020c
+.long 0xb364422b
+.long 0x04d3caf9
+.long 0xfb79045b
+.long 0x6f8dcef8
+.long 0x8b0dd8b7
+.long 0x23d2a041
+.long 0x7a8aec71
+.long 0x414dd7c9
+.long 0x88595c24
+.long 0x59fc07f6
+.long 0xabb6c7f1
+.long 0x12f72e14
+.long 0x007860bf
+.long 0x11591e28
+.long 0x633e9aad
+.long 0x8493b587
+.long 0x4cc0bd7e
+.long 0x7b86476f
+.long 0xac04a3b6
+.long 0xe7659f28
+.long 0x66c85f33
+.long 0xb311eb77
+.long 0xb2250cb7
+.long 0x523db470
+.long 0xc0464d68
+.long 0x9b454009
+.long 0xde9e73de
+.long 0x298a430b
+.long 0x7ee713b7
+.long 0xb739f571
+.long 0x7b0f2f8b
+.long 0x5db98a8d
+.long 0xc9e8cd42
+.long 0xd159c208
+.long 0x69da1e02
+.long 0xdc1df82a
+.long 0x2830d1c7
+.long 0x20faab05
+.long 0x8b00616a
+.long 0x7f5562fc
+.long 0xb231d7d6
+.long 0xa3ac80b0
+.long 0xa3e4ca6a
+.long 0xbcd233ab
+.long 0x77c18379
+.long 0x7d350cdf
+.long 0x56b9dcb8
+.long 0x6044219c
+.long 0x755db7fe
+.long 0x8b463d9b
+.long 0x6c10c3d2
+.long 0x8e11bdb1
+.long 0xa8f66df2
+.long 0xd2c4b911
+.long 0xf9571303
+.long 0x128aaff7
+.long 0x6cf2fe70
+.long 0xd5b8d8e5
+.long 0xd86f74f6
+.long 0x6632ccd6
+.long 0x9fe55841
+.long 0xcbbf8fa3
+.long 0xf61fc601
+.long 0xe6c4c744
+.long 0xaab36df2
+.long 0x846dbb46
+.long 0x3545790a
+.long 0x72ab5e1d
+.long 0xe75d3442
+.long 0x476d7e0c
+.long 0x23c2ac8b
+.long 0x8d4b33b7
+.long 0x1b959d3d
+.long 0xc4aff418
+.long 0x08b70c9c
+.long 0x821bb753
+.long 0x50833e60
+.long 0x78f92d6f
+.long 0x0f3f6f0c
+.long 0xa9bc1e66
+.long 0xd08b7830
+.long 0xc0592998
+.long 0x5113aa50
+.long 0xc1972267
+.long 0x56a790a4
+.long 0x11e9c921
+.long 0x2e177e97
+.long 0x50db4604
+.long 0xc111b749
+.long 0xc7546dbc
+.long 0xb4ade00f
+.long 0xe40fecc4
+.long 0xb6096dae
+.long 0x53fa6c31
+.long 0x8bcc68ba
+.long 0xe9db4b10
+.long 0xa33916c3
+.long 0xfb972a81
+.long 0x4b88c6a1
+.long 0x73d484c8
+.long 0x157c05e3
+.long 0xa379e85e
+.long 0x6282be5a
+.long 0xdebb06b9
+.long 0xbdfc98fd
+.long 0x965ce16a
+.long 0x0e7ea144
+.long 0x15faac28
+.long 0x2c1245b3
+.long 0x4442dc6d
+.long 0x69b35e00
+.long 0xbc38d022
+.long 0x4f6e220d
+.long 0x6cedc764
+.long 0xd9b86479
+.long 0x8d665dbc
+.long 0x565e1599
+.long 0x1c157999
+.long 0x002a3165
+.long 0x38d37102
+.long 0x93728664
+.long 0xfb260ded
+.long 0x025f9ce6
+.long 0x7168fd93
+.long 0x562670f5
+.long 0x2b1cad4f
+.long 0x72c2f820
+.long 0x4a968b43
+.long 0xa23fff87
+.long 0x7a530667
+.long 0x09577b43
+.long 0xdd97b76f
+.long 0xab9f6785
+.long 0x516bda00
+.long 0x4055ccee
+.long 0x1c799829
+.long 0xef406dc3
+.long 0x34e345b5
+.long 0x065ece9a
+.long 0x546c9e8a
+.long 0xcdd041c3
+.long 0xd4a27814
+.long 0xbd1314b8
+.long 0x721f6080
+.long 0xb950b2a1
+.long 0xcef5b71c
+.long 0x0c63adef
+.long 0xcc5f3232
+.long 0x4d47e329
+.long 0x43e07a6a
+.long 0x30e69e87
+.long 0x558a1edc
+.long 0xa894e77a
+.long 0x3980e34e
+.long 0x7a94f42f
+.long 0xb184bb53
+.long 0x7d070b8f
+.long 0x3b544caa
+.long 0x4384a89a
+.long 0x17a031eb
+.long 0x835948f3
+.long 0x5c853be5
+.long 0xc6ae176e
+.long 0xa6586472
+.long 0x4543cf5a
+.long 0x5a5cb9a1
+.long 0x678c6630
+.long 0xc75dfb47
+.long 0xf4bfaf8a
+.long 0x01ef944b
+.long 0x3162bd07
+.long 0xf3fc4a54
+.long 0x2fcafffd
+.long 0x717484ce
+.long 0x6ebc0ae9
+.long 0xc13c5ef0
+.long 0xc8a902f6
+.long 0x514b108f
+.long 0x07dae31a
+.long 0x04fc7dd0
+.long 0x73931d56
+.long 0x33c86c6f
+.long 0x892498ac
+.long 0xfd8a0f3c
+.long 0xd074b9fa
+.long 0x5e137e39
+.long 0xb43edb8e
+.long 0x09952b45
+.long 0x9d827239
+.long 0x81399e63
+.long 0xc18e751c
+.long 0xa58f4211
+.long 0xa78f30e8
+.long 0xb9711d57
+.long 0x2b0ce494
+.long 0x97a3aa1a
+.long 0xae8392ce
+.long 0x93bb9b59
+.long 0xf74bc051
+.long 0x4fc76b55
+.long 0x99e7e6f6
+.long 0xe09141c3
+.long 0xe6bc065f
+.long 0xd1ec639f
+.long 0x05794354
+.long 0x50bdf9f8
+.long 0xf6cb82de
+.long 0x49991ae1
+.long 0xfa2b319d
+.long 0xdbe312e7
+.long 0xc9ab7eb5
+.long 0x68206857
+.long 0x3c2e1cc9
+.long 0xbd4f1e68
+.long 0x5234cd0e
+.long 0x483289cc
+.long 0x00063ff1
+.long 0x94918a9a
+.long 0x29cdc1b4
+.long 0xf2d804d5
+.long 0x8a5b6cee
+.long 0x58991c21
+.long 0x309c4f7a
+.long 0x08577732
+.long 0x03bf97da
+.long 0x575e03f7
+.long 0x47d577be
+.long 0x1ecdac37
+.long 0x7577536c
+.long 0x52b7638d
+.long 0x3c4aec7f
+.long 0x9e1d2194
+.long 0x2aebbf60
+.long 0x3071d4eb
+.long 0xfc527d74
+.long 0x87f43484
+.long 0xcc9190ac
+.long 0x8f228b8f
+.long 0xa1967fb7
+.long 0xe9ed1fc2
+.long 0x8a67e2a9
+.long 0x945181bc
+.long 0xac77d654
+.long 0xaf1fc166
+.long 0x956566fb
+.long 0x73e9e501
+.long 0x0c0d995c
+.long 0x25a4cef2
+.long 0xf86f515b
+.long 0x8427938c
+.long 0x32eb8fd1
+.long 0xd3d3acb5
+.long 0x9ab80317
+.long 0x2c51fb34
+.long 0x8633c80a
+.long 0x28578cd5
+.long 0xd68e015c
+.long 0xa00809be
+.long 0xe9b090d4
+.long 0x2745c90e
+.long 0x9914282f
+.long 0x23f71d47
+.long 0x08dced03
+.long 0x75d9999b
+.long 0x705b5311
+.long 0x8c280258
+.long 0x422d51b3
+.long 0x0d9c5a41
+.long 0x46d1db52
+.long 0xbf590c8b
+.long 0xc70c16d8
+.long 0x6eee7de3
+.long 0xcc1152fd
+.long 0x4dff3556
+.long 0x9833788d
+.long 0x625d1fc1
+.long 0xb473ca54
+.long 0x96dfebc3
+.long 0x83785e83
+.long 0x3731d09c
+.long 0x09f7b4e4
+.long 0x866ddedb
+.long 0x2d2b562b
+.long 0xf50dccfe
+.long 0xc25e2a17
+.long 0xb9528b56
+.long 0x7c9542f5
+.long 0x25b338d7
+.long 0xaf9ac449
+.long 0xadc9b46e
+.long 0x78493f36
+.long 0xb30c4bac
+.long 0xa8dcc84e
+.long 0xbac22e7a
+.long 0xbc39ff10
+.long 0xd548878b
+.long 0x7be6866a
+.long 0xb6e2810d
+.long 0x38e1bdf4
+.long 0x33932402
+.long 0xcf7a0cab
+.long 0x94e8e54c
+.long 0xd7da5616
+.long 0x2993c546
+.long 0xa0fe49a8
+.long 0xbe00043d
+.long 0xf7c49868
+.long 0x9aff66d8
+.long 0x70b1a584
+.long 0x9e0097c9
+.long 0x6e4f5280
+.long 0xddb50fc8
+.long 0x8101de5b
+.long 0xa8c8b00b
+.long 0xe4b9a6e5
+.long 0x0a3f75d4
+.long 0xc6f09bda
+.long 0x1b04ddd6
+.long 0xf038734c
+.long 0x71bd23a2
+.long 0x4a8fb523
+.long 0xdc27e1f6
+.long 0x3d037717
+.long 0x0f7a055b
+.long 0xbff08ae0
+.long 0x3270c017
+.long 0x7ff2c3bb
+.long 0x8bc96dac
+.long 0x122f1e92
+.long 0x6d2332cf
+.long 0xa800b76c
+.long 0xcce5b4a3
+.long 0x735db6e9
+.long 0x446f7dca
+.long 0xf617597b
+.long 0x21dd807b
+.long 0x457ee85e
+.long 0x719f7986
+.long 0x36e06706
+.long 0xcadc978f
+.long 0xd9d5bfc4
+.long 0xed7e7390
+.long 0x57a4b541
+.long 0x0163c9c6
+.long 0x953e93f8
+.long 0x56241ce5
+.long 0xf461c600
+.long 0xaa1a0e8a
+.long 0x8141aa92
+.long 0x38863f1e
+.long 0x4aa181d4
+.long 0x897163af
+.long 0xb32f6291
+.long 0x5d865044
+.long 0x31b40242
+.long 0x2b344852
+.long 0x3b71ff01
+.long 0xc55e3be3
+.long 0x56682d91
+.long 0xacb2de10
+.long 0x80c17290
+.long 0xaf92d724
+.long 0xfd5d9ca3
+.long 0x4041c9b4
+.long 0x0420b3fe
+.long 0xe8da74a1
+.long 0xfc7dda49
+.long 0x9010dba4
+.long 0x8b992a7d
+.long 0x9ba6ebb7
+.long 0x7148829b
+.long 0x1dbd5735
+.long 0x9b3da7d3
+.long 0x0b3125f2
+.long 0xf6fc1fad
+.long 0x5b075f2d
+.long 0xf4e62d59
+.long 0xf438e469
+.long 0xc4cad84e
+.long 0x7f949ca7
+.long 0x90955fb9
+.long 0xc9e5edb8
+.long 0x29921c0b
+.long 0x0eb3a485
+.long 0x20991465
+.long 0xa8613443
+.long 0x4fda6f18
+.long 0x9770eeba
+.long 0xbdc1cad3
+.long 0xa22cc38b
+.long 0x12154f91
+.long 0x7894619b
+.long 0xc9532a58
+.long 0x004a624e
+.long 0xec45e477
+.long 0x5931826f
+.long 0x6b76c4a9
+.long 0x28add60d
+.long 0xc5adbdfa
+.long 0x95fd4b70
+.long 0x56506408
+.long 0x219893e1
+.long 0x620b6576
+.long 0x1a947688
+.long 0x9f2312f8
+.long 0x13ce6928
+.long 0xc792d2a4
+.long 0xfd40baec
+.long 0x8ffdd283
+.long 0xc0cc45dd
+.long 0xcbb7127c
+.long 0xbb200adc
+.long 0x4de39b0d
+.long 0x9d6ad14d
+.long 0x46548325
+.long 0x218c4db9
+.long 0x1080ca97
+.long 0x2493d0dd
+.long 0x1fe3ff95
+.long 0xc93661a8
+.long 0x71c58a82
+.long 0x00fca79a
+.long 0x8cc42c38
+.long 0x86715f01
+.long 0x0d04fdc3
+.long 0xe0085450
+.long 0x4cc3cd21
+.long 0x596026bd
+.long 0x3e672f6e
+.long 0x1b3c52e4
+.long 0xb36ba53b
+.long 0x3839341c
+.long 0x54dfc0ab
+.long 0xe8f1a48b
+.long 0x92c5d4fb
+.long 0x84c878b6
+.long 0xf1e23bff
+.long 0x703501ca
+.long 0xdf9805fb
+.long 0x1dccb93c
+.long 0xa38cbae3
+.long 0xeeecd7c3
+.long 0x0b4ae80a
+.long 0xc3f0700d
+.long 0xff103196