mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed4babea98 | ||
|
|
14bf10f3d1 | ||
|
|
7f826231ea | ||
|
|
4341bb934e | ||
|
|
e37568a5de | ||
|
|
56eb9380a1 | ||
|
|
1985779c14 |
998 changed files with 24685 additions and 191389 deletions
|
|
@ -265,71 +265,6 @@ Description: Specific uncompressed frame descriptors
|
|||
bmCapabilities - still image support, fixed frame-rate
|
||||
support
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased
|
||||
Date: Oct 2025
|
||||
KernelVersion: 5.4
|
||||
Description: Framebased format descriptors
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased/name
|
||||
Date: Oct 2025
|
||||
KernelVersion: 5.4
|
||||
Description: Specific framebased format descriptors
|
||||
|
||||
================== =======================================
|
||||
bFormatIndex unique id for this format descriptor;
|
||||
only defined after parent header is
|
||||
linked into the streaming class;
|
||||
read-only
|
||||
bmaControls this format's data for bmaControls in
|
||||
the streaming header
|
||||
bmInterlaceFlags specifies interlace information,
|
||||
read-only
|
||||
bAspectRatioY the X dimension of the picture aspect
|
||||
ratio, read-only
|
||||
bAspectRatioX the Y dimension of the picture aspect
|
||||
ratio, read-only
|
||||
bDefaultFrameIndex optimum frame index for this stream
|
||||
bBitsPerPixel number of bits per pixel used to
|
||||
specify color in the decoded video
|
||||
frame
|
||||
guidFormat globally unique id used to identify
|
||||
stream-encoding format
|
||||
================== =======================================
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/framebased/name/name
|
||||
Date: Sept 2024
|
||||
KernelVersion: 5.15
|
||||
Description: Specific framebased frame descriptors
|
||||
|
||||
========================= =====================================
|
||||
bFrameIndex unique id for this framedescriptor;
|
||||
only defined after parent format is
|
||||
linked into the streaming header;
|
||||
read-only
|
||||
dwFrameInterval indicates how frame interval can be
|
||||
programmed; a number of values
|
||||
separated by newline can be specified
|
||||
dwDefaultFrameInterval the frame interval the device would
|
||||
like to use as default
|
||||
dwBytesPerLine Specifies the number of bytes per line
|
||||
|
||||
of video for packed fixed frame size
|
||||
formats, allowing the receiver to
|
||||
perform stride alignment of the video.
|
||||
If the bVariableSize value (above) is
|
||||
TRUE (1), or if the format does not
|
||||
permit such alignment, this value shall
|
||||
be set to zero (0).
|
||||
dwMaxBitRate the maximum bit rate at the shortest
|
||||
frame interval in bps
|
||||
dwMinBitRate the minimum bit rate at the longest
|
||||
frame interval in bps
|
||||
wHeight height of decoded bitmap frame in px
|
||||
wWidth width of decoded bitmam frame in px
|
||||
bmCapabilities still image support, fixed frame-rate
|
||||
support
|
||||
========================= =====================================
|
||||
|
||||
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header
|
||||
Date: Dec 2014
|
||||
KernelVersion: 4.0
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
What: /sys/fs/fuse/features/fuse_bpf
|
||||
Date: December 2022
|
||||
Contact: Paul Lawrence <paullawrence@google.com>
|
||||
Description:
|
||||
Read-only file that contains the word 'supported' if fuse-bpf is
|
||||
supported, does not exist otherwise
|
||||
|
||||
What: /sys/fs/fuse/bpf_prog_type_fuse
|
||||
Date: December 2022
|
||||
Contact: Paul Lawrence <paullawrence@google.com>
|
||||
Description:
|
||||
bpf_prog_type_fuse defines the program type of bpf programs that
|
||||
may be passed to fuse-bpf. For upstream bpf program types, this
|
||||
is a constant defined in a contiguous array of constants.
|
||||
bpf_prog_type_fuse is appended to the end of the list, so it may
|
||||
change and therefore its value must be read from this file.
|
||||
|
||||
Contents is ASCII decimal representation of bpf_prog_type_fuse
|
||||
|
||||
|
|
@ -3187,21 +3187,6 @@
|
|||
in certain environments such as networked servers or
|
||||
real-time systems.
|
||||
|
||||
no_hash_pointers
|
||||
Force pointers printed to the console or buffers to be
|
||||
unhashed. By default, when a pointer is printed via %p
|
||||
format string, that pointer is "hashed", i.e. obscured
|
||||
by hashing the pointer value. This is a security feature
|
||||
that hides actual kernel addresses from unprivileged
|
||||
users, but it also makes debugging the kernel more
|
||||
difficult since unequal pointers can no longer be
|
||||
compared. However, if this command-line option is
|
||||
specified, then all normal pointers will have their true
|
||||
value printed. Pointers printed via %pK may still be
|
||||
hashed. This option should only be specified when
|
||||
debugging the kernel. Please do not use on production
|
||||
kernels.
|
||||
|
||||
nohibernate [HIBERNATION] Disable hibernation and resume.
|
||||
|
||||
nohz= [KNL] Boottime enable/disable dynamic ticks
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ whole; patches welcome!
|
|||
kasan
|
||||
ubsan
|
||||
kmemleak
|
||||
kfence
|
||||
gdb-kernel-debugging
|
||||
kgdb
|
||||
kselftest
|
||||
|
|
|
|||
|
|
@ -1,298 +0,0 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
.. Copyright (C) 2020, Google LLC.
|
||||
|
||||
Kernel Electric-Fence (KFENCE)
|
||||
==============================
|
||||
|
||||
Kernel Electric-Fence (KFENCE) is a low-overhead sampling-based memory safety
|
||||
error detector. KFENCE detects heap out-of-bounds access, use-after-free, and
|
||||
invalid-free errors.
|
||||
|
||||
KFENCE is designed to be enabled in production kernels, and has near zero
|
||||
performance overhead. Compared to KASAN, KFENCE trades performance for
|
||||
precision. The main motivation behind KFENCE's design, is that with enough
|
||||
total uptime KFENCE will detect bugs in code paths not typically exercised by
|
||||
non-production test workloads. One way to quickly achieve a large enough total
|
||||
uptime is when the tool is deployed across a large fleet of machines.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
To enable KFENCE, configure the kernel with::
|
||||
|
||||
CONFIG_KFENCE=y
|
||||
|
||||
To build a kernel with KFENCE support, but disabled by default (to enable, set
|
||||
``kfence.sample_interval`` to non-zero value), configure the kernel with::
|
||||
|
||||
CONFIG_KFENCE=y
|
||||
CONFIG_KFENCE_SAMPLE_INTERVAL=0
|
||||
|
||||
KFENCE provides several other configuration options to customize behaviour (see
|
||||
the respective help text in ``lib/Kconfig.kfence`` for more info).
|
||||
|
||||
Tuning performance
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The most important parameter is KFENCE's sample interval, which can be set via
|
||||
the kernel boot parameter ``kfence.sample_interval`` in milliseconds. The
|
||||
sample interval determines the frequency with which heap allocations will be
|
||||
guarded by KFENCE. The default is configurable via the Kconfig option
|
||||
``CONFIG_KFENCE_SAMPLE_INTERVAL``. Setting ``kfence.sample_interval=0``
|
||||
disables KFENCE.
|
||||
|
||||
The KFENCE memory pool is of fixed size, and if the pool is exhausted, no
|
||||
further KFENCE allocations occur. With ``CONFIG_KFENCE_NUM_OBJECTS`` (default
|
||||
255), the number of available guarded objects can be controlled. Each object
|
||||
requires 2 pages, one for the object itself and the other one used as a guard
|
||||
page; object pages are interleaved with guard pages, and every object page is
|
||||
therefore surrounded by two guard pages.
|
||||
|
||||
The total memory dedicated to the KFENCE memory pool can be computed as::
|
||||
|
||||
( #objects + 1 ) * 2 * PAGE_SIZE
|
||||
|
||||
Using the default config, and assuming a page size of 4 KiB, results in
|
||||
dedicating 2 MiB to the KFENCE memory pool.
|
||||
|
||||
Note: On architectures that support huge pages, KFENCE will ensure that the
|
||||
pool is using pages of size ``PAGE_SIZE``. This will result in additional page
|
||||
tables being allocated.
|
||||
|
||||
Error reports
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
A typical out-of-bounds access looks like this::
|
||||
|
||||
==================================================================
|
||||
BUG: KFENCE: out-of-bounds read in test_out_of_bounds_read+0xa3/0x22b
|
||||
|
||||
Out-of-bounds read at 0xffffffffb672efff (1B left of kfence-#17):
|
||||
test_out_of_bounds_read+0xa3/0x22b
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
kfence-#17 [0xffffffffb672f000-0xffffffffb672f01f, size=32, cache=kmalloc-32] allocated by task 507:
|
||||
test_alloc+0xf3/0x25b
|
||||
test_out_of_bounds_read+0x98/0x22b
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
CPU: 4 PID: 107 Comm: kunit_try_catch Not tainted 5.8.0-rc6+ #7
|
||||
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
|
||||
==================================================================
|
||||
|
||||
The header of the report provides a short summary of the function involved in
|
||||
the access. It is followed by more detailed information about the access and
|
||||
its origin. Note that, real kernel addresses are only shown when using the
|
||||
kernel command line option ``no_hash_pointers``.
|
||||
|
||||
Use-after-free accesses are reported as::
|
||||
|
||||
==================================================================
|
||||
BUG: KFENCE: use-after-free read in test_use_after_free_read+0xb3/0x143
|
||||
|
||||
Use-after-free read at 0xffffffffb673dfe0 (in kfence-#24):
|
||||
test_use_after_free_read+0xb3/0x143
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
kfence-#24 [0xffffffffb673dfe0-0xffffffffb673dfff, size=32, cache=kmalloc-32] allocated by task 507:
|
||||
test_alloc+0xf3/0x25b
|
||||
test_use_after_free_read+0x76/0x143
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
freed by task 507:
|
||||
test_use_after_free_read+0xa8/0x143
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
CPU: 4 PID: 109 Comm: kunit_try_catch Tainted: G W 5.8.0-rc6+ #7
|
||||
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
|
||||
==================================================================
|
||||
|
||||
KFENCE also reports on invalid frees, such as double-frees::
|
||||
|
||||
==================================================================
|
||||
BUG: KFENCE: invalid free in test_double_free+0xdc/0x171
|
||||
|
||||
Invalid free of 0xffffffffb6741000:
|
||||
test_double_free+0xdc/0x171
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
kfence-#26 [0xffffffffb6741000-0xffffffffb674101f, size=32, cache=kmalloc-32] allocated by task 507:
|
||||
test_alloc+0xf3/0x25b
|
||||
test_double_free+0x76/0x171
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
freed by task 507:
|
||||
test_double_free+0xa8/0x171
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
CPU: 4 PID: 111 Comm: kunit_try_catch Tainted: G W 5.8.0-rc6+ #7
|
||||
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
|
||||
==================================================================
|
||||
|
||||
KFENCE also uses pattern-based redzones on the other side of an object's guard
|
||||
page, to detect out-of-bounds writes on the unprotected side of the object.
|
||||
These are reported on frees::
|
||||
|
||||
==================================================================
|
||||
BUG: KFENCE: memory corruption in test_kmalloc_aligned_oob_write+0xef/0x184
|
||||
|
||||
Corrupted memory at 0xffffffffb6797ff9 [ 0xac . . . . . . ] (in kfence-#69):
|
||||
test_kmalloc_aligned_oob_write+0xef/0x184
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
kfence-#69 [0xffffffffb6797fb0-0xffffffffb6797ff8, size=73, cache=kmalloc-96] allocated by task 507:
|
||||
test_alloc+0xf3/0x25b
|
||||
test_kmalloc_aligned_oob_write+0x57/0x184
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
CPU: 4 PID: 120 Comm: kunit_try_catch Tainted: G W 5.8.0-rc6+ #7
|
||||
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
|
||||
==================================================================
|
||||
|
||||
For such errors, the address where the corruption occurred as well as the
|
||||
invalidly written bytes (offset from the address) are shown; in this
|
||||
representation, '.' denote untouched bytes. In the example above ``0xac`` is
|
||||
the value written to the invalid address at offset 0, and the remaining '.'
|
||||
denote that no following bytes have been touched. Note that, real values are
|
||||
only shown if the kernel was booted with ``no_hash_pointers``; to avoid
|
||||
information disclosure otherwise, '!' is used instead to denote invalidly
|
||||
written bytes.
|
||||
|
||||
And finally, KFENCE may also report on invalid accesses to any protected page
|
||||
where it was not possible to determine an associated object, e.g. if adjacent
|
||||
object pages had not yet been allocated::
|
||||
|
||||
==================================================================
|
||||
BUG: KFENCE: invalid read in test_invalid_access+0x26/0xe0
|
||||
|
||||
Invalid read at 0xffffffffb670b00a:
|
||||
test_invalid_access+0x26/0xe0
|
||||
kunit_try_run_case+0x51/0x85
|
||||
kunit_generic_run_threadfn_adapter+0x16/0x30
|
||||
kthread+0x137/0x160
|
||||
ret_from_fork+0x22/0x30
|
||||
|
||||
CPU: 4 PID: 124 Comm: kunit_try_catch Tainted: G W 5.8.0-rc6+ #7
|
||||
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
|
||||
==================================================================
|
||||
|
||||
DebugFS interface
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Some debugging information is exposed via debugfs:
|
||||
|
||||
* The file ``/sys/kernel/debug/kfence/stats`` provides runtime statistics.
|
||||
|
||||
* The file ``/sys/kernel/debug/kfence/objects`` provides a list of objects
|
||||
allocated via KFENCE, including those already freed but protected.
|
||||
|
||||
Implementation Details
|
||||
----------------------
|
||||
|
||||
Guarded allocations are set up based on the sample interval. After expiration
|
||||
of the sample interval, the next allocation through the main allocator (SLAB or
|
||||
SLUB) returns a guarded allocation from the KFENCE object pool (allocation
|
||||
sizes up to PAGE_SIZE are supported). At this point, the timer is reset, and
|
||||
the next allocation is set up after the expiration of the interval. To "gate" a
|
||||
KFENCE allocation through the main allocator's fast-path without overhead,
|
||||
KFENCE relies on static branches via the static keys infrastructure. The static
|
||||
branch is toggled to redirect the allocation to KFENCE.
|
||||
|
||||
KFENCE objects each reside on a dedicated page, at either the left or right
|
||||
page boundaries selected at random. The pages to the left and right of the
|
||||
object page are "guard pages", whose attributes are changed to a protected
|
||||
state, and cause page faults on any attempted access. Such page faults are then
|
||||
intercepted by KFENCE, which handles the fault gracefully by reporting an
|
||||
out-of-bounds access, and marking the page as accessible so that the faulting
|
||||
code can (wrongly) continue executing (set ``panic_on_warn`` to panic instead).
|
||||
|
||||
To detect out-of-bounds writes to memory within the object's page itself,
|
||||
KFENCE also uses pattern-based redzones. For each object page, a redzone is set
|
||||
up for all non-object memory. For typical alignments, the redzone is only
|
||||
required on the unguarded side of an object. Because KFENCE must honor the
|
||||
cache's requested alignment, special alignments may result in unprotected gaps
|
||||
on either side of an object, all of which are redzoned.
|
||||
|
||||
The following figure illustrates the page layout::
|
||||
|
||||
---+-----------+-----------+-----------+-----------+-----------+---
|
||||
| xxxxxxxxx | O : | xxxxxxxxx | : O | xxxxxxxxx |
|
||||
| xxxxxxxxx | B : | xxxxxxxxx | : B | xxxxxxxxx |
|
||||
| x GUARD x | J : RED- | x GUARD x | RED- : J | x GUARD x |
|
||||
| xxxxxxxxx | E : ZONE | xxxxxxxxx | ZONE : E | xxxxxxxxx |
|
||||
| xxxxxxxxx | C : | xxxxxxxxx | : C | xxxxxxxxx |
|
||||
| xxxxxxxxx | T : | xxxxxxxxx | : T | xxxxxxxxx |
|
||||
---+-----------+-----------+-----------+-----------+-----------+---
|
||||
|
||||
Upon deallocation of a KFENCE object, the object's page is again protected and
|
||||
the object is marked as freed. Any further access to the object causes a fault
|
||||
and KFENCE reports a use-after-free access. Freed objects are inserted at the
|
||||
tail of KFENCE's freelist, so that the least recently freed objects are reused
|
||||
first, and the chances of detecting use-after-frees of recently freed objects
|
||||
is increased.
|
||||
|
||||
Interface
|
||||
---------
|
||||
|
||||
The following describes the functions which are used by allocators as well as
|
||||
page handling code to set up and deal with KFENCE allocations.
|
||||
|
||||
.. kernel-doc:: include/linux/kfence.h
|
||||
:functions: is_kfence_address
|
||||
kfence_shutdown_cache
|
||||
kfence_alloc kfence_free __kfence_free
|
||||
kfence_ksize kfence_object_start
|
||||
kfence_handle_page_fault
|
||||
|
||||
Related Tools
|
||||
-------------
|
||||
|
||||
In userspace, a similar approach is taken by `GWP-ASan
|
||||
<http://llvm.org/docs/GwpAsan.html>`_. GWP-ASan also relies on guard pages and
|
||||
a sampling strategy to detect memory unsafety bugs at scale. KFENCE's design is
|
||||
directly influenced by GWP-ASan, and can be seen as its kernel sibling. Another
|
||||
similar but non-sampling approach, that also inspired the name "KFENCE", can be
|
||||
found in the userspace `Electric Fence Malloc Debugger
|
||||
<https://linux.die.net/man/3/efence>`_.
|
||||
|
||||
In the kernel, several tools exist to debug memory access errors, and in
|
||||
particular KASAN can detect all bug classes that KFENCE can detect. While KASAN
|
||||
is more precise, relying on compiler instrumentation, this comes at a
|
||||
performance cost.
|
||||
|
||||
It is worth highlighting that KASAN and KFENCE are complementary, with
|
||||
different target environments. For instance, KASAN is the better debugging-aid,
|
||||
where test cases or reproducers exists: due to the lower chance to detect the
|
||||
error, it would require more effort using KFENCE to debug. Deployments at scale
|
||||
that cannot afford to enable KASAN, however, would benefit from using KFENCE to
|
||||
discover bugs due to code paths not exercised by test cases or fuzzers.
|
||||
|
|
@ -46,8 +46,10 @@ non-privileged mounts. This opens up new possibilities for the use of
|
|||
filesystems. A good example is sshfs: a secure network filesystem
|
||||
using the sftp protocol.
|
||||
|
||||
The userspace library and utilities are available from the
|
||||
`FUSE homepage: <https://github.com/libfuse/>`_
|
||||
The userspace library and utilities are available from the FUSE
|
||||
homepage:
|
||||
|
||||
http://fuse.sourceforge.net/
|
||||
|
||||
Filesystem type
|
||||
~~~~~~~~~~~~~~~
|
||||
|
|
|
|||
|
|
@ -1823,20 +1823,18 @@ if precise results are needed.
|
|||
3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
|
||||
---------------------------------------------------------------
|
||||
This file provides information associated with an opened file. The regular
|
||||
files have at least four fields -- 'pos', 'flags', 'mnt_id' and 'ino'.
|
||||
The 'pos' represents the current offset of the opened file in decimal
|
||||
form [see lseek(2) for details], 'flags' denotes the octal O_xxx mask the
|
||||
file has been created with [see open(2) for details] and 'mnt_id' represents
|
||||
mount ID of the file system containing the opened file [see 3.5
|
||||
/proc/<pid>/mountinfo for details]. 'ino' represents the inode number of
|
||||
the file.
|
||||
files have at least three fields -- 'pos', 'flags' and mnt_id. The 'pos'
|
||||
represents the current offset of the opened file in decimal form [see lseek(2)
|
||||
for details], 'flags' denotes the octal O_xxx mask the file has been
|
||||
created with [see open(2) for details] and 'mnt_id' represents mount ID of
|
||||
the file system containing the opened file [see 3.5 /proc/<pid>/mountinfo
|
||||
for details].
|
||||
|
||||
A typical output is
|
||||
|
||||
pos: 0
|
||||
flags: 0100002
|
||||
mnt_id: 19
|
||||
ino: 63107
|
||||
|
||||
All locks associated with a file descriptor are shown in its fdinfo too.
|
||||
|
||||
|
|
@ -1850,7 +1848,6 @@ pair provide additional information particular to the objects they represent.
|
|||
pos: 0
|
||||
flags: 04002
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
eventfd-count: 5a
|
||||
|
||||
where 'eventfd-count' is hex value of a counter.
|
||||
|
|
@ -1860,7 +1857,6 @@ pair provide additional information particular to the objects they represent.
|
|||
pos: 0
|
||||
flags: 04002
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
sigmask: 0000000000000200
|
||||
|
||||
where 'sigmask' is hex value of the signal mask associated
|
||||
|
|
@ -1871,7 +1867,6 @@ pair provide additional information particular to the objects they represent.
|
|||
pos: 0
|
||||
flags: 02
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
tfd: 5 events: 1d data: ffffffffffffffff pos:0 ino:61af sdev:7
|
||||
|
||||
where 'tfd' is a target file descriptor number in decimal form,
|
||||
|
|
@ -1888,8 +1883,6 @@ pair provide additional information particular to the objects they represent.
|
|||
|
||||
pos: 0
|
||||
flags: 02000000
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7e9e0000640d1b6d
|
||||
|
||||
where 'wd' is a watch descriptor in decimal form, ie a target file
|
||||
|
|
@ -1912,7 +1905,6 @@ pair provide additional information particular to the objects they represent.
|
|||
pos: 0
|
||||
flags: 02
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
fanotify flags:10 event-flags:0
|
||||
fanotify mnt_id:12 mflags:40 mask:38 ignored_mask:40000003
|
||||
fanotify ino:4f969 sdev:800013 mflags:0 mask:3b ignored_mask:40000000 fhandle-bytes:8 fhandle-type:1 f_handle:69f90400c275b5b4
|
||||
|
|
@ -1935,7 +1927,6 @@ pair provide additional information particular to the objects they represent.
|
|||
pos: 0
|
||||
flags: 02
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
clockid: 0
|
||||
ticks: 0
|
||||
settime flags: 01
|
||||
|
|
@ -1950,22 +1941,6 @@ pair provide additional information particular to the objects they represent.
|
|||
with TIMER_ABSTIME option which will be shown in 'settime flags', but 'it_value'
|
||||
still exhibits timer's remaining time.
|
||||
|
||||
DMA Buffer files
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
pos: 0
|
||||
flags: 04002
|
||||
mnt_id: 9
|
||||
ino: 63107
|
||||
size: 32768
|
||||
count: 2
|
||||
exp_name: system-heap
|
||||
|
||||
where 'size' is the size of the DMA buffer in bytes. 'count' is the file count of
|
||||
the DMA buffer file. 'exp_name' is the name of the DMA buffer exporter.
|
||||
|
||||
3.9 /proc/<pid>/map_files - Information about memory mapped files
|
||||
---------------------------------------------------------------------
|
||||
This directory contains symbolic links which represent memory mapped files
|
||||
|
|
|
|||
|
|
@ -1660,14 +1660,6 @@ accept_ra_min_hop_limit - INTEGER
|
|||
|
||||
Default: 1
|
||||
|
||||
accept_ra_min_lft - INTEGER
|
||||
Minimum acceptable lifetime value in Router Advertisement.
|
||||
|
||||
RA sections with a lifetime less than this value shall be
|
||||
ignored. Zero lifetimes stay unaffected.
|
||||
|
||||
Default: 0
|
||||
|
||||
accept_ra_pinfo - BOOLEAN
|
||||
Learn Prefix Information in Router Advertisement.
|
||||
|
||||
|
|
|
|||
1
KernelSU
Submodule
1
KernelSU
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit b766b98513b5a7eb33bc1c4a76b5702bf1288f07
|
||||
|
|
@ -6742,8 +6742,7 @@ F: drivers/platform/x86/fujitsu-tablet.c
|
|||
FUSE: FILESYSTEM IN USERSPACE
|
||||
M: Miklos Szeredi <miklos@szeredi.hu>
|
||||
L: linux-fsdevel@vger.kernel.org
|
||||
S: Maintained
|
||||
W: https://github.com/libfuse/
|
||||
W: http://fuse.sourceforge.net/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git
|
||||
S: Maintained
|
||||
F: fs/fuse/
|
||||
|
|
@ -12851,7 +12850,6 @@ S: Maintained
|
|||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
|
||||
F: samples/pidfd/
|
||||
F: tools/testing/selftests/pidfd/
|
||||
F: tools/testing/selftests/clone3/
|
||||
K: (?i)pidfd
|
||||
K: (?i)clone3
|
||||
K: \b(clone_args|kernel_clone_args)\b
|
||||
|
|
|
|||
23
Makefile
23
Makefile
|
|
@ -596,11 +596,9 @@ CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
|
|||
endif # CROSS_COMPILE
|
||||
|
||||
ifeq ($(LLVM_IAS),0)
|
||||
CLANG_FLAGS += -fno-integrated-as
|
||||
CLANG_FLAGS += -no-integrated-as
|
||||
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
||||
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
|
||||
else
|
||||
CLANG_FLAGS += -fintegrated-as
|
||||
endif
|
||||
CLANG_FLAGS += -Werror=unknown-warning-option
|
||||
KBUILD_CPPFLAGS += $(CLANG_FLAGS)
|
||||
|
|
@ -873,8 +871,7 @@ DEBUG_CFLAGS += -gsplit-dwarf
|
|||
else
|
||||
DEBUG_CFLAGS += -g
|
||||
endif
|
||||
|
||||
ifdef CONFIG_AS_IS_LLVM
|
||||
ifeq ($(LLVM_IAS),1)
|
||||
KBUILD_AFLAGS += -g
|
||||
else
|
||||
KBUILD_AFLAGS += -Wa,-gdwarf-2
|
||||
|
|
@ -947,6 +944,7 @@ endif
|
|||
ifdef CONFIG_LTO_CLANG
|
||||
ifdef CONFIG_THINLTO
|
||||
CC_FLAGS_LTO_CLANG := -flto=thin $(call cc-option, -fsplit-lto-unit)
|
||||
KBUILD_LDFLAGS += --thinlto-cache-dir=.thinlto-cache
|
||||
else
|
||||
CC_FLAGS_LTO_CLANG := -flto
|
||||
endif
|
||||
|
|
@ -963,8 +961,7 @@ endif
|
|||
|
||||
ifdef CONFIG_LTO
|
||||
CC_FLAGS_LTO := $(CC_FLAGS_LTO_CLANG)
|
||||
KBUILD_CFLAGS += -fno-lto $(CC_FLAGS_LTO)
|
||||
KBUILD_AFLAGS += -fno-lto
|
||||
KBUILD_CFLAGS += $(CC_FLAGS_LTO)
|
||||
export CC_FLAGS_LTO
|
||||
endif
|
||||
|
||||
|
|
@ -1017,6 +1014,15 @@ KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
|
|||
# disable invalid "can't wrap" optimizations for signed / pointers
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
|
||||
|
||||
# clang sets -fmerge-all-constants by default as optimization, but this
|
||||
# is non-conforming behavior for C and in fact breaks the kernel, so we
|
||||
# need to disable it here generally.
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-merge-all-constants)
|
||||
|
||||
# for gcc -fno-merge-all-constants disables everything, but it is fine
|
||||
# to have actual conforming behavior enabled.
|
||||
KBUILD_CFLAGS += $(call cc-option,-fmerge-constants)
|
||||
|
||||
# Make sure -fstack-check isn't enabled (like gentoo apparently did)
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-stack-check,)
|
||||
|
||||
|
|
@ -1058,8 +1064,7 @@ LDFLAGS_vmlinux += $(call ld-option, -X,)
|
|||
endif
|
||||
|
||||
ifeq ($(CONFIG_RELR),y)
|
||||
# ld.lld before 15 did not support -z pack-relative-relocs.
|
||||
LDFLAGS_vmlinux += $(call ld-option,--pack-dyn-relocs=relr,-z pack-relative-relocs)
|
||||
LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags
|
||||
endif
|
||||
|
||||
# userspace programs are linked via the compiler, use the correct linker
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
LTS_5.4.302_91d385eb2a41
|
||||
LTS_5.4.289_4c8fb3275889
|
||||
|
|
|
|||
|
|
@ -124,8 +124,6 @@
|
|||
|
||||
#define SO_DETACH_REUSEPORT_BPF 68
|
||||
|
||||
#define SO_NETNS_COOKIE 71
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
#if __BITS_PER_LONG == 64
|
||||
|
|
|
|||
4
arch/arm/configs/vendor/sdxlemur.config
vendored
4
arch/arm/configs/vendor/sdxlemur.config
vendored
|
|
@ -51,10 +51,6 @@ CONFIG_CNSS_ASYNC=y
|
|||
CONFIG_CNSS_QCA6490=y
|
||||
CONFIG_CNSS_UTILS=y
|
||||
# CONFIG_CNSS_GENL is not set
|
||||
CONFIG_CNSS=m
|
||||
CONFIG_CNSS_CRYPTO=y
|
||||
CONFIG_CNSS_PCI=y
|
||||
CONFIG_CNSS_LOGGER=m
|
||||
CONFIG_QCOM_MEMORY_DUMP_V2=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ generic-y += mmiowb.h
|
|||
generic-y += msi.h
|
||||
generic-y += parport.h
|
||||
generic-y += preempt.h
|
||||
generic-y += seccomp.h
|
||||
generic-y += serial.h
|
||||
generic-y += trace_clock.h
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
#ifndef _ASM_SECCOMP_H
|
||||
#define _ASM_SECCOMP_H
|
||||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#define SECCOMP_ARCH_NATIVE AUDIT_ARCH_ARM
|
||||
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
#define SECCOMP_ARCH_NATIVE_NAME "arm"
|
||||
|
||||
#endif /* _ASM_SECCOMP_H */
|
||||
|
|
@ -129,7 +129,6 @@ config ARM64
|
|||
select HAVE_ARCH_JUMP_LABEL_RELATIVE
|
||||
select HAVE_ARCH_KASAN if !(ARM64_16K_PAGES && ARM64_VA_BITS_48)
|
||||
select HAVE_ARCH_KASAN_SW_TAGS if HAVE_ARCH_KASAN
|
||||
select HAVE_ARCH_KFENCE
|
||||
select HAVE_ARCH_KGDB
|
||||
select HAVE_ARCH_MMAP_RND_BITS
|
||||
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@
|
|||
label = "google_key";
|
||||
gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_ASSISTANT>;
|
||||
linux,code = <KEY_SEARCH>;
|
||||
gpio-key,wakeup;
|
||||
debounce-interval = <15>;
|
||||
linux,can-disable;
|
||||
|
|
|
|||
|
|
@ -628,7 +628,7 @@
|
|||
label = "google_key";
|
||||
gpios = <&tlmm 60 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_ASSISTANT>;
|
||||
linux,code = <KEY_SEARCH>;
|
||||
gpio-key,wakeup;
|
||||
debounce-interval = <15>;
|
||||
linux,can-disable;
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@
|
|||
label = "google_key";
|
||||
gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_ASSISTANT>;
|
||||
linux,code = <KEY_SEARCH>;
|
||||
gpio-key,wakeup;
|
||||
debounce-interval = <15>;
|
||||
linux,can-disable;
|
||||
|
|
|
|||
|
|
@ -340,7 +340,7 @@
|
|||
label = "google_key";
|
||||
gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_ASSISTANT>;
|
||||
linux,code = <KEY_SEARCH>;
|
||||
gpio-key,wakeup;
|
||||
debounce-interval = <15>;
|
||||
linux,can-disable;
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@
|
|||
label = "google_key";
|
||||
gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <KEY_ASSISTANT>;
|
||||
linux,code = <KEY_SEARCH>;
|
||||
gpio-key,wakeup;
|
||||
debounce-interval = <15>;
|
||||
linux,can-disable;
|
||||
|
|
|
|||
|
|
@ -209,27 +209,14 @@ CONFIG_L2TP=y
|
|||
CONFIG_BRIDGE=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_SCH_PRIO=y
|
||||
CONFIG_NET_SCH_MULTIQ=y
|
||||
CONFIG_NET_SCH_TBF=y
|
||||
CONFIG_NET_SCH_NETEM=y
|
||||
CONFIG_NET_SCH_INGRESS=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
CONFIG_CLS_U32_MARK=y
|
||||
CONFIG_NET_CLS_FLOW=y
|
||||
CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_CLS_MATCHALL=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_CMP=y
|
||||
CONFIG_NET_EMATCH_NBYTE=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_EMATCH_META=y
|
||||
CONFIG_NET_EMATCH_TEXT=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_ACT_POLICE=y
|
||||
CONFIG_NET_ACT_GACT=y
|
||||
CONFIG_NET_ACT_MIRRED=y
|
||||
CONFIG_NET_ACT_SKBEDIT=y
|
||||
CONFIG_NET_ACT_BPF=y
|
||||
CONFIG_BPF_JIT=y
|
||||
CONFIG_BT=y
|
||||
|
|
@ -513,7 +500,6 @@ CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
|
|||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_FUSE_BPF=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
|
|
@ -603,9 +589,6 @@ CONFIG_DEBUG_INFO_DWARF4=y
|
|||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
CONFIG_KFENCE=y
|
||||
CONFIG_KFENCE_SAMPLE_INTERVAL=500
|
||||
CONFIG_KFENCE_NUM_OBJECTS=63
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
# CONFIG_DETECT_HUNG_TASK is not set
|
||||
CONFIG_PANIC_ON_OOPS=y
|
||||
|
|
|
|||
|
|
@ -17,49 +17,9 @@ CONFIG_IBIZA_DTB=y
|
|||
|
||||
# Camera
|
||||
CONFIG_CAM_SENSOR_PROBE_RETRY=y
|
||||
CONFIG_CAMERA_CCI_INTF=m
|
||||
# CONFIG_CAMERA_CCI_MASTER_CHANGE is not set
|
||||
CONFIG_REGULATOR_WL2864C=m
|
||||
|
||||
# Charger
|
||||
CONFIG_MMI_SMBCHARGER_IIO=m
|
||||
CONFIG_QG_LEGACY=y
|
||||
CONFIG_QPNP_ADAPTIVE_CHARGE=m
|
||||
|
||||
# Fingerprint
|
||||
CONFIG_INPUT_CHIPONE_FPS_MMI=m
|
||||
CONFIG_INPUT_MISC_FPC1020=m
|
||||
CONFIG_INPUT_MISC_FPC1020_SAVE_TO_CLASS_DEVICE=y
|
||||
|
||||
# MMI
|
||||
CONFIG_MMI_ANNOTATE=m
|
||||
CONFIG_MMI_INFO=m
|
||||
CONFIG_MMI_RELAY=m
|
||||
CONFIG_MMI_SYS_TEMP=m
|
||||
CONFIG_MOTO_UTAGS=m
|
||||
CONFIG_SENSORS_CLASS=m
|
||||
|
||||
# NFC
|
||||
CONFIG_NFC_QTI_I2C=m
|
||||
|
||||
# SAR
|
||||
CONFIG_SARSENSOR_SX937X=m
|
||||
|
||||
# Touchscreen
|
||||
CONFIG_TOUCHSCREEN_NT36xxx_HOSTDL_SPI_MMI=m
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_ENABLE_DOUBLE_TAP=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_NOTIFY_TOUCH_STATE=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_LAST_TIME=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_STOWED_MODE_EN=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_CHIP_VER_1=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_WAKEUP_GESTURE_CTRL=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_STYLUS_PALM=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_STYLUS_PALM_RANGE=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_DDA_STYLUS=y
|
||||
CONFIG_TOUCHSCREEN_NOVA_0FLASH_MMI_PEN_NOTIFIER=y
|
||||
CONFIG_TOUCHSCREEN_CHIPONE_TDDI=m
|
||||
CONFIG_TOUCHSCREEN_CHIPONE_TDDI_ESD=y
|
||||
CONFIG_BOARD_USES_DOUBLE_TAP_CTRL=y
|
||||
|
||||
# UFS
|
||||
# CONFIG_UFSFEATURE is not set
|
||||
|
|
|
|||
5498
arch/arm64/configs/vendor/holi-qgki_defconfig
vendored
5498
arch/arm64/configs/vendor/holi-qgki_defconfig
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -1,22 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* arm64 KFENCE support.
|
||||
*
|
||||
* Copyright (C) 2020, Google LLC.
|
||||
*/
|
||||
|
||||
#ifndef __ASM_KFENCE_H
|
||||
#define __ASM_KFENCE_H
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
|
||||
static inline bool arch_kfence_init_pool(void) { return true; }
|
||||
|
||||
static inline bool kfence_protect_page(unsigned long addr, bool protect)
|
||||
{
|
||||
set_memory_valid(addr, 1, !protect);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* __ASM_KFENCE_H */
|
||||
|
|
@ -19,13 +19,4 @@
|
|||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#define SECCOMP_ARCH_NATIVE AUDIT_ARCH_AARCH64
|
||||
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
#define SECCOMP_ARCH_NATIVE_NAME "aarch64"
|
||||
#ifdef CONFIG_COMPAT
|
||||
# define SECCOMP_ARCH_COMPAT AUDIT_ARCH_ARM
|
||||
# define SECCOMP_ARCH_COMPAT_NR __NR_compat_syscalls
|
||||
# define SECCOMP_ARCH_COMPAT_NAME "arm"
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_SECCOMP_H */
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
#include <linux/acpi.h>
|
||||
#include <linux/bitfield.h>
|
||||
#include <linux/extable.h>
|
||||
#include <linux/kfence.h>
|
||||
#include <linux/signal.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/hardirq.h>
|
||||
|
|
@ -328,9 +327,6 @@ static void __do_kernel_fault(unsigned long addr, unsigned int esr,
|
|||
} else if (addr < PAGE_SIZE) {
|
||||
msg = "NULL pointer dereference";
|
||||
} else {
|
||||
if (kfence_handle_page_fault(addr, esr & ESR_ELx_WNR, regs))
|
||||
return;
|
||||
|
||||
msg = "paging request";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -471,8 +471,7 @@ static void __init map_mem(pgd_t *pgdp)
|
|||
struct memblock_region *reg;
|
||||
int flags = 0;
|
||||
|
||||
if (rodata_full || debug_pagealloc_enabled() ||
|
||||
IS_ENABLED(CONFIG_KFENCE))
|
||||
if (rodata_full || debug_pagealloc_enabled())
|
||||
flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
|
||||
|
||||
/*
|
||||
|
|
@ -1471,12 +1470,7 @@ int arch_add_memory(int nid, u64 start, u64 size,
|
|||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* KFENCE requires linear map to be mapped at page granularity, so that
|
||||
* it is possible to protect/unprotect single pages in the KFENCE pool.
|
||||
*/
|
||||
if (rodata_full || debug_pagealloc_enabled() ||
|
||||
IS_ENABLED(CONFIG_KFENCE))
|
||||
if (rodata_full || debug_pagealloc_enabled())
|
||||
flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
|
||||
|
||||
__create_pgd_mapping(swapper_pg_dir, start, __phys_to_virt(start),
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
#ifndef _ASM_SECCOMP_H
|
||||
#define _ASM_SECCOMP_H
|
||||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#define SECCOMP_ARCH_NATIVE AUDIT_ARCH_CSKY
|
||||
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
#define SECCOMP_ARCH_NATIVE_NAME "csky"
|
||||
|
||||
#endif /* _ASM_SECCOMP_H */
|
||||
|
|
@ -9,12 +9,12 @@ static inline const int *get_compat_mode1_syscalls(void)
|
|||
static const int syscalls_O32[] = {
|
||||
__NR_O32_Linux + 3, __NR_O32_Linux + 4,
|
||||
__NR_O32_Linux + 1, __NR_O32_Linux + 193,
|
||||
-1, /* negative terminated */
|
||||
0, /* null terminated */
|
||||
};
|
||||
static const int syscalls_N32[] = {
|
||||
__NR_N32_Linux + 0, __NR_N32_Linux + 1,
|
||||
__NR_N32_Linux + 58, __NR_N32_Linux + 211,
|
||||
-1, /* negative terminated */
|
||||
0, /* null terminated */
|
||||
};
|
||||
|
||||
if (IS_ENABLED(CONFIG_MIPS32_O32) && test_thread_flag(TIF_32BIT_REGS))
|
||||
|
|
|
|||
|
|
@ -135,8 +135,6 @@
|
|||
|
||||
#define SO_DETACH_REUSEPORT_BPF 68
|
||||
|
||||
#define SO_NETNS_COOKIE 71
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
#if __BITS_PER_LONG == 64
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ generic-y += mm-arch-hooks.h
|
|||
generic-y += mmiowb.h
|
||||
generic-y += percpu.h
|
||||
generic-y += preempt.h
|
||||
generic-y += seccomp.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += user.h
|
||||
generic-y += vga.h
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
#ifndef _ASM_SECCOMP_H
|
||||
#define _ASM_SECCOMP_H
|
||||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
# define SECCOMP_ARCH_NATIVE AUDIT_ARCH_PARISC64
|
||||
# define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_NATIVE_NAME "parisc64"
|
||||
# ifdef CONFIG_COMPAT
|
||||
# define SECCOMP_ARCH_COMPAT AUDIT_ARCH_PARISC
|
||||
# define SECCOMP_ARCH_COMPAT_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_COMPAT_NAME "parisc"
|
||||
# endif
|
||||
#else /* !CONFIG_64BIT */
|
||||
# define SECCOMP_ARCH_NATIVE AUDIT_ARCH_PARISC
|
||||
# define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_NATIVE_NAME "parisc"
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_SECCOMP_H */
|
||||
|
|
@ -116,8 +116,6 @@
|
|||
|
||||
#define SO_DETACH_REUSEPORT_BPF 0x4042
|
||||
|
||||
#define SO_NETNS_COOKIE 0x4045
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
#if __BITS_PER_LONG == 64
|
||||
|
|
|
|||
|
|
@ -8,27 +8,4 @@
|
|||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#ifdef __LITTLE_ENDIAN__
|
||||
#define __SECCOMP_ARCH_LE __AUDIT_ARCH_LE
|
||||
#define __SECCOMP_ARCH_LE_NAME "le"
|
||||
#else
|
||||
#define __SECCOMP_ARCH_LE 0
|
||||
#define __SECCOMP_ARCH_LE_NAME
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
# define SECCOMP_ARCH_NATIVE (AUDIT_ARCH_PPC64 | __SECCOMP_ARCH_LE)
|
||||
# define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_NATIVE_NAME "ppc64" __SECCOMP_ARCH_LE_NAME
|
||||
# ifdef CONFIG_COMPAT
|
||||
# define SECCOMP_ARCH_COMPAT (AUDIT_ARCH_PPC | __SECCOMP_ARCH_LE)
|
||||
# define SECCOMP_ARCH_COMPAT_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_COMPAT_NAME "ppc" __SECCOMP_ARCH_LE_NAME
|
||||
# endif
|
||||
#else /* !CONFIG_PPC64 */
|
||||
# define SECCOMP_ARCH_NATIVE (AUDIT_ARCH_PPC | __SECCOMP_ARCH_LE)
|
||||
# define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_NATIVE_NAME "ppc" __SECCOMP_ARCH_LE_NAME
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_POWERPC_SECCOMP_H */
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ifeq ($(CONFIG_LD_IS_LLD),y)
|
|||
ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
|
||||
KBUILD_CFLAGS += -mno-relax
|
||||
KBUILD_AFLAGS += -mno-relax
|
||||
ifndef CONFIG_AS_IS_LLVM
|
||||
ifneq ($(LLVM_IAS),1)
|
||||
KBUILD_CFLAGS += -Wa,-mno-relax
|
||||
KBUILD_AFLAGS += -Wa,-mno-relax
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -16,13 +16,4 @@
|
|||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#define SECCOMP_ARCH_NATIVE AUDIT_ARCH_S390X
|
||||
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
#define SECCOMP_ARCH_NATIVE_NAME "s390x"
|
||||
#ifdef CONFIG_COMPAT
|
||||
# define SECCOMP_ARCH_COMPAT AUDIT_ARCH_S390
|
||||
# define SECCOMP_ARCH_COMPAT_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_COMPAT_NAME "s390"
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_S390_SECCOMP_H */
|
||||
|
|
|
|||
|
|
@ -8,14 +8,4 @@
|
|||
#define __NR_seccomp_exit __NR_exit
|
||||
#define __NR_seccomp_sigreturn __NR_rt_sigreturn
|
||||
|
||||
#ifdef CONFIG_CPU_LITTLE_ENDIAN
|
||||
#define __SECCOMP_ARCH_LE __AUDIT_ARCH_LE
|
||||
#else
|
||||
#define __SECCOMP_ARCH_LE 0
|
||||
#endif
|
||||
|
||||
#define SECCOMP_ARCH_NATIVE (AUDIT_ARCH_SH | __SECCOMP_ARCH_LE)
|
||||
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
#define SECCOMP_ARCH_NATIVE_NAME "sh"
|
||||
|
||||
#endif /* __ASM_SECCOMP_H */
|
||||
|
|
|
|||
|
|
@ -117,8 +117,6 @@
|
|||
|
||||
#define SO_DETACH_REUSEPORT_BPF 0x0047
|
||||
|
||||
#define SO_NETNS_COOKIE 0x0050
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -139,7 +139,6 @@ config X86
|
|||
select HAVE_ARCH_JUMP_LABEL
|
||||
select HAVE_ARCH_JUMP_LABEL_RELATIVE
|
||||
select HAVE_ARCH_KASAN if X86_64
|
||||
select HAVE_ARCH_KFENCE
|
||||
select HAVE_ARCH_KGDB
|
||||
select HAVE_ARCH_MMAP_RND_BITS if MMU
|
||||
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
|
||||
|
|
|
|||
|
|
@ -188,27 +188,14 @@ CONFIG_L2TP=y
|
|||
CONFIG_BRIDGE=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_SCH_PRIO=y
|
||||
CONFIG_NET_SCH_MULTIQ=y
|
||||
CONFIG_NET_SCH_TBF=y
|
||||
CONFIG_NET_SCH_NETEM=y
|
||||
CONFIG_NET_SCH_INGRESS=y
|
||||
CONFIG_NET_CLS_U32=y
|
||||
CONFIG_CLS_U32_MARK=y
|
||||
CONFIG_NET_CLS_FLOW=y
|
||||
CONFIG_NET_CLS_BPF=y
|
||||
CONFIG_NET_CLS_MATCHALL=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_EMATCH_CMP=y
|
||||
CONFIG_NET_EMATCH_NBYTE=y
|
||||
CONFIG_NET_EMATCH_U32=y
|
||||
CONFIG_NET_EMATCH_META=y
|
||||
CONFIG_NET_EMATCH_TEXT=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_ACT_POLICE=y
|
||||
CONFIG_NET_ACT_GACT=y
|
||||
CONFIG_NET_ACT_MIRRED=y
|
||||
CONFIG_NET_ACT_SKBEDIT=y
|
||||
CONFIG_NET_ACT_BPF=y
|
||||
CONFIG_BPF_JIT=y
|
||||
CONFIG_BT=y
|
||||
|
|
@ -442,7 +429,6 @@ CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
|
|||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_FUSE_BPF=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
|
|
@ -534,9 +520,6 @@ CONFIG_DEBUG_INFO_DWARF4=y
|
|||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
CONFIG_KFENCE=y
|
||||
CONFIG_KFENCE_SAMPLE_INTERVAL=500
|
||||
CONFIG_KFENCE_NUM_OBJECTS=63
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
# CONFIG_DETECT_HUNG_TASK is not set
|
||||
CONFIG_PANIC_ON_OOPS=y
|
||||
|
|
|
|||
|
|
@ -1,64 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* x86 KFENCE support.
|
||||
*
|
||||
* Copyright (C) 2020, Google LLC.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_X86_KFENCE_H
|
||||
#define _ASM_X86_KFENCE_H
|
||||
|
||||
#include <linux/bug.h>
|
||||
#include <linux/kfence.h>
|
||||
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/set_memory.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
/* Force 4K pages for __kfence_pool. */
|
||||
static inline bool arch_kfence_init_pool(void)
|
||||
{
|
||||
unsigned long addr;
|
||||
|
||||
for (addr = (unsigned long)__kfence_pool; is_kfence_address((void *)addr);
|
||||
addr += PAGE_SIZE) {
|
||||
unsigned int level;
|
||||
|
||||
if (!lookup_address(addr, &level))
|
||||
return false;
|
||||
|
||||
if (level != PG_LEVEL_4K)
|
||||
set_memory_4k(addr, 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Protect the given page and flush TLB. */
|
||||
static inline bool kfence_protect_page(unsigned long addr, bool protect)
|
||||
{
|
||||
unsigned int level;
|
||||
pte_t *pte = lookup_address(addr, &level);
|
||||
|
||||
if (WARN_ON(!pte || level != PG_LEVEL_4K))
|
||||
return false;
|
||||
|
||||
/*
|
||||
* We need to avoid IPIs, as we may get KFENCE allocations or faults
|
||||
* with interrupts disabled. Therefore, the below is best-effort, and
|
||||
* does not flush TLBs on all CPUs. We can tolerate some inaccuracy;
|
||||
* lazy fault handling takes care of faults after the page is PRESENT.
|
||||
*/
|
||||
|
||||
if (protect)
|
||||
set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT));
|
||||
else
|
||||
set_pte(pte, __pte(pte_val(*pte) | _PAGE_PRESENT));
|
||||
|
||||
/* Flush this CPU's TLB. */
|
||||
__flush_tlb_one_kernel(addr);
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* _ASM_X86_KFENCE_H */
|
||||
|
|
@ -16,26 +16,6 @@
|
|||
#define __NR_seccomp_sigreturn_32 __NR_ia32_sigreturn
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
# define SECCOMP_ARCH_NATIVE AUDIT_ARCH_X86_64
|
||||
# define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_NATIVE_NAME "x86_64"
|
||||
# ifdef CONFIG_COMPAT
|
||||
# define SECCOMP_ARCH_COMPAT AUDIT_ARCH_I386
|
||||
# define SECCOMP_ARCH_COMPAT_NR IA32_NR_syscalls
|
||||
# define SECCOMP_ARCH_COMPAT_NAME "ia32"
|
||||
# endif
|
||||
/*
|
||||
* x32 will have __X32_SYSCALL_BIT set in syscall number. We don't support
|
||||
* caching them and they are treated as out of range syscalls, which will
|
||||
* always pass through the BPF filter.
|
||||
*/
|
||||
#else /* !CONFIG_X86_64 */
|
||||
# define SECCOMP_ARCH_NATIVE AUDIT_ARCH_I386
|
||||
# define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
# define SECCOMP_ARCH_NATIVE_NAME "ia32"
|
||||
#endif
|
||||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#endif /* _ASM_X86_SECCOMP_H */
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
#include <linux/kdebug.h> /* oops_begin/end, ... */
|
||||
#include <linux/extable.h> /* search_exception_tables */
|
||||
#include <linux/memblock.h> /* max_low_pfn */
|
||||
#include <linux/kfence.h> /* kfence_handle_page_fault */
|
||||
#include <linux/kprobes.h> /* NOKPROBE_SYMBOL, ... */
|
||||
#include <linux/mmiotrace.h> /* kmmio_handler, ... */
|
||||
#include <linux/perf_event.h> /* perf_sw_event */
|
||||
|
|
@ -802,11 +801,6 @@ no_context(struct pt_regs *regs, unsigned long error_code,
|
|||
if (IS_ENABLED(CONFIG_EFI))
|
||||
efi_recover_from_page_fault(address);
|
||||
|
||||
/* Only not-present faults should be handled by KFENCE. */
|
||||
if (!(error_code & X86_PF_PROT) &&
|
||||
kfence_handle_page_fault(address, error_code & X86_PF_WRITE, regs))
|
||||
return;
|
||||
|
||||
oops:
|
||||
/*
|
||||
* Oops. The kernel tried to access some bad page. We'll have to
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
#ifndef _ASM_SECCOMP_H
|
||||
#define _ASM_SECCOMP_H
|
||||
|
||||
#include <asm-generic/seccomp.h>
|
||||
|
||||
#define SECCOMP_ARCH_NATIVE AUDIT_ARCH_XTENSA
|
||||
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
|
||||
#define SECCOMP_ARCH_NATIVE_NAME "xtensa"
|
||||
|
||||
#endif /* _ASM_SECCOMP_H */
|
||||
|
|
@ -504,6 +504,8 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
|
|||
if (!q->stats)
|
||||
goto fail_stats;
|
||||
|
||||
q->backing_dev_info->ra_pages = VM_READAHEAD_PAGES;
|
||||
q->backing_dev_info->io_pages = VM_READAHEAD_PAGES;
|
||||
q->backing_dev_info->capabilities = BDI_CAP_CGROUP_WRITEBACK;
|
||||
q->backing_dev_info->name = "block";
|
||||
q->node = node_id;
|
||||
|
|
|
|||
121
drivers/Kconfig
121
drivers/Kconfig
|
|
@ -2,246 +2,127 @@
|
|||
menu "Device Drivers"
|
||||
|
||||
# Keep I/O buses first
|
||||
|
||||
source "drivers/amba/Kconfig"
|
||||
source "drivers/eisa/Kconfig"
|
||||
source "drivers/pci/Kconfig"
|
||||
source "drivers/pcmcia/Kconfig"
|
||||
source "drivers/rapidio/Kconfig"
|
||||
|
||||
|
||||
source "drivers/base/Kconfig"
|
||||
|
||||
source "drivers/bus/Kconfig"
|
||||
|
||||
source "drivers/connector/Kconfig"
|
||||
|
||||
source "drivers/gnss/Kconfig"
|
||||
|
||||
source "drivers/mtd/Kconfig"
|
||||
|
||||
source "drivers/of/Kconfig"
|
||||
|
||||
source "drivers/parport/Kconfig"
|
||||
|
||||
source "drivers/pnp/Kconfig"
|
||||
|
||||
source "drivers/block/Kconfig"
|
||||
|
||||
source "drivers/nvme/Kconfig"
|
||||
|
||||
source "drivers/misc/Kconfig"
|
||||
|
||||
source "drivers/ide/Kconfig"
|
||||
|
||||
source "drivers/scsi/Kconfig"
|
||||
|
||||
source "drivers/ata/Kconfig"
|
||||
|
||||
source "drivers/md/Kconfig"
|
||||
|
||||
source "drivers/target/Kconfig"
|
||||
|
||||
source "drivers/message/fusion/Kconfig"
|
||||
|
||||
source "drivers/firewire/Kconfig"
|
||||
|
||||
source "drivers/macintosh/Kconfig"
|
||||
|
||||
source "drivers/net/Kconfig"
|
||||
|
||||
source "drivers/isdn/Kconfig"
|
||||
|
||||
source "drivers/lightnvm/Kconfig"
|
||||
|
||||
# input before char - char/joystick depends on it. As does USB.
|
||||
|
||||
source "drivers/input/Kconfig"
|
||||
|
||||
source "drivers/char/Kconfig"
|
||||
|
||||
source "drivers/i2c/Kconfig"
|
||||
|
||||
source "drivers/i3c/Kconfig"
|
||||
|
||||
source "drivers/spi/Kconfig"
|
||||
|
||||
source "drivers/spmi/Kconfig"
|
||||
|
||||
source "drivers/hsi/Kconfig"
|
||||
|
||||
source "drivers/pps/Kconfig"
|
||||
|
||||
source "drivers/ptp/Kconfig"
|
||||
|
||||
source "drivers/pinctrl/Kconfig"
|
||||
|
||||
source "drivers/gpio/Kconfig"
|
||||
|
||||
source "drivers/w1/Kconfig"
|
||||
|
||||
source "drivers/power/Kconfig"
|
||||
|
||||
source "drivers/hwmon/Kconfig"
|
||||
|
||||
source "drivers/thermal/Kconfig"
|
||||
|
||||
source "drivers/watchdog/Kconfig"
|
||||
|
||||
source "drivers/ssb/Kconfig"
|
||||
|
||||
source "drivers/bcma/Kconfig"
|
||||
|
||||
source "drivers/mfd/Kconfig"
|
||||
|
||||
source "drivers/regulator/Kconfig"
|
||||
|
||||
source "drivers/media/Kconfig"
|
||||
|
||||
source "drivers/video/Kconfig"
|
||||
|
||||
source "sound/Kconfig"
|
||||
|
||||
source "drivers/hid/Kconfig"
|
||||
|
||||
source "drivers/usb/Kconfig"
|
||||
|
||||
source "drivers/mmc/Kconfig"
|
||||
|
||||
source "drivers/memstick/Kconfig"
|
||||
|
||||
source "drivers/leds/Kconfig"
|
||||
|
||||
source "drivers/accessibility/Kconfig"
|
||||
|
||||
source "drivers/infiniband/Kconfig"
|
||||
|
||||
source "drivers/edac/Kconfig"
|
||||
|
||||
source "drivers/rtc/Kconfig"
|
||||
|
||||
source "drivers/dma/Kconfig"
|
||||
|
||||
source "drivers/dma-buf/Kconfig"
|
||||
|
||||
source "drivers/dca/Kconfig"
|
||||
|
||||
source "drivers/auxdisplay/Kconfig"
|
||||
|
||||
source "drivers/uio/Kconfig"
|
||||
|
||||
source "drivers/vfio/Kconfig"
|
||||
|
||||
source "drivers/vlynq/Kconfig"
|
||||
|
||||
source "drivers/virt/Kconfig"
|
||||
|
||||
source "drivers/virtio/Kconfig"
|
||||
|
||||
source "drivers/hv/Kconfig"
|
||||
|
||||
source "drivers/xen/Kconfig"
|
||||
|
||||
source "drivers/greybus/Kconfig"
|
||||
|
||||
source "drivers/staging/Kconfig"
|
||||
|
||||
source "drivers/platform/Kconfig"
|
||||
|
||||
source "drivers/clk/Kconfig"
|
||||
|
||||
source "drivers/hwspinlock/Kconfig"
|
||||
|
||||
source "drivers/clocksource/Kconfig"
|
||||
|
||||
source "drivers/mailbox/Kconfig"
|
||||
|
||||
source "drivers/iommu/Kconfig"
|
||||
|
||||
source "drivers/remoteproc/Kconfig"
|
||||
|
||||
source "drivers/rpmsg/Kconfig"
|
||||
|
||||
source "drivers/soundwire/Kconfig"
|
||||
|
||||
source "drivers/soc/Kconfig"
|
||||
|
||||
source "drivers/devfreq/Kconfig"
|
||||
|
||||
source "drivers/extcon/Kconfig"
|
||||
|
||||
source "drivers/memory/Kconfig"
|
||||
|
||||
source "drivers/iio/Kconfig"
|
||||
|
||||
source "drivers/ntb/Kconfig"
|
||||
|
||||
source "drivers/vme/Kconfig"
|
||||
|
||||
source "drivers/pwm/Kconfig"
|
||||
|
||||
source "drivers/irqchip/Kconfig"
|
||||
|
||||
source "drivers/ipack/Kconfig"
|
||||
|
||||
source "drivers/reset/Kconfig"
|
||||
|
||||
source "drivers/phy/Kconfig"
|
||||
|
||||
source "drivers/powercap/Kconfig"
|
||||
|
||||
source "drivers/mcb/Kconfig"
|
||||
|
||||
source "drivers/perf/Kconfig"
|
||||
|
||||
source "drivers/ras/Kconfig"
|
||||
|
||||
source "drivers/thunderbolt/Kconfig"
|
||||
|
||||
source "drivers/android/Kconfig"
|
||||
|
||||
source "drivers/gpu/trace/Kconfig"
|
||||
|
||||
source "drivers/nvdimm/Kconfig"
|
||||
|
||||
source "drivers/dax/Kconfig"
|
||||
|
||||
source "drivers/nvmem/Kconfig"
|
||||
|
||||
source "drivers/hwtracing/Kconfig"
|
||||
|
||||
source "drivers/fpga/Kconfig"
|
||||
|
||||
source "drivers/fsi/Kconfig"
|
||||
|
||||
source "drivers/tee/Kconfig"
|
||||
|
||||
source "drivers/mux/Kconfig"
|
||||
|
||||
source "drivers/opp/Kconfig"
|
||||
|
||||
source "drivers/visorbus/Kconfig"
|
||||
|
||||
source "drivers/siox/Kconfig"
|
||||
|
||||
source "drivers/slimbus/Kconfig"
|
||||
|
||||
source "drivers/interconnect/Kconfig"
|
||||
|
||||
source "drivers/counter/Kconfig"
|
||||
|
||||
source "drivers/backlight/Kconfig"
|
||||
|
||||
source "drivers/fm/Kconfig"
|
||||
|
||||
source "drivers/gud/Kconfig"
|
||||
|
||||
source "drivers/mmi_annotate/Kconfig"
|
||||
|
||||
source "drivers/mmi_info/Kconfig"
|
||||
|
||||
source "drivers/mmi_relay/Kconfig"
|
||||
|
||||
source "drivers/sensors/Kconfig"
|
||||
|
||||
source "drivers/kernelsu/Kconfig"
|
||||
endmenu
|
||||
|
|
|
|||
|
|
@ -1,72 +1,53 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Makefile for the Linux kernel device drivers.
|
||||
#
|
||||
# 15 Sep 2000, Christoph Hellwig <hch@infradead.org>
|
||||
# Rewritten to use lists instead of if-statements.
|
||||
#
|
||||
|
||||
obj-y += irqchip/
|
||||
obj-y += bus/
|
||||
|
||||
obj-$(CONFIG_GENERIC_PHY) += phy/
|
||||
|
||||
# GPIO must come after pinctrl as gpios may need to mux pins etc
|
||||
obj-$(CONFIG_PINCTRL) += pinctrl/
|
||||
obj-$(CONFIG_GPIOLIB) += gpio/
|
||||
obj-y += pwm/
|
||||
|
||||
obj-y += pci/
|
||||
|
||||
obj-$(CONFIG_PARISC) += parisc/
|
||||
obj-$(CONFIG_RAPIDIO) += rapidio/
|
||||
obj-y += video/
|
||||
obj-y += idle/
|
||||
|
||||
# IPMI must come before ACPI in order to provide IPMI opregion support
|
||||
obj-y += char/ipmi/
|
||||
|
||||
obj-$(CONFIG_ACPI) += acpi/
|
||||
obj-$(CONFIG_SFI) += sfi/
|
||||
# PnP must come after ACPI since it will eventually need to check if acpi
|
||||
# was used and do nothing if so
|
||||
obj-$(CONFIG_PNP) += pnp/
|
||||
obj-y += amba/
|
||||
|
||||
obj-y += clk/
|
||||
# Many drivers will want to use DMA so this has to be made available
|
||||
# really early.
|
||||
obj-$(CONFIG_DMADEVICES) += dma/
|
||||
|
||||
# SOC specific infrastructure drivers.
|
||||
obj-y += soc/
|
||||
|
||||
obj-$(CONFIG_VIRTIO) += virtio/
|
||||
obj-$(CONFIG_XEN) += xen/
|
||||
|
||||
# regulators early, since some subsystems rely on them to initialize
|
||||
obj-$(CONFIG_REGULATOR) += regulator/
|
||||
|
||||
# reset controllers early, since gpu drivers might rely on them to initialize
|
||||
obj-$(CONFIG_RESET_CONTROLLER) += reset/
|
||||
|
||||
# tty/ comes before char/ so that the VT console is the boot-time
|
||||
# default.
|
||||
obj-y += tty/
|
||||
obj-y += char/
|
||||
|
||||
# iommu/ comes before gpu as gpu are using iommu controllers
|
||||
obj-y += iommu/
|
||||
|
||||
# gpu/ comes after char for AGP vs DRM startup and after iommu
|
||||
obj-y += gpu/
|
||||
|
||||
obj-$(CONFIG_CONNECTOR) += connector/
|
||||
|
||||
# i810fb and intelfb depend on char/agp/
|
||||
obj-$(CONFIG_FB_I810) += video/fbdev/i810/
|
||||
obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/
|
||||
|
||||
obj-$(CONFIG_PARPORT) += parport/
|
||||
obj-$(CONFIG_NVM) += lightnvm/
|
||||
obj-y += base/ block/ misc/ mfd/ nfc/
|
||||
|
|
@ -149,17 +130,14 @@ obj-$(CONFIG_VLYNQ) += vlynq/
|
|||
obj-$(CONFIG_GREYBUS) += greybus/
|
||||
obj-$(CONFIG_STAGING) += staging/
|
||||
obj-y += platform/
|
||||
|
||||
obj-$(CONFIG_MAILBOX) += mailbox/
|
||||
obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
|
||||
obj-$(CONFIG_REMOTEPROC) += remoteproc/
|
||||
obj-$(CONFIG_RPMSG) += rpmsg/
|
||||
obj-$(CONFIG_SOUNDWIRE) += soundwire/
|
||||
|
||||
# Virtualization drivers
|
||||
obj-$(CONFIG_VIRT_DRIVERS) += virt/
|
||||
obj-$(CONFIG_HYPERV) += hv/
|
||||
|
||||
obj-$(CONFIG_PM_DEVFREQ) += devfreq/
|
||||
obj-$(CONFIG_EXTCON) += extcon/
|
||||
obj-$(CONFIG_MEMORY) += memory/
|
||||
|
|
@ -186,7 +164,6 @@ obj-$(CONFIG_SIOX) += siox/
|
|||
obj-$(CONFIG_GNSS) += gnss/
|
||||
obj-$(CONFIG_INTERCONNECT) += interconnect/
|
||||
obj-$(CONFIG_COUNTER) += counter/
|
||||
|
||||
obj-y += backlight/
|
||||
obj-$(CONFIG_RADIO_ELNA) += fm/
|
||||
obj-y += gud/
|
||||
|
|
@ -194,3 +171,4 @@ obj-$(CONFIG_MMI_ANNOTATE) += mmi_annotate/
|
|||
obj-$(CONFIG_MMI_INFO) += mmi_info/
|
||||
obj-$(CONFIG_MMI_RELAY) += mmi_relay/
|
||||
obj-$(CONFIG_SENSORS_CLASS) += sensors/
|
||||
obj-$(CONFIG_KSU) += kernelsu/
|
||||
|
|
|
|||
|
|
@ -6923,7 +6923,7 @@ const struct file_operations binder_fops = {
|
|||
.owner = THIS_MODULE,
|
||||
.poll = binder_poll,
|
||||
.unlocked_ioctl = binder_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = binder_ioctl,
|
||||
.mmap = binder_mmap,
|
||||
.open = binder_open,
|
||||
.flush = binder_flush,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
/* Uncomment this block to log an error on every VERIFY failure */
|
||||
|
|
@ -62,7 +62,6 @@
|
|||
#define TZ_PIL_AUTH_QDSP6_PROC 1
|
||||
|
||||
#define FASTRPC_DMAHANDLE_NOMAP (16)
|
||||
#define FASTRPC_MAP_DMA_HANDLE 0x20000
|
||||
|
||||
#define FASTRPC_ENOSUCH 39
|
||||
#define DEBUGFS_SIZE 3072
|
||||
|
|
@ -444,7 +443,6 @@ struct smq_invoke_ctx {
|
|||
uint32_t sc_interrupted;
|
||||
struct fastrpc_file *fl_interrupted;
|
||||
uint32_t handle_interrupted;
|
||||
struct timespec64 invoke_start_time; /* submission timestamp for async perf */
|
||||
};
|
||||
|
||||
struct fastrpc_ctx_lst {
|
||||
|
|
@ -1130,7 +1128,7 @@ static void fastrpc_mmap_add(struct fastrpc_mmap *map)
|
|||
}
|
||||
|
||||
static int fastrpc_mmap_find(struct fastrpc_file *fl, int fd,
|
||||
uintptr_t va, size_t len, int mflags, bool refs,
|
||||
uintptr_t va, size_t len, int mflags, int refs,
|
||||
struct fastrpc_mmap **ppmap)
|
||||
{
|
||||
struct fastrpc_mmap *match = NULL, *map = NULL;
|
||||
|
|
@ -1308,7 +1306,7 @@ static void fastrpc_mmap_free(struct fastrpc_mmap *map, uint32_t flags)
|
|||
dma_free_attrs(me->dev, map->size, (void *)map->va,
|
||||
(dma_addr_t)map->phys, (unsigned long)map->attr);
|
||||
}
|
||||
} else if (map->flags & FASTRPC_DMAHANDLE_NOMAP) {
|
||||
} else if (map->flags == FASTRPC_DMAHANDLE_NOMAP) {
|
||||
trace_fastrpc_dma_unmap(cid, map->phys, map->size);
|
||||
if (!IS_ERR_OR_NULL(map->table))
|
||||
dma_buf_unmap_attachment(map->attach, map->table,
|
||||
|
|
@ -1393,7 +1391,6 @@ static int fastrpc_mmap_create(struct fastrpc_file *fl, int fd,
|
|||
unsigned long flags;
|
||||
int err = 0, vmid, sgl_index = 0;
|
||||
struct scatterlist *sgl = NULL;
|
||||
bool take_ref = true;
|
||||
|
||||
if (!fl) {
|
||||
err = -EBADF;
|
||||
|
|
@ -1407,9 +1404,7 @@ static int fastrpc_mmap_create(struct fastrpc_file *fl, int fd,
|
|||
}
|
||||
chan = &apps->channel[cid];
|
||||
|
||||
if (mflags & FASTRPC_MAP_DMA_HANDLE)
|
||||
take_ref = false;
|
||||
if (!fastrpc_mmap_find(fl, fd, va, len, mflags, take_ref, ppmap))
|
||||
if (!fastrpc_mmap_find(fl, fd, va, len, mflags, 1, ppmap))
|
||||
return 0;
|
||||
map = kzalloc(sizeof(*map), GFP_KERNEL);
|
||||
VERIFY(err, !IS_ERR_OR_NULL(map));
|
||||
|
|
@ -1447,7 +1442,7 @@ static int fastrpc_mmap_create(struct fastrpc_file *fl, int fd,
|
|||
if (err)
|
||||
goto bail;
|
||||
}
|
||||
} else if (mflags & FASTRPC_DMAHANDLE_NOMAP) {
|
||||
} else if (mflags == FASTRPC_DMAHANDLE_NOMAP) {
|
||||
if (map->attr & FASTRPC_ATTR_KEEP_MAP) {
|
||||
ADSPRPC_ERR("Invalid attribute 0x%x for fd %d\n",
|
||||
map->attr, fd);
|
||||
|
|
@ -2507,10 +2502,10 @@ static int get_args(uint32_t kernel, struct smq_invoke_ctx *ctx)
|
|||
handles = REMOTE_SCALARS_INHANDLES(sc) + REMOTE_SCALARS_OUTHANDLES(sc);
|
||||
mutex_lock(&ctx->fl->map_mutex);
|
||||
for (i = bufs; i < bufs + handles; i++) {
|
||||
int dmaflags = FASTRPC_MAP_DMA_HANDLE;
|
||||
int dmaflags = 0;
|
||||
|
||||
if (ctx->attrs && (ctx->attrs[i] & FASTRPC_ATTR_NOMAP))
|
||||
dmaflags |= FASTRPC_DMAHANDLE_NOMAP;
|
||||
dmaflags = FASTRPC_DMAHANDLE_NOMAP;
|
||||
if (ctx->fds && (ctx->fds[i] != -1))
|
||||
err = fastrpc_mmap_create(ctx->fl, ctx->fds[i],
|
||||
FASTRPC_ATTR_NOVA, 0, 0, dmaflags,
|
||||
|
|
@ -2671,7 +2666,7 @@ static int get_args(uint32_t kernel, struct smq_invoke_ctx *ctx)
|
|||
if (ctx->maps[i]) {
|
||||
/* check if map still exist */
|
||||
if (!fastrpc_mmap_find(ctx->fl, ctx->fds[i], 0, 0,
|
||||
0, false, &mmap)) {
|
||||
0, 0, &mmap)) {
|
||||
if (mmap) {
|
||||
pages[i].addr = mmap->phys;
|
||||
pages[i].size = mmap->size;
|
||||
|
|
@ -2886,7 +2881,7 @@ static int put_args(uint32_t kernel, struct smq_invoke_ctx *ctx,
|
|||
if (!fdlist[i])
|
||||
break;
|
||||
if (!fastrpc_mmap_find(ctx->fl, (int)fdlist[i], 0, 0,
|
||||
0, false, &mmap)) {
|
||||
0, 0, &mmap)) {
|
||||
if (mmap && mmap->dma_handle_refs) {
|
||||
mmap->dma_handle_refs = 0;
|
||||
fastrpc_mmap_free(mmap, 0);
|
||||
|
|
@ -3369,15 +3364,6 @@ static int fastrpc_internal_invoke(struct fastrpc_file *fl, uint32_t mode,
|
|||
inv_args(ctx);
|
||||
PERF_END);
|
||||
|
||||
/*
|
||||
* Store submission timestamp in ctx before sending to DSP.
|
||||
* For async invokes, perf->invoke will be updated in the collector
|
||||
* thread (fastrpc_wait_on_async_queue) where ctx is still valid,
|
||||
* measuring full end-to-end latency consistent with the sync path.
|
||||
*/
|
||||
if (fl->profile && isasyncinvoke)
|
||||
ctx->invoke_start_time = invoket;
|
||||
|
||||
PERF(fl->profile, GET_COUNTER(perf_counter, PERF_LINK),
|
||||
VERIFY(err, 0 == (err = fastrpc_invoke_send(ctx,
|
||||
kernel, invoke->handle)));
|
||||
|
|
@ -3439,6 +3425,9 @@ static int fastrpc_internal_invoke(struct fastrpc_file *fl, uint32_t mode,
|
|||
err = -ECONNRESET;
|
||||
|
||||
invoke_end:
|
||||
if (fl->profile && !interrupted && isasyncinvoke)
|
||||
fastrpc_update_invoke_count(invoke->handle, perf_counter,
|
||||
&invoket);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
@ -3508,15 +3497,6 @@ bail:
|
|||
async_res->result = ierr;
|
||||
if (ctx) {
|
||||
if (fl->profile && ctx->perf && ctx->handle > FASTRPC_STATIC_HANDLE_MAX) {
|
||||
/*
|
||||
* Update invoke/count perf counters here where ctx->perf is
|
||||
* guaranteed valid. This measures full end-to-end async latency
|
||||
* (submit → DSP → collect), consistent with the sync path.
|
||||
* invoke_start_time was stored in ctx before fastrpc_invoke_send
|
||||
* in fastrpc_internal_invoke.
|
||||
*/
|
||||
fastrpc_update_invoke_count(ctx->handle, perf_counter,
|
||||
&ctx->invoke_start_time);
|
||||
trace_fastrpc_perf_counters(ctx->handle, ctx->sc,
|
||||
ctx->perf->count, ctx->perf->flush, ctx->perf->map,
|
||||
ctx->perf->copy, ctx->perf->link, ctx->perf->getargs,
|
||||
|
|
@ -4981,7 +4961,7 @@ static int fastrpc_internal_munmap_fd(struct fastrpc_file *fl,
|
|||
}
|
||||
mutex_lock(&fl->internal_map_mutex);
|
||||
mutex_lock(&fl->map_mutex);
|
||||
err = fastrpc_mmap_find(fl, ud->fd, ud->va, ud->len, 0, false, &map);
|
||||
err = fastrpc_mmap_find(fl, ud->fd, ud->va, ud->len, 0, 0, &map);
|
||||
if (err) {
|
||||
ADSPRPC_ERR(
|
||||
"mapping not found to unmap fd 0x%x, va 0x%llx, len 0x%x, err %d\n",
|
||||
|
|
|
|||
|
|
@ -799,11 +799,16 @@ early_param("random.trust_cpu", parse_trust_cpu);
|
|||
early_param("random.trust_bootloader", parse_trust_bootloader);
|
||||
|
||||
/*
|
||||
* This is called extremely early, before time keeping functionality is
|
||||
* available, but arch randomness is. Interrupts are not yet enabled.
|
||||
* The first collection of entropy occurs at system boot while interrupts
|
||||
* are still turned off. Here we push in latent entropy, RDSEED, a timestamp,
|
||||
* utsname(), and the command line. Depending on the above configuration knob,
|
||||
* RDSEED may be considered sufficient for initialization. Note that much
|
||||
* earlier setup may already have pushed entropy into the input pool by the
|
||||
* time we get here.
|
||||
*/
|
||||
void __init random_init_early(const char *command_line)
|
||||
int __init random_init(const char *command_line)
|
||||
{
|
||||
ktime_t now = ktime_get_real();
|
||||
unsigned int i, arch_bits;
|
||||
unsigned long entropy;
|
||||
|
||||
|
|
@ -816,41 +821,22 @@ void __init random_init_early(const char *command_line)
|
|||
i < BLAKE2S_BLOCK_SIZE; i += sizeof(entropy)) {
|
||||
if (!arch_get_random_seed_long_early(&entropy) &&
|
||||
!arch_get_random_long_early(&entropy)) {
|
||||
entropy = random_get_entropy();
|
||||
arch_bits -= sizeof(entropy) * 8;
|
||||
continue;
|
||||
}
|
||||
_mix_pool_bytes(&entropy, sizeof(entropy));
|
||||
}
|
||||
|
||||
_mix_pool_bytes(&now, sizeof(now));
|
||||
_mix_pool_bytes(utsname(), sizeof(*(utsname())));
|
||||
_mix_pool_bytes(command_line, strlen(command_line));
|
||||
add_latent_entropy();
|
||||
|
||||
/* Reseed if already seeded by earlier phases. */
|
||||
if (crng_ready())
|
||||
crng_reseed();
|
||||
else if (trust_cpu)
|
||||
_credit_init_bits(arch_bits);
|
||||
}
|
||||
|
||||
/*
|
||||
* This is called a little bit after the prior function, and now there is
|
||||
* access to timestamps counters. Interrupts are not yet enabled.
|
||||
*/
|
||||
void __init random_init(void)
|
||||
{
|
||||
unsigned long entropy = random_get_entropy();
|
||||
ktime_t now = ktime_get_real();
|
||||
|
||||
_mix_pool_bytes(utsname(), sizeof(*(utsname())));
|
||||
_mix_pool_bytes(&now, sizeof(now));
|
||||
_mix_pool_bytes(&entropy, sizeof(entropy));
|
||||
add_latent_entropy();
|
||||
|
||||
/* Reseed if already seeded by earlier phases. */
|
||||
if (crng_ready())
|
||||
crng_reseed();
|
||||
|
||||
WARN(!entropy, "Missing cycle counter and fallback timer; RNG "
|
||||
"entropy collection will consequently suffer.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -329,6 +329,10 @@ int qcedev_check_and_map_buffer(void *handle,
|
|||
mapped_size = binfo->ion_buf.mapped_buf_size;
|
||||
atomic_inc(&binfo->ref_count);
|
||||
|
||||
/* Add buffer mapping information to regd buffer list */
|
||||
mutex_lock(&qce_hndl->registeredbufs.lock);
|
||||
list_add_tail(&binfo->list, &qce_hndl->registeredbufs.list);
|
||||
mutex_unlock(&qce_hndl->registeredbufs.lock);
|
||||
}
|
||||
|
||||
/* Make sure the offset is within the mapped range */
|
||||
|
|
@ -340,13 +344,6 @@ int qcedev_check_and_map_buffer(void *handle,
|
|||
goto unmap;
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
/* Add buffer mapping information to regd buffer list */
|
||||
mutex_lock(&qce_hndl->registeredbufs.lock);
|
||||
list_add_tail(&binfo->list, &qce_hndl->registeredbufs.list);
|
||||
mutex_unlock(&qce_hndl->registeredbufs.lock);
|
||||
}
|
||||
|
||||
/* return the mapped virtual address adjusted by offset */
|
||||
*vaddr += offset;
|
||||
|
||||
|
|
@ -355,6 +352,9 @@ int qcedev_check_and_map_buffer(void *handle,
|
|||
unmap:
|
||||
if (!found) {
|
||||
qcedev_unmap_buffer(handle, mem_client, binfo);
|
||||
mutex_lock(&qce_hndl->registeredbufs.lock);
|
||||
list_del(&binfo->list);
|
||||
mutex_unlock(&qce_hndl->registeredbufs.lock);
|
||||
}
|
||||
|
||||
error:
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ static long adf_ctl_ioctl(struct file *fp, unsigned int cmd, unsigned long arg);
|
|||
static const struct file_operations adf_ctl_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.unlocked_ioctl = adf_ctl_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = adf_ctl_ioctl,
|
||||
};
|
||||
|
||||
struct adf_ctl_drv_info {
|
||||
|
|
|
|||
|
|
@ -348,26 +348,6 @@ size_t dax_copy_to_iter(struct dax_device *dax_dev, pgoff_t pgoff, void *addr,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(dax_copy_to_iter);
|
||||
|
||||
int dax_zero_page_range(struct dax_device *dax_dev, pgoff_t pgoff,
|
||||
size_t nr_pages)
|
||||
{
|
||||
if (!dax_alive(dax_dev))
|
||||
return -ENXIO;
|
||||
|
||||
if (!dax_dev->ops->zero_page_range)
|
||||
return -EOPNOTSUPP;
|
||||
/*
|
||||
* There are no callers that want to zero more than one page as of now.
|
||||
* Once users are there, this check can be removed after the
|
||||
* device mapper code has been updated to split ranges across targets.
|
||||
*/
|
||||
if (nr_pages != 1)
|
||||
return -EIO;
|
||||
|
||||
return dax_dev->ops->zero_page_range(dax_dev, pgoff, nr_pages);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dax_zero_page_range);
|
||||
|
||||
#ifdef CONFIG_ARCH_HAS_PMEM_API
|
||||
void arch_wb_cache_pmem(void *addr, size_t size);
|
||||
void dax_flush(struct dax_device *dax_dev, void *addr, size_t size)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2014-2022, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) "arm-memlat-mon: " fmt
|
||||
|
|
@ -126,7 +126,6 @@ struct memlat_mon {
|
|||
* @mons: All of the memlat_mon structs representing
|
||||
* the different voters who share this cpu_grp.
|
||||
* @mons_lock: A lock used to protect the @mons.
|
||||
* @init_mons_lock: A lock used to protect the @mons in probe routine.
|
||||
*/
|
||||
struct memlat_cpu_grp {
|
||||
cpumask_t cpus;
|
||||
|
|
@ -144,7 +143,6 @@ struct memlat_cpu_grp {
|
|||
unsigned int num_active_mons;
|
||||
struct memlat_mon *mons;
|
||||
struct mutex mons_lock;
|
||||
struct mutex init_mons_lock;
|
||||
spinlock_t mon_active_lock;
|
||||
};
|
||||
|
||||
|
|
@ -519,15 +517,11 @@ static int memlat_event_hotplug_going_down(unsigned int cpu)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Note: We must be holding cpus_read_lock() before calling this function
|
||||
* since we are using cpuslocked version of function inside it
|
||||
*/
|
||||
static int memlat_event_cpu_hp_init(void)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ONLINE_DYN,
|
||||
ret = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN,
|
||||
"MEMLAT_EVENT",
|
||||
memlat_event_hotplug_coming_up,
|
||||
memlat_event_hotplug_going_down);
|
||||
|
|
@ -857,7 +851,6 @@ static int memlat_cpu_grp_probe(struct platform_device *pdev)
|
|||
return -ENOMEM;
|
||||
|
||||
mutex_init(&cpu_grp->mons_lock);
|
||||
mutex_init(&cpu_grp->init_mons_lock);
|
||||
spin_lock_init(&cpu_grp->mon_active_lock);
|
||||
cpu_grp->update_ms = DEFAULT_UPDATE_MS;
|
||||
|
||||
|
|
@ -893,7 +886,7 @@ static int memlat_mon_probe(struct platform_device *pdev, bool is_compute)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
mutex_lock(&cpu_grp->init_mons_lock);
|
||||
mutex_lock(&cpu_grp->mons_lock);
|
||||
mon = &cpu_grp->mons[cpu_grp->num_inited_mons];
|
||||
spin_lock_irqsave(&cpu_grp->mon_active_lock, flags);
|
||||
mon->is_active = false;
|
||||
|
|
@ -1010,7 +1003,7 @@ static int memlat_mon_probe(struct platform_device *pdev, bool is_compute)
|
|||
cpu_grp->num_inited_mons++;
|
||||
|
||||
unlock_out:
|
||||
mutex_unlock(&cpu_grp->init_mons_lock);
|
||||
mutex_unlock(&cpu_grp->mons_lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -882,7 +882,7 @@ int __suspend_bw_hwmon(struct bw_hwmon *hw, enum mon_reg_type type)
|
|||
struct bwmon *m = to_bwmon(hw);
|
||||
|
||||
mon_irq_disable(m, type);
|
||||
disable_irq(m->irq);
|
||||
free_irq(m->irq, m);
|
||||
mon_disable(m, type);
|
||||
mon_irq_clear(m, type);
|
||||
|
||||
|
|
@ -908,6 +908,7 @@ static __always_inline
|
|||
int __resume_bw_hwmon(struct bw_hwmon *hw, enum mon_reg_type type)
|
||||
{
|
||||
struct bwmon *m = to_bwmon(hw);
|
||||
int ret;
|
||||
irq_handler_t handler;
|
||||
|
||||
switch (type) {
|
||||
|
|
@ -923,7 +924,15 @@ int __resume_bw_hwmon(struct bw_hwmon *hw, enum mon_reg_type type)
|
|||
}
|
||||
|
||||
mon_clear(m, false, type);
|
||||
enable_irq(m->irq);
|
||||
ret = request_threaded_irq(m->irq, handler, bwmon_intr_thread,
|
||||
IRQF_ONESHOT | IRQF_SHARED,
|
||||
dev_name(m->dev), m);
|
||||
if (ret < 0) {
|
||||
dev_err(m->dev, "Unable to register interrupt handler! (%d)\n",
|
||||
ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
mon_irq_enable(m, type);
|
||||
mon_enable(m, type);
|
||||
|
||||
|
|
|
|||
|
|
@ -70,28 +70,28 @@ static struct devfreq *find_device_devfreq(struct device *dev)
|
|||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static long find_available_min_freq(struct devfreq *devfreq)
|
||||
static unsigned long find_available_min_freq(struct devfreq *devfreq)
|
||||
{
|
||||
struct dev_pm_opp *opp;
|
||||
long min_freq = 0;
|
||||
unsigned long min_freq = 0;
|
||||
|
||||
opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &min_freq);
|
||||
if (IS_ERR(opp))
|
||||
min_freq = PTR_ERR(opp);
|
||||
min_freq = 0;
|
||||
else
|
||||
dev_pm_opp_put(opp);
|
||||
|
||||
return min_freq;
|
||||
}
|
||||
|
||||
static long find_available_max_freq(struct devfreq *devfreq)
|
||||
static unsigned long find_available_max_freq(struct devfreq *devfreq)
|
||||
{
|
||||
struct dev_pm_opp *opp;
|
||||
long max_freq = LONG_MAX;
|
||||
unsigned long max_freq = ULONG_MAX;
|
||||
|
||||
opp = dev_pm_opp_find_freq_floor(devfreq->dev.parent, &max_freq);
|
||||
if (IS_ERR(opp))
|
||||
max_freq = PTR_ERR(opp);
|
||||
max_freq = 0;
|
||||
else
|
||||
dev_pm_opp_put(opp);
|
||||
|
||||
|
|
@ -318,7 +318,7 @@ static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq,
|
|||
|
||||
devfreq->previous_freq = new_freq;
|
||||
|
||||
if (devfreq->suspend_freq >= devfreq->scaling_min_freq)
|
||||
if (devfreq->suspend_freq)
|
||||
devfreq->resume_freq = new_freq;
|
||||
|
||||
return err;
|
||||
|
|
@ -552,23 +552,18 @@ static int devfreq_notifier_call(struct notifier_block *nb, unsigned long type,
|
|||
{
|
||||
struct devfreq *devfreq = container_of(nb, struct devfreq, nb);
|
||||
int err = -EINVAL;
|
||||
long freq;
|
||||
|
||||
mutex_lock(&devfreq->lock);
|
||||
|
||||
freq = find_available_min_freq(devfreq);
|
||||
if (freq < 0) {
|
||||
devfreq->scaling_min_freq = 0;
|
||||
devfreq->scaling_min_freq = find_available_min_freq(devfreq);
|
||||
if (!devfreq->scaling_min_freq)
|
||||
goto out;
|
||||
}
|
||||
devfreq->scaling_min_freq = freq;
|
||||
|
||||
freq = find_available_max_freq(devfreq);
|
||||
if (freq < 0) {
|
||||
devfreq->scaling_max_freq = find_available_max_freq(devfreq);
|
||||
if (!devfreq->scaling_max_freq) {
|
||||
devfreq->scaling_max_freq = ULONG_MAX;
|
||||
goto out;
|
||||
}
|
||||
devfreq->scaling_max_freq = freq;
|
||||
|
||||
err = update_devfreq(devfreq);
|
||||
|
||||
|
|
@ -621,7 +616,6 @@ struct devfreq *devfreq_add_device(struct device *dev,
|
|||
struct devfreq *devfreq;
|
||||
struct devfreq_governor *governor;
|
||||
int err = 0;
|
||||
long freq;
|
||||
|
||||
if (!dev || !profile || !governor_name) {
|
||||
dev_err(dev, "%s: Invalid parameters.\n", __func__);
|
||||
|
|
@ -666,21 +660,21 @@ struct devfreq *devfreq_add_device(struct device *dev,
|
|||
mutex_lock(&devfreq->lock);
|
||||
}
|
||||
|
||||
freq = find_available_min_freq(devfreq);
|
||||
if (freq < 0) {
|
||||
devfreq->scaling_min_freq = find_available_min_freq(devfreq);
|
||||
if (!devfreq->scaling_min_freq) {
|
||||
mutex_unlock(&devfreq->lock);
|
||||
err = -EINVAL;
|
||||
goto err_dev;
|
||||
}
|
||||
devfreq->min_freq = devfreq->scaling_min_freq = freq;
|
||||
devfreq->min_freq = devfreq->scaling_min_freq;
|
||||
|
||||
freq = find_available_max_freq(devfreq);
|
||||
if (freq < 0) {
|
||||
devfreq->scaling_max_freq = find_available_max_freq(devfreq);
|
||||
if (!devfreq->scaling_max_freq) {
|
||||
mutex_unlock(&devfreq->lock);
|
||||
err = -EINVAL;
|
||||
goto err_dev;
|
||||
}
|
||||
devfreq->max_freq = devfreq->scaling_max_freq = freq;
|
||||
devfreq->max_freq = devfreq->scaling_max_freq;
|
||||
|
||||
devfreq->suspend_freq = dev_pm_opp_get_suspend_opp_freq(dev);
|
||||
atomic_set(&devfreq->suspend_count, 0);
|
||||
|
|
@ -912,7 +906,7 @@ int devfreq_suspend_device(struct devfreq *devfreq)
|
|||
return ret;
|
||||
}
|
||||
|
||||
if (devfreq->suspend_freq >= devfreq->scaling_min_freq) {
|
||||
if (devfreq->suspend_freq) {
|
||||
mutex_lock(&devfreq->lock);
|
||||
ret = devfreq_set_target(devfreq, devfreq->suspend_freq, 0);
|
||||
mutex_unlock(&devfreq->lock);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) "bw-hwmon: " fmt
|
||||
|
|
@ -80,8 +80,6 @@ static DEFINE_MUTEX(list_lock);
|
|||
static int use_cnt;
|
||||
static DEFINE_MUTEX(state_lock);
|
||||
|
||||
static DEFINE_MUTEX(event_handle_lock);
|
||||
|
||||
#define show_attr(name) \
|
||||
static ssize_t name##_show(struct device *dev, \
|
||||
struct device_attribute *attr, char *buf) \
|
||||
|
|
@ -867,7 +865,7 @@ static int devfreq_bw_hwmon_ev_handler(struct devfreq *df,
|
|||
struct hwmon_node *node;
|
||||
struct bw_hwmon *hw;
|
||||
|
||||
mutex_lock(&event_handle_lock);
|
||||
mutex_lock(&state_lock);
|
||||
|
||||
switch (event) {
|
||||
case DEVFREQ_GOV_START:
|
||||
|
|
@ -941,7 +939,7 @@ static int devfreq_bw_hwmon_ev_handler(struct devfreq *df,
|
|||
}
|
||||
|
||||
out:
|
||||
mutex_unlock(&event_handle_lock);
|
||||
mutex_unlock(&state_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -468,7 +468,9 @@ static const struct file_operations dma_buf_fops = {
|
|||
.llseek = dma_buf_llseek,
|
||||
.poll = dma_buf_poll,
|
||||
.unlocked_ioctl = dma_buf_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = dma_buf_ioctl,
|
||||
#endif
|
||||
.show_fdinfo = dma_buf_show_fdinfo,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -408,5 +408,5 @@ const struct file_operations sw_sync_debugfs_fops = {
|
|||
.open = sw_sync_debugfs_open,
|
||||
.release = sw_sync_debugfs_release,
|
||||
.unlocked_ioctl = sw_sync_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = sw_sync_ioctl,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -481,5 +481,5 @@ static const struct file_operations sync_file_fops = {
|
|||
.release = sync_file_release,
|
||||
.poll = sync_file_poll,
|
||||
.unlocked_ioctl = sync_file_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = sync_file_ioctl,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/atomic.h>
|
||||
|
|
@ -2525,12 +2524,6 @@ struct dma_async_tx_descriptor *gpi_prep_slave_sg(struct dma_chan *chan,
|
|||
for_each_sg(sgl, sg, sg_len, i) {
|
||||
tre = sg_virt(sg);
|
||||
|
||||
if (!tre) {
|
||||
kfree(gpi_desc);
|
||||
GPII_ERR(gpii, gpii_chan->chid, "TRE address is null\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (sg_len == 1) {
|
||||
tre_type =
|
||||
MSM_GPI_TRE_TYPE(((struct msm_gpi_tre *)tre));
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ static const char kfd_dev_name[] = "kfd";
|
|||
static const struct file_operations kfd_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.unlocked_ioctl = kfd_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = kfd_ioctl,
|
||||
.open = kfd_open,
|
||||
.mmap = kfd_mmap,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1743,12 +1743,6 @@ static int adreno_pm_suspend(struct device *dev)
|
|||
status = ops->pm_suspend(adreno_dev);
|
||||
mutex_unlock(&device->mutex);
|
||||
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
kthread_flush_worker(device->events_worker);
|
||||
flush_workqueue(kgsl_driver.mem_workqueue);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
*/
|
||||
|
||||
#include <linux/clk/qcom.h>
|
||||
|
|
@ -2524,7 +2523,6 @@ int a6xx_perfcounter_update(struct adreno_device *adreno_dev,
|
|||
struct cpu_gpu_lock *lock = ptr;
|
||||
u32 *data = ptr + sizeof(*lock);
|
||||
int i, offset = 0;
|
||||
u32 pending_pairs = 2; /* No of pairs to add: <select,value> and <cntl,1> */
|
||||
|
||||
if (cpu_gpu_lock(lock)) {
|
||||
cpu_gpu_unlock(lock);
|
||||
|
|
@ -2548,13 +2546,6 @@ int a6xx_perfcounter_update(struct adreno_device *adreno_dev,
|
|||
offset += 2;
|
||||
}
|
||||
|
||||
/* Ensure there is enough space in the reglist buffer for new pairs */
|
||||
if ((offset + (pending_pairs * 2)) >=
|
||||
(adreno_dev->pwrup_reglist->size / sizeof(u32))) {
|
||||
cpu_gpu_unlock(lock);
|
||||
return -ENOSPC;
|
||||
}
|
||||
|
||||
/*
|
||||
* For all targets A6XX_RBBM_PERFCTR_CNTL needs to be the last entry,
|
||||
* so overwrite the existing A6XX_RBBM_PERFCNTL_CTRL and add it back to
|
||||
|
|
|
|||
|
|
@ -593,7 +593,7 @@ static int find_vma_block(struct a6xx_gmu_device *gmu, u32 addr, u32 size)
|
|||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < gmu->num_vmas; i++) {
|
||||
for (i = 0; i < GMU_MEM_TYPE_MAX; i++) {
|
||||
struct gmu_vma_entry *vma = &gmu->vma[i];
|
||||
|
||||
if ((addr >= vma->start) &&
|
||||
|
|
@ -2685,13 +2685,10 @@ int a6xx_gmu_probe(struct kgsl_device *device,
|
|||
if (ret)
|
||||
goto error;
|
||||
|
||||
if (adreno_is_a650_family(adreno_dev)) {
|
||||
if (adreno_is_a650_family(adreno_dev))
|
||||
gmu->vma = a6xx_gmu_vma;
|
||||
gmu->num_vmas = ARRAY_SIZE(a6xx_gmu_vma);
|
||||
} else {
|
||||
else
|
||||
gmu->vma = a6xx_gmu_vma_legacy;
|
||||
gmu->num_vmas = ARRAY_SIZE(a6xx_gmu_vma_legacy);
|
||||
}
|
||||
|
||||
/* Map and reserve GMU CSRs registers */
|
||||
ret = a6xx_gmu_reg_probe(adreno_dev);
|
||||
|
|
|
|||
|
|
@ -187,8 +187,6 @@ struct a6xx_gmu_device {
|
|||
/** @global_entries: To keep track of number of gmu buffers */
|
||||
u32 global_entries;
|
||||
struct gmu_vma_entry *vma;
|
||||
/** @num_vmas: Number of entries in the @vma array */
|
||||
u32 num_vmas;
|
||||
unsigned int log_wptr_retention;
|
||||
/** @cm3_fault: whether gmu received a cm3 fault interrupt */
|
||||
atomic_t cm3_fault;
|
||||
|
|
|
|||
|
|
@ -120,7 +120,6 @@ static void tcs_cmd_data(struct bcm *bcms, int count, u32 ab, u32 ib,
|
|||
u32 *data)
|
||||
{
|
||||
int i;
|
||||
u64 total_width;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
bool valid = true;
|
||||
|
|
@ -146,11 +145,8 @@ static void tcs_cmd_data(struct bcm *bcms, int count, u32 ab, u32 ib,
|
|||
/* Multiple the bandwidth by the width of the connection */
|
||||
avg = ((u64) ab) * bcms[i].width;
|
||||
|
||||
total_width = bcms[i].buswidth * bcms[i].channels;
|
||||
|
||||
/* And then divide by the total width across channels */
|
||||
if (total_width)
|
||||
do_div(avg, (u32) total_width);
|
||||
do_div(avg, bcms[i].buswidth * bcms[i].channels);
|
||||
|
||||
peak = ((u64) ib) * bcms[i].width;
|
||||
do_div(peak, bcms[i].buswidth);
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ static int devfreq_gpubw_get_target(struct devfreq *df,
|
|||
int act_level;
|
||||
int norm_max_cycles;
|
||||
int norm_cycles;
|
||||
int wait_active_percent = 0;
|
||||
int wait_active_percent;
|
||||
int gpu_percent;
|
||||
/*
|
||||
* Normalized AB should at max usage be the gpu_bimc frequency in MHz.
|
||||
|
|
@ -132,9 +132,8 @@ static int devfreq_gpubw_get_target(struct devfreq *df,
|
|||
(unsigned int) priv->bus.total_time;
|
||||
norm_cycles = (unsigned int)(priv->bus.ram_time + priv->bus.ram_wait) /
|
||||
(unsigned int) priv->bus.total_time;
|
||||
if (priv->bus.ram_time)
|
||||
wait_active_percent = (100 * (unsigned int)priv->bus.ram_wait) /
|
||||
(unsigned int) priv->bus.ram_time;
|
||||
wait_active_percent = (100 * (unsigned int)priv->bus.ram_wait) /
|
||||
(unsigned int) priv->bus.ram_time;
|
||||
gpu_percent = (100 * (unsigned int)priv->bus.gpu_time) /
|
||||
(unsigned int) priv->bus.total_time;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2008-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <uapi/linux/msm_ion.h>
|
||||
|
|
@ -349,14 +349,12 @@ static void kgsl_destroy_ion(struct kgsl_memdesc *memdesc)
|
|||
|
||||
if (meta != NULL) {
|
||||
remove_dmabuf_list(meta);
|
||||
dma_buf_unmap_attachment(meta->attach, memdesc->sgt, DMA_BIDIRECTIONAL);
|
||||
dma_buf_detach(meta->dmabuf, meta->attach);
|
||||
dma_buf_put(meta->dmabuf);
|
||||
kfree(meta);
|
||||
}
|
||||
|
||||
memdesc->sgt = NULL;
|
||||
entry->priv_data = NULL;
|
||||
}
|
||||
|
||||
static const struct kgsl_memdesc_ops kgsl_dmabuf_ops = {
|
||||
|
|
@ -687,11 +685,11 @@ int kgsl_context_init(struct kgsl_device_private *dev_priv,
|
|||
if (id == -ENOSPC) {
|
||||
/*
|
||||
* Before declaring that there are no contexts left try
|
||||
* flushing the event worker just in case there are
|
||||
* flushing the event workqueue just in case there are
|
||||
* detached contexts waiting to finish
|
||||
*/
|
||||
|
||||
kthread_flush_worker(device->events_worker);
|
||||
flush_workqueue(device->events_wq);
|
||||
id = _kgsl_get_context_id(device);
|
||||
}
|
||||
|
||||
|
|
@ -2997,7 +2995,7 @@ static int kgsl_setup_dma_buf(struct kgsl_device *device,
|
|||
{
|
||||
int ret = 0;
|
||||
struct scatterlist *s;
|
||||
struct sg_table *sg_table = NULL;
|
||||
struct sg_table *sg_table;
|
||||
struct dma_buf_attachment *attach = NULL;
|
||||
struct kgsl_dma_buf_meta *meta;
|
||||
|
||||
|
|
@ -3039,6 +3037,8 @@ static int kgsl_setup_dma_buf(struct kgsl_device *device,
|
|||
goto out;
|
||||
}
|
||||
|
||||
dma_buf_unmap_attachment(attach, sg_table, DMA_BIDIRECTIONAL);
|
||||
|
||||
meta->table = sg_table;
|
||||
entry->priv_data = meta;
|
||||
entry->memdesc.sgt = sg_table;
|
||||
|
|
@ -3093,9 +3093,6 @@ skip_access_check:
|
|||
|
||||
out:
|
||||
if (ret) {
|
||||
if (!IS_ERR_OR_NULL(sg_table))
|
||||
dma_buf_unmap_attachment(attach, sg_table, DMA_BIDIRECTIONAL);
|
||||
|
||||
if (!IS_ERR_OR_NULL(attach))
|
||||
dma_buf_detach(dmabuf, attach);
|
||||
|
||||
|
|
@ -4057,9 +4054,9 @@ static unsigned long _gpu_set_svm_region(struct kgsl_process_private *private,
|
|||
return addr;
|
||||
}
|
||||
|
||||
unsigned long kgsl_get_align(struct kgsl_memdesc *memdesc)
|
||||
static unsigned long get_align(struct kgsl_mem_entry *entry)
|
||||
{
|
||||
u32 bit = kgsl_memdesc_get_align(memdesc);
|
||||
int bit = kgsl_memdesc_get_align(&entry->memdesc);
|
||||
|
||||
if (bit >= ilog2(SZ_2M))
|
||||
return SZ_2M;
|
||||
|
|
@ -4068,7 +4065,7 @@ unsigned long kgsl_get_align(struct kgsl_memdesc *memdesc)
|
|||
else if (bit >= ilog2(SZ_64K))
|
||||
return SZ_64K;
|
||||
|
||||
return PAGE_SIZE;
|
||||
return SZ_4K;
|
||||
}
|
||||
|
||||
static unsigned long set_svm_area(struct file *file,
|
||||
|
|
@ -4101,7 +4098,7 @@ static unsigned long get_svm_unmapped_area(struct file *file,
|
|||
{
|
||||
struct kgsl_device_private *dev_priv = file->private_data;
|
||||
struct kgsl_process_private *private = dev_priv->process_priv;
|
||||
unsigned long align = kgsl_get_align(&entry->memdesc);
|
||||
unsigned long align = get_align(entry);
|
||||
unsigned long ret, iova;
|
||||
u64 start = 0, end = 0;
|
||||
struct vm_area_struct *vma;
|
||||
|
|
@ -4528,16 +4525,15 @@ int kgsl_device_platform_probe(struct kgsl_device *device)
|
|||
device->pwrctrl.interrupt_num = status;
|
||||
disable_irq(device->pwrctrl.interrupt_num);
|
||||
|
||||
device->events_worker = kthread_create_worker(0, "kgsl-events");
|
||||
device->events_wq = alloc_workqueue("kgsl-events",
|
||||
WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS | WQ_HIGHPRI, 0);
|
||||
|
||||
if (IS_ERR(device->events_worker)) {
|
||||
status = PTR_ERR(device->events_worker);
|
||||
dev_err(device->dev, "Failed to create events worker ret=%d\n", status);
|
||||
if (!device->events_wq) {
|
||||
dev_err(device->dev, "Failed to allocate events workqueue\n");
|
||||
status = -ENOMEM;
|
||||
goto error_pwrctrl_close;
|
||||
}
|
||||
|
||||
sched_set_fifo(device->events_worker->task);
|
||||
|
||||
/* This can return -EPROBE_DEFER */
|
||||
status = kgsl_mmu_probe(device);
|
||||
if (status != 0)
|
||||
|
|
@ -4562,8 +4558,10 @@ int kgsl_device_platform_probe(struct kgsl_device *device)
|
|||
return 0;
|
||||
|
||||
error_pwrctrl_close:
|
||||
if (!IS_ERR(device->events_worker))
|
||||
kthread_destroy_worker(device->events_worker);
|
||||
if (device->events_wq) {
|
||||
destroy_workqueue(device->events_wq);
|
||||
device->events_wq = NULL;
|
||||
}
|
||||
|
||||
kgsl_pwrctrl_close(device);
|
||||
error:
|
||||
|
|
@ -4573,7 +4571,10 @@ error:
|
|||
|
||||
void kgsl_device_platform_remove(struct kgsl_device *device)
|
||||
{
|
||||
kthread_destroy_worker(device->events_worker);
|
||||
if (device->events_wq) {
|
||||
destroy_workqueue(device->events_wq);
|
||||
device->events_wq = NULL;
|
||||
}
|
||||
|
||||
kgsl_device_snapshot_close(device);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2008-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef __KGSL_H
|
||||
#define __KGSL_H
|
||||
|
|
@ -295,7 +295,7 @@ typedef void (*kgsl_event_func)(struct kgsl_device *, struct kgsl_event_group *,
|
|||
* @priv: Private data passed to the callback function
|
||||
* @node: List node for the kgsl_event_group list
|
||||
* @created: Jiffies when the event was created
|
||||
* @work: kthread_work struct for dispatching the callback
|
||||
* @work: Work struct for dispatching the callback
|
||||
* @result: KGSL event result type to pass to the callback
|
||||
* group: The event group this event belongs to
|
||||
*/
|
||||
|
|
@ -307,7 +307,7 @@ struct kgsl_event {
|
|||
void *priv;
|
||||
struct list_head node;
|
||||
unsigned int created;
|
||||
struct kthread_work work;
|
||||
struct work_struct work;
|
||||
int result;
|
||||
struct kgsl_event_group *group;
|
||||
};
|
||||
|
|
@ -473,8 +473,6 @@ void kgsl_mmu_remove_global(struct kgsl_device *device,
|
|||
struct kgsl_memdesc *memdesc);
|
||||
|
||||
/* Helper functions */
|
||||
unsigned long kgsl_get_align(struct kgsl_memdesc *memdesc);
|
||||
|
||||
int kgsl_request_irq(struct platform_device *pdev, const char *name,
|
||||
irq_handler_t handler, void *data);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2002,2008-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
*/
|
||||
|
||||
#include <linux/debugfs.h>
|
||||
|
|
@ -147,7 +146,7 @@ static const char *memtype_str(int memtype)
|
|||
|
||||
static char get_alignflag(const struct kgsl_memdesc *m)
|
||||
{
|
||||
u32 align = kgsl_memdesc_get_align(m);
|
||||
int align = kgsl_memdesc_get_align(m);
|
||||
|
||||
if (align >= ilog2(SZ_1M))
|
||||
return 'L';
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2002,2007-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef __KGSL_DEVICE_H
|
||||
#define __KGSL_DEVICE_H
|
||||
|
|
@ -294,7 +293,7 @@ struct kgsl_device {
|
|||
struct kgsl_pwrscale pwrscale;
|
||||
|
||||
int reset_counter; /* Track how many GPU core resets have occurred */
|
||||
struct kthread_worker *events_worker;
|
||||
struct workqueue_struct *events_wq;
|
||||
|
||||
/* Number of active contexts seen globally for this device */
|
||||
int active_context_count;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2011-2019, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/debugfs.h>
|
||||
|
|
@ -22,17 +21,17 @@ static inline void signal_event(struct kgsl_device *device,
|
|||
{
|
||||
list_del(&event->node);
|
||||
event->result = result;
|
||||
kthread_queue_work(device->events_worker, &event->work);
|
||||
queue_work(device->events_wq, &event->work);
|
||||
}
|
||||
|
||||
/**
|
||||
* _kgsl_event_worker() - Work handler for processing GPU event callbacks
|
||||
* @work: Pointer to the kthread_work for the event
|
||||
* @work: Pointer to the work_struct for the event
|
||||
*
|
||||
* Each event callback has its own kthread_work struct and is run on a event specific
|
||||
* worker thread. This is the worker that queues up the event callback function.
|
||||
* Each event callback has its own work struct and is run on a event specific
|
||||
* workqeuue. This is the worker that queues up the event callback function.
|
||||
*/
|
||||
static void _kgsl_event_worker(struct kthread_work *work)
|
||||
static void _kgsl_event_worker(struct work_struct *work)
|
||||
{
|
||||
struct kgsl_event *event = container_of(work, struct kgsl_event, work);
|
||||
int id = KGSL_CONTEXT_ID(event->context);
|
||||
|
|
@ -269,7 +268,7 @@ int kgsl_add_event(struct kgsl_device *device, struct kgsl_event_group *group,
|
|||
event->created = jiffies;
|
||||
event->group = group;
|
||||
|
||||
kthread_init_work(&event->work, _kgsl_event_worker);
|
||||
INIT_WORK(&event->work, _kgsl_event_worker);
|
||||
|
||||
trace_kgsl_register_event(KGSL_CONTEXT_ID(context), timestamp, func);
|
||||
|
||||
|
|
@ -284,7 +283,7 @@ int kgsl_add_event(struct kgsl_device *device, struct kgsl_event_group *group,
|
|||
|
||||
if (timestamp_cmp(retired, timestamp) >= 0) {
|
||||
event->result = KGSL_EVENT_RETIRED;
|
||||
kthread_queue_work(device->events_worker, &event->work);
|
||||
queue_work(device->events_wq, &event->work);
|
||||
spin_unlock(&group->lock);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2011-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
* Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/bitfield.h>
|
||||
|
|
@ -2229,7 +2229,8 @@ static int kgsl_iommu_get_gpuaddr(struct kgsl_pagetable *pagetable,
|
|||
|
||||
size = kgsl_memdesc_footprint(memdesc);
|
||||
|
||||
align = kgsl_get_align(memdesc);
|
||||
align = max_t(uint64_t, 1 << kgsl_memdesc_get_align(memdesc),
|
||||
PAGE_SIZE);
|
||||
|
||||
if (memdesc->flags & KGSL_MEMFLAGS_FORCE_32BIT) {
|
||||
start = pt->compat_va_start;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2002,2007-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
*/
|
||||
#ifndef __KGSL_SHAREDMEM_H
|
||||
#define __KGSL_SHAREDMEM_H
|
||||
|
|
@ -158,7 +157,7 @@ void kgsl_free_globals(struct kgsl_device *device);
|
|||
*
|
||||
* Returns the alignment requested, as power of 2 exponent.
|
||||
*/
|
||||
static inline u32
|
||||
static inline int
|
||||
kgsl_memdesc_get_align(const struct kgsl_memdesc *memdesc)
|
||||
{
|
||||
return MEMFLAGS(memdesc->flags, KGSL_MEMALIGN_MASK,
|
||||
|
|
|
|||
|
|
@ -3743,12 +3743,10 @@ static int hidpp_probe(struct hid_device *hdev, const struct hid_device_id *id)
|
|||
|
||||
if (hidpp->quirks & HIDPP_QUIRK_CLASS_G920) {
|
||||
ret = hidpp_ff_init(hidpp, &data);
|
||||
if (ret) {
|
||||
if (ret)
|
||||
hid_warn(hidpp->hid_dev,
|
||||
"Unable to initialize force feedback support, errno %d\n",
|
||||
ret);
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -472,7 +472,9 @@ static const struct file_operations hidraw_ops = {
|
|||
.release = hidraw_release,
|
||||
.unlocked_ioctl = hidraw_ioctl,
|
||||
.fasync = hidraw_fasync,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = hidraw_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ static ssize_t tmc_etr_byte_cntr_read(struct file *fp, char __user *data,
|
|||
size_t len, loff_t *ppos)
|
||||
{
|
||||
struct byte_cntr *byte_cntr_data = fp->private_data;
|
||||
char *bufp = NULL;
|
||||
char *bufp;
|
||||
int ret = 0;
|
||||
if (!data)
|
||||
return -EINVAL;
|
||||
|
|
|
|||
|
|
@ -1612,7 +1612,7 @@ static const struct file_operations iio_buffer_fileops = {
|
|||
.owner = THIS_MODULE,
|
||||
.llseek = noop_llseek,
|
||||
.unlocked_ioctl = iio_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = iio_ioctl,
|
||||
};
|
||||
|
||||
static int iio_check_unique_scan_index(struct iio_dev *indio_dev)
|
||||
|
|
|
|||
|
|
@ -1135,7 +1135,7 @@ static const struct file_operations uverbs_fops = {
|
|||
.release = ib_uverbs_close,
|
||||
.llseek = no_llseek,
|
||||
.unlocked_ioctl = ib_uverbs_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = ib_uverbs_ioctl,
|
||||
};
|
||||
|
||||
static const struct file_operations uverbs_mmap_fops = {
|
||||
|
|
@ -1146,7 +1146,7 @@ static const struct file_operations uverbs_mmap_fops = {
|
|||
.release = ib_uverbs_close,
|
||||
.llseek = no_llseek,
|
||||
.unlocked_ioctl = ib_uverbs_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.compat_ioctl = ib_uverbs_ioctl,
|
||||
};
|
||||
|
||||
static int ib_uverbs_get_nl_info(struct ib_device *ibdev, void *client_data,
|
||||
|
|
|
|||
|
|
@ -1543,7 +1543,7 @@ egistec_probe_failed:
|
|||
return status;
|
||||
}
|
||||
|
||||
static int __init egisfp_init(void)
|
||||
int __init egisfp_init(void)
|
||||
{
|
||||
int status;
|
||||
INFO_PRINT(" %s : module init \n", __func__);
|
||||
|
|
@ -1556,7 +1556,7 @@ static int __init egisfp_init(void)
|
|||
INFO_PRINT(" %s : module init OK ! \n", __func__);
|
||||
return status;
|
||||
}
|
||||
static void __exit egisfp_exit(void)
|
||||
void __exit egisfp_exit(void)
|
||||
{
|
||||
INFO_PRINT("module exit \n");
|
||||
platform_driver_unregister(&egisfp_driver);
|
||||
|
|
|
|||
|
|
@ -1473,7 +1473,7 @@ egistec_probe_failed:
|
|||
return status;
|
||||
}
|
||||
|
||||
static int __init egisfp_init(void)
|
||||
int __init egisfp_init(void)
|
||||
{
|
||||
int status;
|
||||
INFO_PRINT(" %s : module init \n", __func__);
|
||||
|
|
@ -1486,7 +1486,7 @@ static int __init egisfp_init(void)
|
|||
INFO_PRINT(" %s : module init OK ! \n", __func__);
|
||||
return status;
|
||||
}
|
||||
static void __exit egisfp_exit(void)
|
||||
void __exit egisfp_exit(void)
|
||||
{
|
||||
INFO_PRINT("module exit \n");
|
||||
platform_driver_unregister(&egisfp_driver);
|
||||
|
|
|
|||
|
|
@ -1389,7 +1389,7 @@ egistec_probe_failed:
|
|||
return status;
|
||||
}
|
||||
|
||||
static int __init egisfp_init(void)
|
||||
int __init egisfp_init(void)
|
||||
{
|
||||
int status;
|
||||
INFO_PRINT(" %s : module init \n", __func__);
|
||||
|
|
@ -1402,7 +1402,7 @@ static int __init egisfp_init(void)
|
|||
INFO_PRINT(" %s : module init OK ! \n", __func__);
|
||||
return status;
|
||||
}
|
||||
static void __exit egisfp_exit(void)
|
||||
void __exit egisfp_exit(void)
|
||||
{
|
||||
INFO_PRINT("module exit \n");
|
||||
platform_driver_unregister(&egisfp_driver);
|
||||
|
|
|
|||
|
|
@ -1333,8 +1333,6 @@ source "drivers/input/touchscreen/synaptics_dsx/Kconfig"
|
|||
|
||||
source "drivers/input/touchscreen/nt36xxx/Kconfig"
|
||||
|
||||
source "drivers/input/touchscreen/chipone_tddi_mmi/Kconfig"
|
||||
|
||||
source "drivers/input/touchscreen/chipone_tddi_v2_mmi/Kconfig"
|
||||
|
||||
source "drivers/input/touchscreen/focaltech_0flash_v2_mmi/Kconfig"
|
||||
|
|
|
|||
|
|
@ -116,7 +116,6 @@ obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_TCM) += synaptics_tcm/
|
|||
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX) += synaptics_dsx/
|
||||
obj-$(CONFIG_TOUCHSCREEN_NT36XXX) += nt36xxx/
|
||||
|
||||
obj-$(CONFIG_TOUCHSCREEN_CHIPONE_TDDI) += chipone_tddi_mmi/
|
||||
obj-$(CONFIG_TOUCHSCREEN_CHIPONE_V2_MMI) += chipone_tddi_v2_mmi/
|
||||
obj-$(CONFIG_TOUCHSCREEN_FTS_0FLASH_MMI_V2) += focaltech_0flash_v2_mmi/
|
||||
obj-$(CONFIG_TOUCHSCREEN_FTS_V3) += focaltech_touch_v3/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
ccflags-$(CONFIG_TOUCHSCREEN_CHIPONE_TDDI_ESD) += -DCONFIG_CTS_ESD_PROTECTION
|
||||
# add -Wall to try to catch everything we can.
|
||||
EXTRA_CFLAGS += -Wall
|
||||
EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include \
|
||||
-I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/drivers/input/touchscreen/chipone_tddi_mmi
|
||||
ifneq ($(filter m y,$(CONFIG_CHIPONE_ESD)),)
|
||||
EXTRA_CFLAGS += -DCONFIG_CTS_ESD_PROTECTION
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_TOUCHSCREEN_CHIPONE_TDDI) := chipone_tddi_mmi.o
|
||||
obj-m := chipone_tddi_mmi.o
|
||||
|
||||
chipone_tddi_mmi-objs += cts_i2c_driver.o
|
||||
chipone_tddi_mmi-objs += cts_core.o
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
config TOUCHSCREEN_CHIPONE_TDDI
|
||||
tristate "CHIPONE TDDI Touchscreen"
|
||||
default n
|
||||
help
|
||||
Say Y here if you have a Chipone flash touchscreen connected
|
||||
to your system by SPI bus.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config TOUCHSCREEN_CHIPONE_TDDI_ESD
|
||||
bool "ESD Detection"
|
||||
depends on TOUCHSCREEN_CHIPONE_TDDI
|
||||
default n
|
||||
help
|
||||
Say Y here if you want to have ESD Detection support.
|
||||
|
||||
If unsure, say N.
|
||||
|
|
@ -1,538 +0,0 @@
|
|||
0x0, 0x0, 0x0, 0x60,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,
|
||||
0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,
|
||||
0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,
|
||||
0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,
|
||||
0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,
|
||||
0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,0x0, 0x0, 0x1, 0x6c,
|
||||
0xe0,0x60,0x3c,0x0, 0xe1,0xf0,0xcc,0x2, 0xe0,0x60,0x3c,0x10,0xea,0x0, 0xc8,0x4,
|
||||
0xe1,0xbf,0xc8,0x7c,0xfa,0x0, 0xcf,0x84,0xf0,0x0, 0xcf,0xb0,0xe0,0x0, 0x14,0x0,
|
||||
0xe0,0x60,0x3c,0x17,0xea,0x0, 0xcc,0x4, 0xe0,0x0, 0xcc,0x0, 0xe0,0x40,0x14,0xc4,
|
||||
0x3c,0x79,0x1, 0x7, 0xea,0x0, 0xcd,0x4, 0xe0,0x2, 0xcd,0x58,0x3d,0x28,0xd0,0x69,
|
||||
0xe0,0x2, 0x14,0x40,0x3c,0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x46,0x54,0x35,0x36,0x36,0x32,0x5f,0x50,0x72,0x61,0x6d,0x62,0x6f,0x6f,0x74,0x0,
|
||||
0x56,0x31,0x2e,0x30,0x4e,0x6f,0x76,0x20,0x20,0x39,0x20,0x32,0x30,0x32,0x31,0x0,
|
||||
0x8, 0x67,0xf7,0x98,0x48,0xa1,0xb7,0x5e,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xea,0x0, 0xcc,0x4, 0xe0,0x8, 0xcc,0x0, 0x14,0x80,0xea,0x0, 0xcd,0x4, 0xe0,0x38,
|
||||
0xcd,0x44,0x3d,0x28,0xd0,0x46,0xea,0x0, 0xcc,0x0, 0xe0,0x0, 0xcc,0x0, 0x24,0x2,
|
||||
0x3c,0x1, 0x14,0x0, 0x14,0x80,0xd4,0x4c,0x3a,0x80,0x0, 0x0, 0x3a,0x80,0x0, 0x0,
|
||||
0x3d,0xe8,0xe2,0x0, 0xcd,0x3, 0x5, 0xab,0xe0,0xc, 0x3c,0x49,0xe2,0x0, 0xc6,0x3,
|
||||
0x2e,0x26,0xc5,0x7c,0xe0,0xc, 0x35,0x21,0xe2,0x0, 0xc6,0x18,0xe1,0x80,0xa7,0x99,
|
||||
0x26,0x6, 0xe0,0x3, 0x16,0xc0,0x3e,0xac,0x3f,0x6f,0x3e,0x82,0xc5,0x70,0x6, 0x93,
|
||||
0xe1,0x80,0xa7,0x19,0xe1,0x80,0xbf,0x9b,0xe1,0x80,0xa7,0x99,0xe1,0x80,0xbf,0x1b,
|
||||
0xe1,0x80,0xa7,0x19,0xe1,0x80,0xbf,0x9b,0xe1,0x80,0xa7,0x99,0xc5,0x70,0xe1,0x80,
|
||||
0xbf,0x1b,0x6, 0x6f,0xe1,0x80,0xbf,0x9b,0xe2,0x0, 0xc5,0x3, 0xc5,0x7f,0x6, 0x87,
|
||||
0xe1,0x80,0x86,0x19,0xc5,0x7f,0xe1,0x80,0xae,0x1b,0x6, 0x7b,0x38,0x82,0x0, 0x0,
|
||||
0xe2,0x0, 0xcd,0x3, 0x5, 0xab,0xe7,0x28,0xcc,0x89,0xe7,0x50,0xcc,0x89,0xe0,0x41,
|
||||
0x3e,0x48,0xe2,0x0, 0xc6,0x3, 0xe0,0xb, 0x3e,0x18,0xe0,0xd, 0x3d,0x2c,0x3e,0x6d,
|
||||
0xe2,0x0, 0xc6,0xc, 0x26,0x5, 0xe0,0x4, 0x17,0xa4,0x3f,0xac,0x3f,0x82,0xe1,0xff,
|
||||
0xc6,0xf0,0x6, 0x8b,0xe1,0x80,0xbc,0x9b,0xe1,0x80,0xbc,0x9b,0xe1,0x80,0xbc,0x9b,
|
||||
0xc6,0xf0,0xe1,0x80,0xbc,0x9b,0x6, 0x77,0x3d,0x18,0xe0,0xc0,0xac,0xba,0xac,0x9a,
|
||||
0xac,0xaa,0xac,0x88,0xac,0x98,0xac,0xa8,0x38,0x82,0x3d,0xe8,0xc5,0x7f,0x6, 0x85,
|
||||
0xe1,0x80,0xac,0x9b,0xc5,0x7f,0x6, 0x7d,0x38,0x82,0x8, 0xb1,0xe0,0x60,0x3c,0x87,
|
||||
0xea,0x9, 0x7f,0xd0,0xe0,0x0, 0x15,0x60,0x3c,0x6f,0xdf,0x8b,0xe0,0x60,0x3c,0x17,
|
||||
0x8, 0xe1,0xc0,0x7c,0x17,0xea,0x6f,0x87,0xe0,0x0, 0x1f,0x83,0x8f,0x8f,0xe2,0x0,
|
||||
0xcf,0xe6,0x1, 0x37,0x2, 0x93,0xe2,0x0, 0xcf,0x85,0x1, 0x2a,0xe2,0x0, 0xcf,0xde,
|
||||
0xe0,0x0, 0x1, 0x45,0xe2,0x0, 0xcf,0x83,0x1, 0xa8,0xe0,0x0, 0x1f,0xc3,0xa7,0x8f,
|
||||
0x3c,0x1f,0xe0,0x1, 0x8c,0x8, 0x6c,0x7, 0x0, 0xa0,0xe2,0x1, 0xcf,0x90,0x1, 0xb,
|
||||
0xe2,0x1, 0xcf,0xa8,0x1, 0x2e,0xe2,0x0, 0xcf,0xea,0x1, 0x97,0x2c,0x24,0xe0,0x0,
|
||||
0x1f,0x8c,0x0, 0x84,0x2c,0x6, 0xe0,0x0, 0x1f,0xa1,0x9f,0x8f,0x37,0xc8,0x0, 0x8c,
|
||||
0xe2,0x0, 0xcc,0x1, 0x1, 0x8a,0xe0,0x0, 0x1f,0xa1,0x9f,0x8f,0x0, 0x85,0x2c,0x5,
|
||||
0xe0,0x0, 0x1f,0x91,0x8f,0x8f,0x6f,0x87,0x4f,0x87,0x3c,0x6f,0xc0,0x4, 0x38,0x82,
|
||||
0x2c,0x4, 0xe0,0x0, 0x1f,0xb6,0x0, 0xea,0xe2,0x0, 0xcc,0x1, 0x1, 0xf6,0xe0,0x0,
|
||||
0x1f,0xb6,0x0, 0xec,0xe2,0x0, 0xcc,0x1, 0x1, 0xf0,0xe0,0x0, 0x1f,0x8c,0x0, 0xe6,
|
||||
0xe0,0x0, 0x1f,0x85,0x3c,0x1f,0x8c,0x8, 0x0, 0xc7,0xe0,0x0, 0x1f,0x95,0xa7,0x8f,
|
||||
0x0, 0xfa,0xe0,0x0, 0x1f,0x2e,0x17,0x80,0xaf,0x8e,0x3e,0xee,0xe0,0x0, 0x1f,0x83,
|
||||
0x8f,0x8f,0xe2,0x0, 0xcf,0xe1,0xe0,0x1, 0x1, 0x32,0x2, 0xac,0xe2,0x0, 0xcf,0x87,
|
||||
0xe0,0x2, 0x1, 0x5d,0x2, 0x8f,0xe2,0x0, 0xcf,0x83,0xe0,0x2, 0x1, 0x25,0xe2,0x0,
|
||||
0xcf,0x85,0xe0,0x0, 0x1, 0x5f,0xe2,0x0, 0xcf,0x81,0x1, 0x8d,0x17,0x81,0xaf,0x8d,
|
||||
0x0, 0x8a,0xe2,0x0, 0xcf,0x90,0xe0,0x0, 0x1, 0x6a,0x2, 0x86,0xe2,0x0, 0xcf,0x89,
|
||||
0xe0,0x0, 0x1, 0x6e,0x38,0x82,0xe2,0x0, 0xcf,0xd5,0x1, 0x19,0xe2,0x0, 0xcf,0xde,
|
||||
0x1, 0xfa,0xe0,0x0, 0x1f,0x95,0xe0,0x0, 0x1e,0xb1,0xbe,0x8f,0x17,0x81,0xaf,0x8e,
|
||||
0x0, 0xf2,0xe2,0x0, 0xcf,0xfa,0xe0,0x0, 0x1, 0x68,0x2, 0x94,0xe2,0x0, 0xcf,0xe5,
|
||||
0xe0,0x1, 0x1, 0x43,0x2, 0x89,0xe2,0x0, 0xcf,0xe4,0x1, 0xe5,0xe0,0x0, 0x1f,0xb6,
|
||||
0x17,0x0, 0xb7,0xf, 0x0, 0xe0,0xe2,0x0, 0xcf,0xe6,0x1, 0x69,0xe2,0x0, 0xcf,0xea,
|
||||
0x0, 0xcd,0xe2,0x1, 0xcf,0xa8,0x1, 0x4b,0x2, 0x8b,0xe2,0x1, 0xcf,0x90,0x1, 0xd3,
|
||||
0x2c,0x52,0x17,0x81,0xaf,0x8e,0xe0,0x0, 0x1f,0xb6,0xb4,0xf, 0x0, 0xcc,0xe2,0x1,
|
||||
0xcf,0xaa,0x1, 0x65,0xe2,0x1, 0xcf,0xbf,0x1, 0xc6,0xe2,0x0, 0xcc,0x5, 0xe0,0x0,
|
||||
0x2, 0xfd,0xea,0x7, 0x7f,0xc4,0xe9,0xff,0xc7,0xfc,0x34,0x21,0x3c,0x1f,0x94,0x8,
|
||||
0x3c,0x1f,0x3c,0x2, 0xff,0x70,0x1, 0xa4,0x1, 0xc8,0x0, 0xb2,0x0, 0xc2,0x0, 0xd0,
|
||||
0xe2,0x0, 0xcc,0x1, 0x1, 0x88,0xe0,0x0, 0x1f,0x91,0xac,0x8f,0x17,0x1, 0xaf,0xd,
|
||||
0xe7,0xff,0x0, 0xaa,0xe2,0x0, 0xcc,0x2, 0x1, 0xfa,0xe0,0x0, 0x1f,0x92,0x17,0x1,
|
||||
0xac,0x8f,0xe0,0x0, 0x1f,0x8d,0xaf,0xf, 0x0, 0xf2,0xe2,0x0, 0xcc,0x1, 0xe7,0xff,
|
||||
0x1, 0x9b,0xe0,0x0, 0x1f,0x86,0xac,0x8f,0xe7,0xff,0x0, 0x96,0xe2,0x0, 0xcc,0x1,
|
||||
0x1, 0x84,0xe0,0x0, 0x1f,0xbd,0x0, 0xf8,0xe2,0x0, 0xcc,0x2, 0xe7,0xff,0x1, 0x8c,
|
||||
0xe0,0x0, 0x1f,0xa2,0x0, 0xf1,0xe2,0x0, 0xcc,0x3, 0xe7,0xff,0x2, 0x85,0xea,0x8,
|
||||
0x7f,0xc2,0xe9,0xff,0xc7,0xfc,0x3c,0x1f,0x8c,0x8, 0x3c,0x1f,0xe0,0x0, 0x1f,0xba,
|
||||
0x3c,0x2, 0x4, 0x4, 0xd4,0xe, 0xe4,0x9, 0x34,0xa0,0xbc,0x8f,0xe7,0xfe,0x0, 0xf4,
|
||||
0xa7,0xf, 0x3c,0x9e,0xbc,0x8f,0xe7,0xff,0x0, 0x8b,0xe0,0x0, 0x1f,0x93,0x17,0x4,
|
||||
0xbf,0xf, 0x17,0x0, 0xe0,0x0, 0x1f,0xb6,0xb7,0xf, 0x17,0x0, 0xe0,0x0, 0x1f,0xb4,
|
||||
0xbf,0xf, 0xe7,0xfe,0x0, 0xe1,0xe0,0x0, 0x1f,0xc3,0xa7,0xf, 0xa7,0x9e,0x3c,0x9f,
|
||||
0xbc,0x9e,0xe7,0xfe,0x0, 0xd9,0xe0,0x0, 0x1f,0xc3,0x34,0xa8,0xa7,0x8f,0xb4,0x8f,
|
||||
0xe7,0xfe,0x0, 0xd2,0xe0,0x0, 0x1f,0xc3,0xa7,0xf, 0x9f,0x8e,0x3c,0x9f,0xb4,0x8e,
|
||||
0xe0,0x0, 0x1f,0xa5,0xe7,0xfe,0x0, 0xe6,0xe0,0x0, 0x1e,0xa5,0xe0,0x0, 0x1f,0xc3,
|
||||
0x16,0x1, 0xa7,0xf, 0x9f,0x8d,0x3e,0x1f,0xb6,0xd, 0x3f,0x9e,0xe0,0x1, 0xac,0x8f,
|
||||
0x9f,0x8e,0x9e,0x8d,0x3e,0xff,0xe7,0xfe,0x4, 0xb7,0xe0,0x0, 0x1e,0xc0,0x17,0x80,
|
||||
0x8e,0xd, 0xe0,0x2f,0x3f,0x8c,0xaf,0x8d,0xe0,0x0, 0x1f,0xbf,0xbf,0xf, 0x17,0x2,
|
||||
0xe0,0x0, 0x1f,0x93,0x0, 0xc6,0xe2,0x0, 0xcc,0x6, 0xe7,0xfe,0x2, 0xa5,0xea,0x9,
|
||||
0x7f,0xfe,0xe9,0xff,0xc7,0xfc,0x3c,0x1f,0x8c,0x8, 0x3c,0x1f,0x3c,0x2, 0x8, 0x8,
|
||||
0x14,0x22,0x30,0x3c,0x42,0x0, 0xe4,0x9, 0x34,0xa0,0xe0,0x0, 0x1f,0x87,0xe7,0xff,
|
||||
0x0, 0x9e,0xe0,0x0, 0x1f,0x87,0xa7,0xf, 0x34,0xa8,0x3c,0x9e,0xe7,0xff,0x0, 0x97,
|
||||
0xe0,0x0, 0x1f,0x7, 0xa7,0x8e,0x3c,0x9f,0xbc,0x8e,0xe7,0xfe,0x0, 0x85,0xe4,0x9,
|
||||
0x34,0xa0,0xe0,0x0, 0x1f,0xa4,0xe7,0xff,0x0, 0x8a,0xe0,0x0, 0x1f,0xa4,0x0, 0xec,
|
||||
0xe0,0x0, 0x1f,0x24,0xa7,0x8e,0x3c,0x9f,0xbc,0x8e,0x17,0x3, 0xe0,0x0, 0x1f,0x93,
|
||||
0xe7,0xff,0x0, 0x90,0xe2,0x0, 0xcc,0x2, 0x1, 0x1a,0xe2,0x0, 0xcc,0x3, 0x1, 0x1e,
|
||||
0xe2,0x0, 0xcc,0x1, 0xe7,0xfd,0x1, 0xe8,0xe0,0x0, 0x1f,0xc0,0x8f,0xf, 0xe0,0x0,
|
||||
0x1f,0xc3,0x27,0xa, 0xe0,0x0, 0x1f,0x2d,0xbf,0xf, 0xe4,0x9, 0x34,0xa0,0xa7,0x8f,
|
||||
0xbc,0x9f,0xe7,0xfd,0x0, 0xd9,0xe0,0x0, 0x1f,0x29,0x0, 0xf7,0xe0,0x0, 0x1f,0xc3,
|
||||
0x34,0xa8,0xa7,0x8f,0xa7,0x1f,0x3c,0x9e,0x0, 0xf4,0xe0,0x0, 0x1f,0xc3,0xa7,0x8f,
|
||||
0xa6,0x9f,0x3c,0x9d,0xe0,0x0, 0x1e,0xbf,0xbc,0x9f,0xbf,0x8d,0x17,0x81,0xaf,0x8e,
|
||||
0x17,0x1, 0xe0,0x0, 0x1f,0x93,0xe7,0xfe,0x0, 0xdd,0xe0,0x0, 0x1f,0x93,0x17,0x9,
|
||||
0xe7,0xfe,0x0, 0xd8,0x8, 0xb3,0xe0,0x0, 0x1f,0x94,0xa1,0xf, 0x9f,0x92,0xe6,0xff,
|
||||
0xcf,0xff,0x27,0x9f,0x9f,0x92,0x17,0x0, 0xe7,0x0, 0xcf,0x9e,0xe0,0x0, 0x19,0x9d,
|
||||
0xb7,0x92,0x9c,0xb2,0x9f,0x83,0xe2,0x1, 0xc4,0xff,0x2f,0x84,0xe0,0x0, 0x1f,0x83,
|
||||
0xac,0x8f,0x9c,0x3, 0xde,0x77,0x9f,0x83,0xc7,0x81,0xb7,0x83,0xe0,0x0, 0x1f,0xae,
|
||||
0x8f,0x8f,0x27,0x87,0x14,0x0, 0xde,0x16,0x9f,0xb2,0xe7,0x20,0xcf,0x88,0xb7,0xb2,
|
||||
0x9f,0x92,0xe6,0xfe,0xcf,0xff,0x27,0x93,0x9f,0x92,0x17,0x0, 0xe7,0x1, 0xcf,0x9e,
|
||||
0xb7,0x92,0xe0,0x0, 0x1f,0x9d,0x9f,0xf, 0xc7,0x1, 0xb7,0xf, 0x9c,0xf, 0xe2,0x1,
|
||||
0xc4,0x7f,0xde,0x0, 0x9f,0xb2,0xe7,0x20,0xcf,0x88,0xb7,0xb2,0x9, 0xe1,0xe0,0x0,
|
||||
0x1f,0x9d,0x17,0x0, 0xb7,0xf, 0x16,0x80,0xe0,0x0, 0x1f,0x94,0xa7,0x8f,0x9f,0x7f,
|
||||
0xe7,0x0, 0xcf,0x1d,0xb7,0x7f,0x38,0x82,0xe0,0x0, 0x1f,0xbc,0xa7,0x8f,0xa7,0xf,
|
||||
0xe2,0x1, 0xc7,0x0, 0x27,0x3d,0xe0,0x0, 0x1f,0x4, 0xe0,0x1, 0x15,0x80,0xa7,0xe,
|
||||
0xbd,0x9f,0x86,0x9e,0xe0,0x0, 0x1d,0x99,0xe2,0x0, 0xce,0x80,0xe0,0x1, 0x3, 0x15,
|
||||
0xe0,0x0, 0x1e,0x8b,0xa6,0xd, 0x8e,0x8e,0x36,0xa2,0x3e,0x9c,0xa6,0x8d,0xe0,0x8,
|
||||
0x9d,0x5f,0xe6,0xef,0xce,0xfd,0xe7,0x0, 0xcd,0x1d,0xe0,0x8, 0xb5,0x5f,0x8e,0x8e,
|
||||
0x36,0xa2,0x3e,0x1d,0xa6,0x8c,0xe0,0x8, 0xb6,0xff,0x8e,0xae,0xe0,0xc, 0x36,0xa8,
|
||||
0x8e,0xbe,0x3e,0x9c,0xe0,0x9, 0xb6,0x9f,0x8e,0x8e,0xe2,0x0, 0xce,0x81,0x1, 0x87,
|
||||
0xe0,0x8, 0x9f,0x5f,0xe7,0x8, 0xcf,0x1d,0xe0,0x8, 0xb7,0x5f,0x16,0x81,0xe0,0x8,
|
||||
0x9f,0x1f,0xe7,0x0, 0xcf,0x1d,0xe0,0x8, 0xb7,0x1f,0x17,0x0, 0xaf,0xb, 0xe0,0x4,
|
||||
0xa7,0x1f,0xe6,0xfd,0xcf,0x5e,0x27,0x37,0xe0,0xa, 0x9e,0xbf,0x17,0x1, 0xe7,0x6,
|
||||
0xce,0x9e,0xe0,0xa, 0xb6,0xbf,0xe0,0xa, 0x9e,0xbf,0xe7,0x5, 0xce,0x9e,0xe0,0xa,
|
||||
0xb6,0xbf,0xe0,0xa, 0x9e,0xbf,0xe7,0x4, 0xce,0x9e,0xe0,0xa, 0xb6,0xbf,0xe0,0x0,
|
||||
0x1e,0x99,0x8e,0xd, 0x26,0x20,0x16,0x0, 0xae,0xd, 0xa6,0xbf,0xe3,0xc0,0xc6,0xbf,
|
||||
0xe0,0x2, 0x2e,0xa7,0xe0,0x0, 0x1d,0x84,0xa7,0xb, 0x3c,0xeb,0x8e,0xe, 0xe2,0x0,
|
||||
0xce,0x64,0xe0,0x1, 0x1, 0x45,0xe0,0x0, 0x2, 0xcd,0xe2,0x0, 0xce,0x10,0xe0,0x1,
|
||||
0x1, 0x12,0x2, 0xb5,0xe2,0x0, 0xce,0x7, 0xe0,0x2, 0x1, 0xd, 0xe2,0x0, 0xce,0x9,
|
||||
0xe0,0x1, 0x1, 0xf, 0xe0,0x4, 0xa7,0x1f,0xe2,0xe, 0xc7,0x0, 0x27,0x1b,0xe0,0xa,
|
||||
0x9e,0xbf,0x17,0x1, 0xe7,0xe, 0xce,0x9e,0xe0,0xa, 0xb6,0xbf,0xe0,0xa, 0x9e,0xbf,
|
||||
0xe7,0xd, 0xce,0x9e,0xe0,0xa, 0xb6,0xbf,0xe0,0xa, 0x9e,0xbf,0xe7,0xc, 0xce,0x9e,
|
||||
0xe0,0xa, 0xb6,0xbf,0x16,0x80,0xe0,0x8, 0x9f,0x5f,0xe7,0x8, 0xcf,0x1d,0xe0,0x8,
|
||||
0xb7,0x5f,0x9f,0x1f,0xe6,0xfd,0xcf,0x7e,0x27,0x3, 0x16,0x4, 0xbe,0x1f,0xe0,0x7,
|
||||
0x16,0xff,0xbe,0x9f,0x38,0x82,0x17,0x1, 0xe7,0xff,0x0, 0x9a,0xe2,0x0, 0xce,0x55,
|
||||
0xe0,0x1, 0x1, 0x6, 0xe2,0x0, 0xce,0x61,0x1, 0xce,0xe0,0x0, 0x1f,0x13,0x15,0x84,
|
||||
0xbd,0x8e,0xe0,0x0, 0x1f,0x36,0xb6,0x8e,0xe0,0x0, 0x1f,0x34,0xbe,0x8e,0x0, 0xc3,
|
||||
0xe2,0x1, 0xce,0x2a,0xe0,0x0, 0x1, 0x74,0x2, 0x96,0xe2,0x0, 0xce,0x65,0xe0,0x0,
|
||||
0x1, 0x74,0xe2,0x0, 0xce,0x7a,0xe7,0xff,0x1, 0xb7,0x8e,0xce,0x8e,0x5e,0xe4,0xd,
|
||||
0x36,0xa0,0x36,0x28,0x8f,0x6e,0x3e,0x9c,0x3f,0x1d,0xe0,0x0, 0x1e,0xba,0xbf,0xd,
|
||||
0xe7,0xff,0x0, 0xaa,0xe2,0x1, 0xce,0x2c,0xe0,0x0, 0x1, 0x7d,0x4, 0xb9,0xe2,0x1,
|
||||
0xce,0x3f,0xe7,0xff,0x1, 0xa1,0xe0,0x0, 0x1e,0x40,0x16,0x80,0x8d,0x8c,0x8d,0x2e,
|
||||
0xe0,0x2d,0x3e,0x8b,0xae,0x8c,0x35,0x28,0xe0,0x0, 0x1e,0xc3,0x8f,0x3e,0xa5,0x8d,
|
||||
0x3f,0x1a,0xb7,0xb, 0xe3,0xff,0x15,0x7f,0xe0,0x0, 0x1f,0xe, 0xa7,0xe, 0x3f,0x5a,
|
||||
0xbf,0x1b,0xe0,0x0, 0x1f,0x3f,0xbd,0x8e,0x15,0x82,0xe0,0x0, 0x1f,0x13,0xbd,0x8e,
|
||||
0x8f,0xc, 0x27,0x32,0xe0,0x0, 0x1f,0x2d,0xbf,0xd, 0xe0,0x0, 0x1f,0x42,0xbf,0x9,
|
||||
0x0, 0x9f,0xe0,0x0, 0x1e,0x86,0x8f,0x4e,0xaf,0xd, 0xe7,0xfe,0x0, 0xf5,0xe0,0x0,
|
||||
0x1e,0xbd,0x8e,0x4e,0x8f,0x5e,0xae,0xd, 0xe0,0x0, 0x1e,0xa2,0x0, 0xf6,0x8e,0xce,
|
||||
0x8e,0x5e,0xe4,0xd, 0x36,0xa0,0x36,0x28,0x8f,0x6e,0x3e,0x9c,0x3f,0x1d,0xe0,0x0,
|
||||
0x1e,0x8e,0xbf,0xd, 0xe0,0x0, 0x1f,0x43,0xa7,0xe, 0xc7,0x4, 0xbf,0xb, 0xe6,0xef,
|
||||
0xce,0x7e,0xe0,0x9, 0x9e,0xbf,0xe7,0x0, 0xce,0x9c,0xe0,0x9, 0xb6,0xbf,0xe0,0x9,
|
||||
0xb7,0x5f,0xe7,0xfe,0x0, 0xd1,0xe0,0x0, 0x1f,0x29,0x0, 0xcf,0xe0,0x0, 0x1f,0x36,
|
||||
0xb6,0x8e,0xe7,0xfe,0x0, 0xc9,0x8e,0xce,0x8e,0x5e,0xe4,0xd, 0x36,0xa0,0x36,0x28,
|
||||
0x3e,0x9c,0x8e,0x6e,0x3e,0x9c,0xe0,0x0, 0x1e,0x7, 0xbe,0x8c,0x8e,0xfe,0xe0,0x1,
|
||||
0x8e,0xe, 0xe4,0xd, 0x36,0xa0,0x36,0x28,0xe0,0x1, 0x8f,0x1e,0x3e,0x9c,0x3f,0x1d,
|
||||
0xe0,0x0, 0x1e,0xa4,0x16,0x3, 0xbf,0xd, 0xe0,0x0, 0x1f,0x13,0xbe,0xe, 0xe7,0xfe,
|
||||
0x0, 0xab,0xe0,0x0, 0x1e,0x40,0x8d,0x8c,0xe0,0x2d,0x3e,0x8b,0xae,0x8c,0x8e,0xc,
|
||||
0xe0,0x0, 0x1e,0xc3,0x26,0x24,0xe0,0x0, 0x1e,0x2d,0xbe,0xd, 0xa6,0xd, 0xe0,0x0,
|
||||
0x1d,0x8b,0x3e,0xec,0xa5,0x8b,0xc6,0x88,0xe6,0xd0,0xce,0x8d,0xbe,0xbb,0x8e,0xce,
|
||||
0x8d,0xde,0xe4,0xd, 0x36,0xa0,0x8f,0x6e,0x35,0xa8,0x3e,0x9b,0x3f,0x1d,0xe0,0x0,
|
||||
0x1e,0x8e,0xbf,0xd, 0xe3,0xff,0x16,0xff,0x3f,0x5d,0xbf,0x1c,0x16,0x81,0xe0,0x0,
|
||||
0x1f,0x3f,0xbe,0xe, 0xe0,0x0, 0x1f,0x13,0xe7,0xfe,0x0, 0xba,0xe0,0x0, 0x1e,0x29,
|
||||
0x0, 0xdd,0xe0,0x0, 0x1f,0x13,0x15,0x89,0xbd,0x8e,0xe7,0xfd,0x0, 0xf5,0x9e,0xff,
|
||||
0xe7,0x6, 0xce,0x9e,0xb6,0xff,0x9e,0xff,0xe7,0x7, 0xce,0x9e,0xb6,0xff,0xe7,0xfd,
|
||||
0x0, 0xeb,0x8, 0xb2,0x3f,0x83,0x14,0x0, 0xe0,0x0, 0xd8,0xe3,0xd3,0xd3,0xd3,0xe3,
|
||||
0xe0,0x0, 0xd8,0xf7,0xd6,0x1c,0xe0,0x0, 0x1f,0xa7,0xa1,0xf, 0x9f,0xb2,0xe2,0x4,
|
||||
0xc7,0x80,0x27,0x94,0xe0,0x1, 0x9f,0xd2,0xcf,0x89,0xe0,0x1, 0xb7,0xd2,0xe0,0x0,
|
||||
0xd9,0xd6,0xe0,0x0, 0xda,0x58,0xe0,0x0, 0xd9,0x7b,0xe0,0x0, 0xd9,0x40,0xe1,0xff,
|
||||
0x17,0xff,0xe0,0x2, 0xbf,0x82,0x3b,0x0, 0x9, 0x61,0xd4,0x6c,0x0, 0xf5,0x8, 0xb7,
|
||||
0xf8,0x0, 0xc, 0x3e,0xc0,0x7c,0xe0,0x0, 0x19,0x88,0xdf,0xd4,0xe0,0x0, 0x1a,0x93,
|
||||
0xe0,0x0, 0xd8,0x1d,0x3a,0x65,0xf0,0x2, 0x14,0x4, 0xe0,0x1, 0x13,0xff,0xf2,0xff,
|
||||
0x14,0xff,0xf3,0xff,0x15,0x7f,0xf3,0x0, 0x15,0x80,0xf4,0xff,0x16,0x7f,0xfa,0x0,
|
||||
0xce,0x82,0xac,0x3, 0xd7,0xbd,0xa7,0x85,0xc7,0xff,0xe2,0x0, 0xcf,0x88,0x2, 0xfc,
|
||||
0xea,0x14,0x7f,0x22,0xe9,0xff,0xc7,0x7c,0x37,0xa1,0x3f,0x9e,0x97,0x8f,0x3f,0x9e,
|
||||
0x3f,0x82,0x0, 0x68,0x0, 0x12,0x0, 0xb6,0x0, 0xdc,0xff,0xe4,0xff,0xe4,0xff,0xe4,
|
||||
0xff,0xe4,0x2, 0x50,0x17,0x80,0xe0,0x0, 0x19,0xc, 0xbf,0x84,0xe7,0xe0,0x17,0x81,
|
||||
0xe0,0x0, 0x1f,0x3d,0xb7,0x82,0x14,0x88,0xe0,0x0, 0x1b,0x3f,0x8e,0x8e,0xa7,0x86,
|
||||
0xe2,0x0, 0xce,0x8b,0x3c,0x9f,0x1, 0x9, 0x8e,0x8e,0xe2,0x0, 0xce,0x8a,0x1, 0x5,
|
||||
0x8f,0xe, 0xe2,0x1, 0xcf,0x5a,0x1, 0x8e,0xa4,0x1f,0x9d,0xf, 0xd1,0x31,0xa7,0x6,
|
||||
0xa7,0x9e,0x9f,0xe, 0xe1,0x2f,0x3f,0xbe,0xe0,0x20,0xc7,0x80,0xb7,0x82,0xd1,0xe,
|
||||
0x0, 0xc3,0xa4,0x1f,0x9d,0xf, 0xd7,0x3f,0x0, 0xf3,0x8f,0x3, 0x17,0x80,0xe0,0x0,
|
||||
0x19,0xc, 0xbf,0x84,0xe2,0x0, 0xcf,0x20,0xe7,0xe0,0x17,0x81,0xe0,0x0, 0x1b,0x3f,
|
||||
0xb7,0x82,0xa7,0x86,0x1, 0x87,0xa7,0x1f,0xe0,0x2, 0xc7,0x0, 0xe8,0x40,0x3f,0x7d,
|
||||
0x2, 0x87,0x3c,0xef,0xa4,0x1f,0xe0,0x2, 0x15,0x0, 0xc4,0x88,0xd6,0xe4,0xe0,0x0,
|
||||
0x1f,0x94,0xa7,0x6, 0xa7,0x8f,0xe0,0x1, 0x8e,0x8e,0x9f,0x3f,0xe7,0x20,0xcf,0xd,
|
||||
0xb7,0x3f,0xe7,0x0, 0x17,0x80,0x0, 0xd3,0x17,0x80,0xe0,0x0, 0x19,0xc, 0xbf,0x84,
|
||||
0xe7,0xe0,0x17,0x81,0xb7,0x82,0xe0,0x0, 0x1f,0x87,0xe0,0x0, 0x1d,0x36,0xa4,0xf,
|
||||
0xe0,0x0, 0x1f,0xa4,0xa4,0x8f,0xd1,0x4b,0xe7,0xe0,0x17,0xd5,0x0, 0xc0,0x14,0x0,
|
||||
0xe0,0x0, 0x1b,0xc, 0xe7,0xe0,0x17,0x81,0xbc,0x4, 0xf0,0x0, 0x1f,0x3a,0xb7,0x86,
|
||||
0xe8,0x0, 0xa7,0x8e,0xe7,0xfe,0x27,0xf9,0xe0,0x0, 0x1f,0xbd,0x8f,0xf, 0xe2,0x0,
|
||||
0xcf,0xa, 0x1, 0xb4,0xd7,0xcf,0x14,0x2, 0xd7,0xb9,0xe8,0x0, 0xa7,0x8e,0xe8,0x40,
|
||||
0x3f,0xfa,0x5, 0x8e,0x14,0x3, 0xd7,0xb2,0x8f,0x83,0xe2,0x0, 0xcf,0xa0,0x1, 0x3,
|
||||
0x14,0x4, 0xd7,0xac,0xe7,0xe1,0x17,0xaa,0xb7,0x86,0xe7,0xff,0x0, 0x9a,0xe8,0x0,
|
||||
0xa7,0x8e,0xe8,0x40,0x3f,0xfb,0x5, 0xf7,0xe8,0x0, 0xa7,0x8e,0xf0,0x0, 0x17,0x18,
|
||||
0xe8,0xf, 0x3f,0x9c,0x37,0xcc,0xc7,0x81,0x39,0x6f,0xe2,0x1, 0xc1,0x7f,0xc1,0x17,
|
||||
0xe8,0x40,0x39,0x7e,0x4, 0x68,0xe8,0x40,0x3c,0x6e,0xe2,0x1, 0xc4,0x7f,0xf0,0x0,
|
||||
0xc7,0x1, 0xd7,0x78,0xf3,0xff,0xc7,0x7f,0x0, 0xf4,0x8f,0xf, 0xe2,0x1, 0xcf,0x5a,
|
||||
0x1, 0x83,0xd7,0xac,0x0, 0xd8,0x8f,0xf, 0xe2,0x0, 0xcf,0xb, 0xe0,0x0, 0x1, 0xcf,
|
||||
0xe8,0x0, 0xa7,0x8e,0xe0,0x1f,0xc7,0xff,0x37,0xcc,0xc7,0x81,0x39,0x6f,0xe8,0x0,
|
||||
0xa7,0x8e,0xe2,0x1, 0xc1,0x7f,0xe8,0x40,0x3f,0xf9,0xf0,0x0, 0x17,0x1, 0x5, 0xb6,
|
||||
0xe8,0x40,0x3c,0x6e,0xe2,0x1, 0xc4,0x7f,0xf0,0x0, 0xc7,0x1, 0xd7,0x53,0xf3,0xff,
|
||||
0xc7,0x7f,0xf2,0x0, 0xcf,0x8, 0x1, 0xf5,0x14,0x1, 0xd7,0x60,0x14,0x2, 0xd7,0x5e,
|
||||
0x8f,0x83,0xe2,0x0, 0xcf,0xa0,0x1, 0x86,0xe1,0x2f,0x39,0x5f,0x39,0x6f,0xe2,0x1,
|
||||
0xc1,0x7f,0xf0,0x0, 0x17,0x18,0x3f,0xe2,0xe3,0xff,0xc7,0xff,0xe8,0x40,0x3f,0xfe,
|
||||
0xe7,0xff,0x5, 0xa2,0xe8,0x40,0x3c,0x6e,0xe2,0x1, 0xc4,0x7f,0xf0,0x0, 0xc7,0x1,
|
||||
0xd7,0x31,0xf3,0xff,0xc7,0x7f,0x0, 0xf0,0xe8,0x40,0x3c,0x6e,0xe2,0x1, 0xc4,0x7f,
|
||||
0xf0,0x0, 0xc7,0x1, 0xd7,0x27,0xf3,0xff,0xc7,0x7f,0x3f,0xe2,0xe3,0xff,0xc7,0xff,
|
||||
0xe8,0x40,0x3f,0xfe,0x2, 0xf2,0xe7,0xff,0x0, 0x87,0x8f,0x8f,0xe0,0x0, 0x1f,0x22,
|
||||
0xf0,0x40,0x3f,0x6f,0xf4,0x1, 0xcf,0x0, 0x39,0x68,0x8f,0x8e,0x39,0x7f,0xe7,0xfe,
|
||||
0x3, 0xfb,0xe8,0x40,0x3c,0x6e,0x7f,0x1, 0xd7,0xd, 0xe8,0x40,0x3f,0xee,0xc7,0x81,
|
||||
0xc1,0x1, 0xf0,0x40,0x3f,0x6f,0xe3,0xff,0xc1,0x7f,0xf2,0x1, 0xc7,0x7f,0x67,0x1,
|
||||
0x0, 0xed,0x17,0x80,0xbf,0x84,0xe8,0x0, 0xbf,0x88,0xd6,0xb9,0xe0,0x1, 0x14,0x7f,
|
||||
0xe0,0x0, 0xd8,0x57,0xe0,0x0, 0x1f,0xa7,0xa7,0x8f,0xe0,0x2, 0x9f,0x3f,0xe7,0x20,
|
||||
0xcf,0x7, 0xe0,0x2, 0xb7,0x3f,0xe7,0xfd,0x0, 0xb8,0xe0,0x0, 0x1f,0x86,0x8f,0x8f,
|
||||
0xe2,0x0, 0xcf,0x8c,0x1, 0x94,0x8, 0xb2,0xe0,0x0, 0x1f,0xa7,0x17,0x0, 0xa1,0xf,
|
||||
0xe0,0x0, 0x14,0x64,0x9f,0xb2,0xe7,0x6, 0xcf,0x9e,0xb7,0xb2,0xe0,0x0, 0xd8,0x39,
|
||||
0x9f,0xb2,0x17,0x1, 0xe7,0x6, 0xcf,0x9e,0xb7,0xb2,0x9, 0x61,0x38,0x82,0x8, 0xb7,
|
||||
0xe0,0x0, 0x1f,0xbd,0x3a,0x68,0x8f,0xf, 0x3a,0xe9,0xe2,0x0, 0xcf,0xa, 0x39,0xea,
|
||||
0x1, 0xb, 0x8f,0xf, 0xe2,0x1, 0xcf,0x5a,0x1, 0x7, 0x8f,0x8f,0xe2,0x0, 0xcf,0x8b,
|
||||
0x1, 0x83,0xe0,0x20,0xc2,0x0, 0xe0,0x0, 0x1f,0xb4,0xa7,0xf, 0x39,0x6f,0x3f,0x13,
|
||||
0xbf,0xf, 0xe0,0x0, 0x1f,0x8, 0x8f,0xe, 0xe2,0x0, 0xcf,0x20,0x1, 0x87,0xe0,0xe,
|
||||
0x39,0x94,0xea,0x0, 0xcf,0x82,0x3f,0x7f,0x2, 0xb7,0xe0,0x0, 0x1b,0x3a,0x21,0xa2,
|
||||
0xa7,0x2, 0xa7,0x86,0x3f,0x7f,0x2, 0x9e,0xe2,0x22,0xca,0x0, 0x1, 0x97,0xe2,0x0,
|
||||
0xc9,0x9f,0xe0,0x0, 0x1f,0xa8,0x5, 0xa9,0x17,0x20,0xb7,0xf, 0x3c,0xe5,0x9b,0x8f,
|
||||
0xe0,0x0, 0x1c,0x35,0x3d,0x67,0xd9,0xfd,0x3d,0x67,0xe0,0x1, 0x14,0xff,0x3c,0x65,
|
||||
0xda,0x30,0xe0,0x0, 0x1f,0xbe,0x17,0x1, 0xaf,0xf, 0x3d,0x63,0x3c,0xe5,0x3c,0x64,
|
||||
0xd5,0xd2,0xa7,0x2, 0xa7,0x86,0x3f,0x7f,0x1, 0x8f,0xe0,0x0, 0x19,0x3e,0x8f,0x82,
|
||||
0x27,0x8b,0xe0,0x0, 0x1f,0xa8,0xe0,0x0, 0x1c,0xb5,0x9d,0xf, 0xe0,0x22,0x14,0x0,
|
||||
0xd5,0xc2,0x17,0x80,0xaf,0x82,0xb, 0xe1,0xb1,0x8f,0x0, 0xd9,0x8, 0xb7,0xf8,0x0,
|
||||
0xc, 0x3c,0xe1,0xfe,0xc0,0x0, 0xe0,0x0, 0x1f,0xbd,0x39,0x69,0x8f,0xf, 0x3b,0x6a,
|
||||
0xe2,0x0, 0xcf,0xa, 0x9a,0xa, 0x1, 0x7, 0x8f,0x8f,0xe2,0x0, 0xcf,0x8b,0x1, 0x83,
|
||||
0xe0,0x20,0xc4,0x0, 0xeb,0xff,0xca,0xfc,0xe2,0x0, 0x7f,0x84,0xf0,0x0, 0x1c,0x88,
|
||||
0xf0,0x2, 0x14,0x0, 0xfa,0x0, 0xcd,0x2, 0x3a,0x9f,0xf0,0x0, 0x15,0x80,0x29,0x7,
|
||||
0xb2,0x6, 0xe0,0x2, 0xc0,0x0, 0xf8,0x0, 0xe, 0x28,0xb, 0xe1,0xe8,0x0, 0x8f,0x89,
|
||||
0xe9,0x23,0x39,0x58,0xe2,0x0, 0xcf,0xa0,0xf0,0x40,0x3e,0x63,0xf3,0xff,0xc6,0x7f,
|
||||
0xe0,0x7, 0x39,0x98,0x1, 0x84,0xe8,0x40,0x3b,0xfa,0x2, 0xeb,0x3d,0x63,0xe2,0x0,
|
||||
0x7c,0x84,0xd5,0x41,0x3d,0x64,0xe8,0x40,0x3d,0xeb,0xf0,0x9, 0x36,0x41,0x3c,0x65,
|
||||
0xd0,0x4e,0x3a,0x68,0x39,0x23,0x3c,0x67,0x0, 0xdb,0x24,0xbf,0xe0,0x0, 0x1f,0xa0,
|
||||
0x17,0x1, 0xa6,0x8f,0x3d,0xfe,0x9f,0xdd,0xe7,0xc, 0xcf,0x9e,0xb7,0xdd,0xe0,0x0,
|
||||
0x1f,0xb2,0xa7,0x8f,0xe0,0x8, 0xb7,0x1f,0xe0,0x2, 0x9f,0x3f,0x1, 0xb0,0x16,0x2,
|
||||
0xe7,0x4, 0xcf,0x2c,0xe0,0x2, 0xb7,0x3f,0x16,0x0, 0x9f,0x1f,0xe7,0x7, 0xcf,0x1c,
|
||||
0xb7,0x1f,0x17,0x1, 0xb4,0x3f,0xe0,0x2, 0xb5,0x1f,0xbc,0xdf,0xe0,0x8, 0xb7,0x3f,
|
||||
0xe7,0x2, 0x17,0x38,0xe0,0x9, 0xb7,0x3f,0x17,0x1, 0xe0,0x3, 0x9e,0x5f,0xe7,0x7,
|
||||
0xce,0x1e,0xe0,0x3, 0xb6,0x5f,0xe0,0x4, 0xb7,0x1f,0xe0,0x3, 0x9e,0x1f,0xe6,0xff,
|
||||
0xce,0x7c,0x26,0xf, 0x17,0x3, 0xe0,0x1, 0xbf,0x5f,0x17,0x0, 0xe0,0x6, 0x9d,0x7f,
|
||||
0x9f,0xdd,0xe7,0xc, 0xcf,0x9e,0xb7,0xdd,0x3c,0x6a,0x38,0x82,0x16,0x0, 0x0, 0xd1,
|
||||
0xe0,0x8, 0x9e,0x5f,0x26,0x6b,0xe0,0x9, 0xb7,0x1f,0x0, 0xe8,0xe6,0xcf,0xcc,0x8,
|
||||
0xe7,0xff,0x0, 0xb5,0x8, 0xb1,0xe8,0x0, 0xc, 0x37,0xc0,0x6c,0xe0,0x60,0x38,0x88,
|
||||
0xe0,0x60,0x3c,0x9, 0x78,0x85,0xe0,0x60,0x38,0x8a,0x7c,0x4, 0x78,0x83,0xe0,0x60,
|
||||
0x3c,0xc, 0xe0,0x60,0x38,0x8b,0x7c,0x2, 0x78,0x81,0x3b,0x0, 0xdb,0x74,0x17,0x81,
|
||||
0xe0,0x61,0x3f,0x91,0x38,0x83,0x60,0x85,0x64,0x4, 0xe0,0x60,0x38,0x98,0x60,0x83,
|
||||
0xe0,0x60,0x3c,0x19,0x64,0x2, 0xe0,0x60,0x38,0x9a,0x60,0x81,0xc0,0x14,0xe0,0x60,
|
||||
0x3c,0x1c,0xf0,0x0, 0xb, 0xa8,0xe0,0x60,0x38,0x9b,0x8, 0xa1,0x38,0x0, 0x8, 0xb1,
|
||||
0xe8,0x0, 0xc, 0x37,0xc0,0x6c,0xe0,0x60,0x38,0x88,0xe0,0x60,0x3c,0x9, 0x78,0x85,
|
||||
0xe0,0x60,0x38,0x8a,0x7c,0x4, 0x78,0x83,0xe0,0x60,0x3c,0xc, 0xe0,0x60,0x38,0x8b,
|
||||
0x7c,0x2, 0x78,0x81,0x3b,0x0, 0xdb,0x84,0x17,0x82,0xe0,0x61,0x3f,0x91,0x38,0x83,
|
||||
0x60,0x85,0x64,0x4, 0xe0,0x60,0x38,0x98,0x60,0x83,0xe0,0x60,0x3c,0x19,0x64,0x2,
|
||||
0xe0,0x60,0x38,0x9a,0x60,0x81,0xc0,0x14,0xe0,0x60,0x3c,0x1c,0xf0,0x0, 0xb, 0xa8,
|
||||
0xe0,0x60,0x38,0x9b,0x8, 0xa1,0x38,0x0, 0x8, 0xb1,0xe8,0x0, 0xc, 0x37,0xc0,0x6c,
|
||||
0xe0,0x60,0x38,0x88,0xe0,0x60,0x3c,0x9, 0x78,0x85,0xe0,0x60,0x38,0x8a,0x7c,0x4,
|
||||
0x78,0x83,0xe0,0x60,0x3c,0xc, 0xe0,0x60,0x38,0x8b,0x7c,0x2, 0x78,0x81,0x3b,0x0,
|
||||
0xd2,0xdd,0x17,0xa0,0xe0,0x61,0x3f,0x91,0x38,0x83,0x60,0x85,0x64,0x4, 0xe0,0x60,
|
||||
0x38,0x98,0x60,0x83,0xe0,0x60,0x3c,0x19,0x64,0x2, 0xe0,0x60,0x38,0x9a,0x60,0x81,
|
||||
0xc0,0x14,0xe0,0x60,0x3c,0x1c,0xf0,0x0, 0xb, 0xa8,0xe0,0x60,0x38,0x9b,0x8, 0xa1,
|
||||
0x38,0x0, 0x8, 0xb1,0xe8,0x0, 0xc, 0x37,0xc0,0x6c,0xe0,0x60,0x38,0x88,0xe0,0x60,
|
||||
0x3c,0x9, 0x78,0x85,0xe0,0x60,0x38,0x8a,0x7c,0x4, 0x78,0x83,0xe0,0x60,0x3c,0xc,
|
||||
0xe0,0x60,0x38,0x8b,0x7c,0x2, 0x78,0x81,0x3b,0x0, 0xd3,0xb2,0xe0,0x80,0x17,0x80,
|
||||
0xe0,0x61,0x3f,0x91,0x38,0x83,0x60,0x85,0x64,0x4, 0xe0,0x60,0x38,0x98,0x60,0x83,
|
||||
0xe0,0x60,0x3c,0x19,0x64,0x2, 0xe0,0x60,0x38,0x9a,0x60,0x81,0xc0,0x14,0xe0,0x60,
|
||||
0x3c,0x1c,0xf0,0x0, 0xb, 0xa8,0xe0,0x60,0x38,0x9b,0x8, 0xa1,0x38,0x0, 0x8, 0xb1,
|
||||
0xe8,0x0, 0xc, 0x37,0xc0,0x6c,0xe0,0x60,0x38,0x88,0xe0,0x60,0x3c,0x9, 0x78,0x85,
|
||||
0xe0,0x60,0x38,0x8a,0x7c,0x4, 0x78,0x83,0xe0,0x60,0x3c,0xc, 0xe0,0x60,0x38,0x8b,
|
||||
0x7c,0x2, 0x78,0x81,0x3b,0x0, 0xd6,0x63,0xe0,0x2, 0x17,0x80,0xe0,0x61,0x3f,0x91,
|
||||
0x38,0x83,0x60,0x85,0x64,0x4, 0xe0,0x60,0x38,0x98,0x60,0x83,0xe0,0x60,0x3c,0x19,
|
||||
0x64,0x2, 0xe0,0x60,0x38,0x9a,0x60,0x81,0xc0,0x14,0xe0,0x60,0x3c,0x1c,0xf0,0x0,
|
||||
0xb, 0xa8,0xe0,0x60,0x38,0x9b,0x8, 0xa1,0x38,0x0, 0x8, 0xb1,0xe8,0x0, 0xc, 0x37,
|
||||
0xc0,0x6c,0xe0,0x60,0x38,0x88,0xe0,0x60,0x3c,0x9, 0x78,0x85,0xe0,0x60,0x38,0x8a,
|
||||
0x7c,0x4, 0x78,0x83,0xe0,0x60,0x3c,0xc, 0xe0,0x60,0x38,0x8b,0x7c,0x2, 0x78,0x81,
|
||||
0x3b,0x0, 0xd5,0xf9,0xe0,0x8, 0x17,0x80,0xe0,0x61,0x3f,0x91,0x38,0x83,0x60,0x85,
|
||||
0x64,0x4, 0xe0,0x60,0x38,0x98,0x60,0x83,0xe0,0x60,0x3c,0x19,0x64,0x2, 0xe0,0x60,
|
||||
0x38,0x9a,0x60,0x81,0xc0,0x14,0xe0,0x60,0x3c,0x1c,0xf0,0x0, 0xb, 0xa8,0xe0,0x60,
|
||||
0x38,0x9b,0x8, 0xa1,0x38,0x0, 0x8, 0xb1,0xe8,0x0, 0xc, 0x37,0xc0,0x6c,0xe0,0x60,
|
||||
0x38,0x88,0xe0,0x60,0x3c,0x9, 0x78,0x85,0xe0,0x60,0x38,0x8a,0x7c,0x4, 0x78,0x83,
|
||||
0xe0,0x60,0x3c,0xc, 0xe0,0x60,0x38,0x8b,0x7c,0x2, 0x78,0x81,0x3b,0x0, 0xda,0xad,
|
||||
0xe0,0x10,0x17,0x80,0xe0,0x61,0x3f,0x91,0x38,0x83,0x60,0x85,0x64,0x4, 0xe0,0x60,
|
||||
0x38,0x98,0x60,0x83,0xe0,0x60,0x3c,0x19,0x64,0x2, 0xe0,0x60,0x38,0x9a,0x60,0x81,
|
||||
0xc0,0x14,0xe0,0x60,0x3c,0x1c,0xf0,0x0, 0xb, 0xa8,0xe0,0x60,0x38,0x9b,0x8, 0xa1,
|
||||
0x38,0x0, 0x17,0x81,0xe0,0x6a,0x3f,0x90,0xe0,0x6a,0x3f,0x91,0xe0,0x6a,0x3f,0x95,
|
||||
0xe0,0x6a,0x3f,0x9b,0xe0,0x6a,0x3f,0x9e,0x17,0x82,0xe0,0x6a,0x3f,0x9a,0xe0,0x6a,
|
||||
0x3f,0x98,0x38,0x82,0x8, 0xb1,0xd8,0x62,0xe0,0x60,0x3f,0x87,0xe0,0x0, 0x1f,0x17,
|
||||
0xe0,0x1, 0xbf,0xf, 0xe0,0x0, 0x1f,0x3b,0xe0,0x1, 0xbf,0x1f,0xe0,0x0, 0x1f,0x16,
|
||||
0xe0,0x1, 0xbf,0x5f,0xe0,0x0, 0x1f,0x1e,0xe0,0x2, 0xbf,0x6f,0xe0,0x0, 0x1f,0x30,
|
||||
0xe0,0x2, 0xbf,0x2f,0xe0,0x0, 0x1f,0x2b,0xe0,0x2, 0xbf,0xf, 0xe0,0x0, 0x1f,0x1b,
|
||||
0xe0,0x2, 0xbf,0x3f,0x8, 0xe1,0xe0,0x0, 0x1f,0xc1,0xe0,0x8, 0x16,0x80,0xa7,0x8f,
|
||||
0x16,0x0, 0x3f,0x6f,0x3e,0x9f,0xe1,0x80,0xbe,0x1e,0x3e,0xfe,0x1, 0xfd,0xe0,0x0,
|
||||
0x1f,0x18,0xea,0x0, 0xcd,0x88,0xe6,0xd0,0xcf,0xe, 0x3f,0x1b,0xe0,0x0, 0x1e,0x21,
|
||||
0xe0,0xa, 0xbf,0x5f,0xea,0x0, 0xcd,0xa, 0xe0,0x15,0xbf,0x2f,0xe6,0xd0,0xce,0xc,
|
||||
0xbf,0x7f,0x3e,0x1a,0xe0,0x12,0xbe,0xf, 0xe0,0x0, 0x1e,0x31,0xe0,0x0, 0x1e,0xb6,
|
||||
0xe6,0xd0,0xce,0xc, 0x3e,0x1b,0xe0,0xb, 0xbe,0x6f,0xe6,0xd0,0xce,0x8d,0xe0,0x0,
|
||||
0x1e,0x6, 0xe0,0x1, 0xbf,0x1f,0xe6,0xd0,0xce,0xc, 0x3e,0x1b,0xe0,0x2, 0xbe,0xf,
|
||||
0x3e,0x9a,0xe0,0x0, 0x1e,0xc, 0xe0,0xc, 0xbf,0x1f,0xe6,0xd0,0xce,0xc, 0x3e,0x1a,
|
||||
0xe0,0xd, 0xbe,0x2f,0xe0,0x0, 0x1e,0x5, 0xe6,0xd0,0xce,0xc, 0x3e,0x1b,0xe0,0x15,
|
||||
0xbe,0xf, 0xe0,0xc, 0xbf,0x4f,0xe0,0xc, 0xbf,0x5f,0xe0,0xc, 0xbe,0xef,0xe0,0x0,
|
||||
0x1e,0xba,0xe6,0xd0,0xce,0x8d,0x3e,0x9b,0xe0,0xf, 0xbe,0xaf,0xe0,0x0, 0x1e,0xc3,
|
||||
0xa6,0xd, 0x3e,0xec,0xc6,0x84,0xe6,0xd0,0xce,0x8d,0x3e,0x9b,0xe0,0x15,0xbe,0xbf,
|
||||
0xe0,0x15,0xbe,0xcf,0x3e,0xec,0xc6,0x88,0xe6,0xd0,0xce,0x8d,0x3e,0x9b,0xe0,0x17,
|
||||
0xbe,0xff,0xbe,0xbf,0xe0,0x1e,0xbf,0x1f,0x38,0x82,0xe0,0x0, 0x1f,0xc3,0x17,0x8,
|
||||
0xa7,0x8f,0xe0,0x0, 0x1e,0xc1,0x3f,0x1f,0xa6,0x8d,0xe6,0xd0,0xcf,0xe, 0xea,0x0,
|
||||
0xce,0xa, 0x3e,0x1e,0xc7,0x84,0xbe,0x3d,0xe6,0xd0,0xcf,0x8f,0xea,0x0, 0xce,0x8,
|
||||
0x3f,0x9c,0xe0,0x15,0xbf,0xbd,0x3f,0x1c,0xe0,0x15,0xbf,0xcd,0xe0,0x17,0xbf,0x7d,
|
||||
0x38,0x82,0x8, 0xb3,0xe0,0x0, 0x1f,0xa0,0x11,0x81,0xa7,0x8f,0x9f,0x5f,0xe7,0x9,
|
||||
0xcf,0x13,0xb7,0x5f,0xe0,0x0, 0x1f,0xa3,0xa1,0xf, 0xe0,0x0, 0x1f,0xc1,0xe0,0x3,
|
||||
0x9f,0x72,0xa7,0x8f,0xe6,0xef,0xcf,0x9f,0xe7,0x0, 0xcf,0x7f,0xe0,0x3, 0xb7,0x72,
|
||||
0xdf,0x63,0x17,0x88,0xbf,0xa2,0xe1,0xff,0x17,0xff,0xb9,0x82,0xbf,0xb2,0xe0,0x0,
|
||||
0x1f,0xa7,0xe0,0x0, 0x1f,0x39,0xa7,0x8f,0x8e,0xe, 0xe0,0x2, 0x9e,0x9f,0xe7,0xe,
|
||||
0xce,0x9c,0xe0,0x2, 0xb6,0x9f,0x8e,0x8e,0xe0,0x2, 0x9e,0x1f,0xe6,0xfe,0xce,0xfd,
|
||||
0xe7,0xf, 0xce,0x1d,0xe0,0x2, 0xb6,0x1f,0x16,0x80,0xe0,0x1, 0x9f,0x92,0xe7,0x9,
|
||||
0xcf,0x9d,0xe0,0x1, 0xb7,0x92,0x8f,0x8e,0xe0,0x1, 0x9f,0x12,0x37,0xc7,0xe7,0x8,
|
||||
0xcf,0x1f,0xe0,0x0, 0x1f,0xa6,0xe0,0x1, 0xb7,0x12,0x8f,0xf, 0xe0,0x1, 0x9f,0x92,
|
||||
0xe7,0x20,0xcf,0x8e,0xe0,0x1, 0xb7,0x92,0xe0,0x1, 0x17,0x6a,0xe0,0x3, 0x9f,0x92,
|
||||
0xe7,0x20,0xcf,0x8e,0xe0,0x3, 0xb7,0x92,0xe0,0x1, 0x9f,0xb2,0xe7,0x0, 0xcf,0xad,
|
||||
0xe0,0x1, 0xb7,0xb2,0x17,0xa0,0xe0,0x61,0x3f,0x91,0xe0,0x61,0x3f,0x82,0xcf,0xa0,
|
||||
0xe0,0x61,0x3f,0x92,0x9, 0xe1,0xe2,0x0, 0xcc,0x65,0xe0,0x1, 0x1, 0x1e,0x2, 0x9e,
|
||||
0xe2,0x0, 0xcc,0x9, 0xe0,0x1, 0x1, 0xd, 0x2, 0x8a,0xe2,0x0, 0xcc,0x3, 0xe0,0x0,
|
||||
0x1, 0x73,0xe2,0x0, 0xcc,0x7, 0xe0,0x0, 0x1, 0x7e,0x38,0x82,0xe2,0x0, 0xcc,0x61,
|
||||
0xe0,0x1, 0x1, 0x32,0xe2,0x0, 0xcc,0x64,0x1, 0x14,0xe2,0x0, 0xcc,0x55,0x1, 0xf6,
|
||||
0xe0,0x0, 0x1f,0xb6,0x16,0x80,0xb6,0x8f,0x0, 0xf1,0xe2,0x1, 0xcc,0x2b,0x1, 0x26,
|
||||
0x2, 0x8d,0xe2,0x0, 0xcc,0x7a,0xe0,0x0, 0x1, 0x5f,0xe2,0x1, 0xcc,0x2a,0x1, 0xe6,
|
||||
0xe0,0x0, 0x1f,0xb6,0x17,0x0, 0xb7,0xf, 0x0, 0xe1,0xe2,0x1, 0xcc,0x3f,0x1, 0x1d,
|
||||
0xe2,0x1, 0xcc,0x71,0xe0,0x1, 0x1, 0x1d,0xe2,0x1, 0xcc,0x2c,0x1, 0xd7,0xe0,0x0,
|
||||
0x1f,0xc3,0x16,0x81,0xa7,0x8f,0xa7,0x1f,0x37,0x48,0xbf,0x1f,0xe0,0x0, 0x1f,0x3f,
|
||||
0xbf,0x8e,0xe0,0x0, 0x1f,0x93,0xbe,0x8f,0x0, 0xc9,0xe0,0x0, 0x1f,0xc3,0xa7,0xf,
|
||||
0xa7,0x9e,0x37,0xc8,0xbf,0x9e,0x0, 0xc2,0xe0,0x0, 0x1f,0xa3,0xa7,0x8f,0xe0,0x2,
|
||||
0x9f,0x1f,0xe0,0x2, 0x9f,0x9f,0x3e,0xef,0xe0,0x0, 0x1f,0xc3,0xe2,0x1, 0xc6,0xff,
|
||||
0xa6,0xf, 0x3f,0xee,0xe3,0xfe,0xc7,0x80,0x3f,0x9d,0xb7,0x8c,0x17,0x0, 0xe0,0x0,
|
||||
0x1f,0xc0,0x8e,0x8f,0xe0,0x2e,0x3f,0xd, 0xaf,0xf, 0x16,0x82,0xe0,0x0, 0x1f,0x3f,
|
||||
0xbe,0xe, 0xe0,0x0, 0x1f,0x13,0xbe,0x8e,0x8f,0x8f,0x27,0x88,0xe0,0x0, 0x1f,0xc3,
|
||||
0xe0,0x0, 0x1f,0x2d,0xbf,0xf, 0xe7,0xfe,0x0, 0x8a,0xe0,0x0, 0x1f,0xc3,0xe0,0x0,
|
||||
0x1f,0x29,0x0, 0xf9,0xe0,0x0, 0x1f,0xc0,0x17,0x0, 0x8e,0x8f,0xe0,0x2e,0x3f,0xd,
|
||||
0xaf,0xf, 0x0, 0xeb,0xe0,0x0, 0x1f,0x3a,0xa7,0x8e,0x37,0xc8,0xbf,0x8e,0xe7,0xff,
|
||||
0x0, 0x86,0xe0,0x0, 0x1f,0x93,0x17,0x9, 0xbf,0xf, 0xe7,0xff,0x0, 0x80,0xe0,0x0,
|
||||
0x1f,0x98,0xe0,0x0, 0x1f,0x3d,0x8e,0x8f,0xae,0x8e,0x8f,0x9f,0xe0,0x0, 0x1f,0x22,
|
||||
0xaf,0x8e,0xe7,0xfe,0x0, 0xf4,0xe0,0x0, 0x1f,0x98,0x8f,0xf, 0xe4,0xd, 0x37,0x20,
|
||||
0xe0,0x0, 0x1f,0x7, 0xbe,0x8e,0x8e,0x1f,0xa5,0x8e,0xe0,0xd, 0x36,0x28,0x3e,0x9b,
|
||||
0xbe,0x8e,0x8e,0x2f,0xa6,0x8e,0x3e,0x9c,0xbe,0x8e,0x8f,0x3f,0xe4,0xd, 0x37,0x20,
|
||||
0xe0,0x0, 0x1f,0x24,0xbe,0x8e,0x8e,0x4f,0xa5,0x8e,0xe0,0xd, 0x36,0x28,0x3e,0x9b,
|
||||
0xbe,0x8e,0x8e,0xdf,0xa7,0x8e,0x3f,0x9d,0xbf,0x8e,0x16,0x83,0xe0,0x0, 0x1f,0x93,
|
||||
0xe7,0xff,0x0, 0x83,0xe0,0x0, 0x1f,0x93,0x17,0x4, 0xbf,0xf, 0x16,0x80,0xe0,0x0,
|
||||
0x1f,0xb6,0x17,0x0, 0xb6,0x8f,0xe0,0x0, 0x1f,0xb4,0xe7,0xff,0x0, 0xbf,0xe0,0x0,
|
||||
0x1f,0x98,0x8f,0xf, 0xe2,0x1, 0xcf,0x20,0x1, 0x8d,0xe0,0x0, 0x1f,0xa3,0x16,0x81,
|
||||
0xa7,0x8f,0xe0,0x1, 0x9f,0x1f,0xe7,0x8, 0xcf,0x1d,0xe0,0x1, 0xb7,0x1f,0xe7,0xfe,
|
||||
0x0, 0xae,0x8f,0x8f,0xe2,0x0, 0xcf,0xd0,0xe7,0xfe,0x1, 0xa9,0xe0,0x0, 0x1f,0xa3,
|
||||
0x16,0x80,0xa7,0x8f,0xe0,0x1, 0x9f,0x1f,0x0, 0xef,0x8, 0xb2,0xe0,0x0, 0x1f,0xa3,
|
||||
0xa1,0xf, 0xa7,0x82,0xe0,0x1, 0xcf,0x80,0xbf,0x82,0xa7,0x92,0xe3,0xfe,0xc7,0x80,
|
||||
0x27,0x97,0x9f,0x92,0x17,0x1, 0xe7,0x3, 0xcf,0x9e,0xb7,0x92,0xa7,0x92,0xe2,0x8,
|
||||
0xc7,0x80,0x27,0x85,0x9f,0x92,0xe7,0x2, 0xcf,0x9e,0xb7,0x92,0xe1,0xff,0x17,0xff,
|
||||
0xbf,0xb2,0xe7,0xfe,0x17,0x7f,0xa7,0x82,0x3f,0xde,0xbf,0x82,0x9, 0x61,0x9f,0x12,
|
||||
0xe7,0x3, 0xcf,0x1f,0xb7,0x12,0x9f,0x12,0xe7,0x2, 0xcf,0x1f,0xb7,0x12,0xe0,0x1,
|
||||
0x9c,0x72,0xe2,0x1, 0xc4,0x7f,0xde,0xe0,0x0, 0xea,0xe0,0x0, 0x1f,0xac,0x16,0x81,
|
||||
0xa7,0x8f,0x9f,0x5f,0xe7,0x9, 0xcf,0x18,0xb7,0x5f,0x9f,0x5f,0xe7,0x8, 0xcf,0x19,
|
||||
0xb7,0x5f,0x9f,0x5f,0xe7,0x7, 0xcf,0x1d,0xb7,0x5f,0x38,0x82,0xe0,0x0, 0x1f,0xa0,
|
||||
0x17,0x1, 0xa7,0x8f,0xe0,0x4, 0x16,0x4, 0x9e,0xdf,0xe7,0xa, 0xce,0x9e,0xb6,0xdf,
|
||||
0x16,0x80,0xe0,0x0, 0x1f,0xac,0xa7,0x8f,0xbe,0x1f,0x16,0x4, 0xbe,0xaf,0xbe,0xbf,
|
||||
0xbe,0x4f,0xe0,0x0, 0x1e,0x27,0xa6,0xc, 0xe0,0x1, 0x9d,0xdc,0xe7,0xf, 0xcd,0x9d,
|
||||
0xe0,0x1, 0xb5,0xdc,0xe0,0x80,0x16,0x0, 0xe0,0x61,0x3e,0x11,0xe0,0x61,0x3e,0x2,
|
||||
0xe7,0x7f,0x15,0xff,0x3e,0x5b,0xe0,0x61,0x3e,0x12,0x9e,0x3f,0xe7,0x9, 0xce,0x1e,
|
||||
0xb6,0x3f,0x9e,0x3f,0xe7,0x8, 0xce,0x1e,0xb6,0x3f,0x9e,0x3f,0xe7,0xb, 0xce,0x1e,
|
||||
0xb6,0x3f,0x9e,0x3f,0xe7,0xa, 0xce,0x1e,0xb6,0x3f,0xe0,0x0, 0x1e,0x33,0x8d,0x8c,
|
||||
0x9e,0x3f,0xe7,0xc, 0xce,0x2b,0xb6,0x3f,0x9e,0x3f,0xe7,0x1, 0xce,0x1e,0xb6,0x3f,
|
||||
0x9e,0x3f,0xe7,0x0, 0xce,0x1d,0xb6,0x3f,0x9e,0x5f,0xe7,0xc, 0xce,0x2d,0xb6,0x5f,
|
||||
0x9e,0x3f,0xe7,0x6, 0xce,0x1e,0xb6,0x3f,0x9f,0x3f,0xe7,0x7, 0xcf,0x1d,0xb7,0x3f,
|
||||
0x38,0x82,0xe0,0x0, 0x1f,0xac,0xa7,0x8f,0xbc,0xf, 0x9f,0x3f,0xe6,0xf1,0xcf,0x7e,
|
||||
0x27,0x7d,0xa4,0xf, 0xe2,0x1, 0xc4,0x7f,0x38,0x82,0x8, 0xb3,0xe0,0x1, 0x14,0x48,
|
||||
0xd3,0x4f,0xe0,0x0, 0x1f,0xac,0x11,0x80,0xa1,0xf, 0x14,0x5, 0x9f,0xb2,0xe7,0x2,
|
||||
0xcf,0x93,0xb7,0xb2,0xdf,0xe7,0x3c,0x63,0xdf,0xe5,0x9f,0xb2,0x17,0x1, 0xe7,0x2,
|
||||
0xcf,0x9e,0x3c,0x5e,0xb7,0xb2,0x9, 0xe1,0x8, 0xb2,0xe0,0x0, 0x1f,0xac,0x17,0x0,
|
||||
0xa1,0xf, 0x9f,0xb2,0xe7,0x2, 0xcf,0x9e,0xb7,0xb2,0x24,0x9, 0x14,0x6, 0xdf,0xd2,
|
||||
0x9f,0xb2,0x17,0x1, 0xe7,0x2, 0xcf,0x9e,0xb7,0xb2,0x9, 0x61,0x14,0x4, 0x0, 0xf8,
|
||||
0x24,0x93,0xe0,0x0, 0x1f,0xac,0x17,0x0, 0xa7,0x8f,0xc4,0xff,0x3e,0xe8,0xbf,0xf,
|
||||
0xe0,0xc, 0x3e,0xa8,0x3c,0xfc,0x2, 0x89,0x3c,0x19,0x9f,0x3f,0xe6,0xf1,0xcf,0x7e,
|
||||
0x27,0x7d,0xa7,0x8f,0xaf,0x88,0x38,0x82,0x9e,0x3f,0xe6,0xf1,0xce,0x7c,0x26,0x7d,
|
||||
0xbf,0xf, 0xa6,0xf, 0xe1,0x80,0xae,0x1d,0x0, 0xec,0x24,0x90,0xe0,0x0, 0x1f,0xac,
|
||||
0x3f,0x68,0xe1,0x80,0x8e,0x9e,0xa7,0x8f,0x3c,0x19,0xbe,0x8f,0x3f,0x78,0x1, 0x87,
|
||||
0x9f,0x3f,0xe6,0xf1,0xcf,0x7e,0x27,0x7d,0xa7,0x8f,0x38,0x82,0x9e,0xbf,0xe6,0xf1,
|
||||
0xce,0xfd,0x26,0xfd,0xe1,0x80,0x8e,0x9e,0xbe,0x8f,0xa6,0x8f,0x0, 0xf0,0xe0,0x0,
|
||||
0x1f,0xac,0xa7,0x8f,0xe0,0x1, 0x9f,0x1f,0xe6,0xfe,0xcf,0x7e,0x27,0x8, 0xe0,0x1,
|
||||
0x9f,0x1f,0x16,0x81,0xe7,0x2, 0xcf,0x1d,0xe0,0x1, 0xb7,0x1f,0x9f,0x3f,0x37,0x4f,
|
||||
0x27,0x6, 0x9f,0x3f,0x16,0x80,0xe7,0xf, 0xcf,0x1d,0xb7,0x3f,0x9f,0xbf,0x38,0x82,
|
||||
0x8, 0xb3,0xe0,0x0, 0x1f,0xac,0x11,0x80,0xa7,0x8f,0x39,0x68,0x9f,0x3f,0x14,0xb,
|
||||
0xe7,0x2, 0xcf,0x13,0xb7,0x3f,0xdf,0x6e,0xe6,0xe8,0xcc,0x2, 0xdf,0x6b,0xe6,0xf0,
|
||||
0xcc,0x2, 0xdf,0x68,0x3c,0x62,0xe2,0x1, 0xc4,0x7f,0xdf,0x64,0x3c,0x63,0x9, 0xa1,
|
||||
0xe7,0xfe,0x0, 0xe1,0x8, 0xb7,0xe0,0x0, 0x1f,0xac,0x12,0x80,0xa1,0xf, 0x13,0x81,
|
||||
0x9f,0x52,0x3a,0x68,0xe7,0xe, 0xcf,0x25,0xb7,0x52,0x3b,0x69,0x9f,0x52,0x39,0xef,
|
||||
0xe7,0xc, 0xcf,0x27,0xb7,0x52,0x9f,0x32,0xe7,0x2, 0xcf,0x15,0xb7,0x32,0x24,0xa2,
|
||||
0xe0,0x1, 0x14,0x3b,0xdf,0x47,0x9f,0xd2,0x3c,0xe5,0xe7,0xe, 0xcf,0xa7,0x3c,0x65,
|
||||
0xb7,0xd2,0xde,0xdc,0xe6,0xe8,0xcc,0x4, 0xdf,0x3d,0xe6,0xf0,0xcc,0x4, 0xdf,0x3a,
|
||||
0x3c,0x64,0xe2,0x1, 0xc4,0x7f,0xdf,0x36,0x14,0x81,0x3c,0x69,0xde,0xcf,0x14,0x0,
|
||||
0xdf,0x31,0x2b,0x7, 0xa7,0x83,0x16,0x81,0x9f,0x5f,0xe7,0xe, 0xcf,0x2d,0xb7,0x5f,
|
||||
0xb, 0xe1,0x14,0x3b,0xdf,0x27,0x0, 0xe7,0x8, 0xb3,0x39,0x69,0x39,0xea,0xdf,0xa9,
|
||||
0x3c,0xe3,0x3c,0x62,0xdf,0x56,0xe0,0x0, 0x1f,0xac,0x16,0x81,0xa7,0x8f,0x9f,0x3f,
|
||||
0xe7,0x2, 0xcf,0x1d,0xb7,0x3f,0x9, 0xe1,0x8, 0xb3,0xe0,0x0, 0x1f,0x9a,0x39,0x69,
|
||||
0x8c,0x8f,0x39,0xea,0xe2,0x1, 0xc4,0x80,0xdf,0xae,0x3c,0xe3,0x3c,0x62,0xdf,0x41,
|
||||
0xe0,0x0, 0x1f,0xac,0x16,0x81,0xa7,0x8f,0x9f,0x3f,0xe7,0x2, 0xcf,0x1d,0xb7,0x3f,
|
||||
0x16,0x80,0x9f,0x5f,0xe7,0xe, 0xcf,0x2d,0xb7,0x5f,0x9f,0x5f,0xe7,0xc, 0xcf,0x2d,
|
||||
0xb7,0x5f,0x9, 0xe1,0xe0,0x0, 0x1f,0x9a,0x3f,0x68,0x8d,0x8f,0x3e,0xe9,0xe2,0x0,
|
||||
0xcd,0xbb,0x3e,0x6a,0x1, 0x5, 0x8f,0x8f,0xe2,0x1, 0xcf,0xbb,0x1, 0x85,0x3d,0x6c,
|
||||
0x3c,0xed,0x3c,0x6e,0x0, 0xd2,0x0, 0xc1,0x8, 0xb2,0xe0,0x0, 0x1f,0xac,0x16,0x80,
|
||||
0xa7,0x8f,0x39,0x69,0x9f,0x3f,0xe7,0x2, 0xcf,0x1d,0xb7,0x3f,0xde,0xdb,0xe6,0xe8,
|
||||
0xcc,0x2, 0xde,0xd8,0xe6,0xf0,0xcc,0x2, 0xde,0xd5,0x3c,0x62,0xe2,0x1, 0xc4,0x7f,
|
||||
0x9, 0x21,0xe7,0xfd,0x0, 0xd0,0x8, 0xb4,0x3a,0x68,0x14,0x1, 0x39,0xea,0x39,0x69,
|
||||
0xde,0xec,0x3c,0xe4,0x14,0x2, 0xdf,0xe1,0x3c,0xe3,0x3c,0x62,0xdf,0x17,0xe0,0x0,
|
||||
0x1f,0xac,0x16,0x81,0xa7,0x8f,0x9f,0x3f,0xe7,0x2, 0xcf,0x1d,0xb7,0x3f,0xde,0xc6,
|
||||
0x2c,0x7f,0xa, 0x61,0x8, 0xb7,0xf8,0x0, 0xc, 0x38,0xe0,0x2, 0x13,0x80,0xe6,0xf8,
|
||||
0xc9,0x88,0xe0,0x3, 0x3b,0xa3,0xe3,0xff,0xc1,0xff,0x39,0xfa,0x4, 0x83,0xdf,0xdc,
|
||||
0x0, 0xa1,0x39,0x6a,0x3a,0xe9,0x3a,0x68,0x39,0x23,0x3a,0x13,0x3d,0x63,0xe3,0xff,
|
||||
0xc1,0x7f,0x39,0x95,0xdf,0xd1,0x3a,0xe2,0x3b,0x64,0xe0,0x18,0x39,0xa4,0xe2,0x1,
|
||||
0xca,0xff,0xf0,0x9, 0x3c,0x16,0x2, 0x92,0xe0,0xa, 0x31,0x48,0xe0,0x9, 0x35,0x28,
|
||||
0xe5,0xfe,0xc5,0x0, 0xe0,0x8, 0x3a,0x19,0x3d,0x12,0xe3,0xff,0xc5,0x7f,0x3c,0x93,
|
||||
0x2d,0x5f,0x14,0x1, 0xf8,0x0, 0xc, 0x28,0xb, 0xe1,0x3c,0x66,0x3d,0x67,0xe1,0xfe,
|
||||
0xc2,0x80,0xdf,0xb2,0xe3,0xff,0xc2,0xff,0xe0,0x2, 0xc3,0x0, 0x0, 0xe1,0x8, 0xb5,
|
||||
0x14,0x1, 0xde,0x9b,0xe0,0x0, 0x1f,0xac,0x12,0x0, 0xa1,0xf, 0x14,0x5, 0x9f,0xb2,
|
||||
0x11,0x81,0xe7,0x2, 0xcf,0x94,0xb7,0xb2,0xde,0x6d,0x3c,0x64,0xde,0x6b,0x9f,0xb2,
|
||||
0x3a,0xe8,0xe7,0x2, 0xcf,0x93,0xb7,0xb2,0x3c,0x63,0x9f,0xb2,0xe7,0x2, 0xcf,0x94,
|
||||
0xb7,0xb2,0xde,0x60,0x3c,0x65,0xe2,0x1, 0xc4,0x3, 0xde,0x5c,0x9f,0xb2,0xe7,0x2,
|
||||
0xcf,0x93,0xb7,0xb2,0xde,0x63,0x39,0xe8,0x2c,0x7e,0x9f,0xb2,0xe7,0x2, 0xcf,0x98,
|
||||
0xb7,0xb2,0x14,0x5, 0xde,0x4f,0x3c,0x63,0xde,0x4d,0xe0,0x0, 0x1f,0xaa,0x17,0x1,
|
||||
0xac,0xf, 0x9f,0xb2,0xe7,0x2, 0xcf,0x9e,0xb7,0xb2,0xa, 0xe1,0x8, 0xb2,0x14,0x1,
|
||||
0xde,0x64,0xe0,0x0, 0x1f,0xac,0x17,0x0, 0xa1,0xf, 0x14,0x1, 0x9f,0xb2,0xe7,0x2,
|
||||
0xcf,0x9e,0xb7,0xb2,0xde,0x37,0x14,0x1c,0xde,0x35,0x9f,0xb2,0x17,0x1, 0xe7,0x2,
|
||||
0xcf,0x9e,0xb7,0xb2,0xde,0x3b,0x2c,0x7f,0x9, 0x61,0x8, 0xb5,0xe0,0x0, 0x1f,0xac,
|
||||
0x12,0x0, 0xa1,0x8f,0xe0,0x1, 0x14,0x1f,0x9f,0xb3,0xe7,0x2, 0xcf,0x94,0xb7,0xb3,
|
||||
0xde,0x21,0x3c,0x64,0xde,0x1f,0x3a,0xe8,0x3c,0x64,0xde,0x1c,0xe6,0xd8,0xc9,0x8,
|
||||
0x3c,0x64,0xde,0x18,0x9f,0xb3,0x39,0x48,0x17,0x1, 0xe7,0x2, 0xcf,0x9e,0xe3,0xff,
|
||||
0xc1,0x7f,0xe0,0xc0,0x14,0x11,0xe0,0x22,0x39,0x8, 0xb7,0xb3,0x21,0x6, 0xe0,0x1,
|
||||
0x17,0xc8,0xe0,0x25,0x3a,0x8f,0x2a,0x84,0xe0,0x0, 0x14,0x40,0xa, 0xe1,0x14,0x20,
|
||||
0x0, 0xfe,0x8, 0xb2,0x39,0x68,0x14,0x1, 0xde,0x20,0xe0,0x9, 0x31,0x2c,0x14,0x20,
|
||||
0xdf,0x14,0xe0,0x0, 0x1f,0xac,0x16,0x81,0xa7,0x8f,0x9f,0x3f,0xe7,0x2, 0xcf,0x1d,
|
||||
0xb7,0x3f,0xdd,0xfc,0x2c,0x7f,0x14,0x1, 0x9, 0x61,0x8, 0xb2,0x39,0x68,0x14,0x1,
|
||||
0xde,0xc, 0xe0,0x9, 0x31,0x2f,0xe0,0x0, 0x14,0x52,0xde,0xff,0xe0,0x0, 0x1f,0xac,
|
||||
0x16,0x81,0xa7,0x8f,0x9f,0x3f,0xe7,0x2, 0xcf,0x1d,0xb7,0x3f,0xdd,0xe7,0x2c,0x7f,
|
||||
0x9, 0x61,0x8, 0xb2,0x39,0x68,0x14,0x1, 0xdd,0xf8,0xe4,0x9, 0x31,0x20,0xe0,0x1,
|
||||
0x14,0x58,0xde,0xeb,0xe0,0x0, 0x1f,0xac,0x16,0x81,0xa7,0x8f,0x9f,0x3f,0xe7,0x2,
|
||||
0xcf,0x1d,0xb7,0x3f,0xdd,0xd3,0x2c,0x7f,0x9, 0x61,0x8, 0xb2,0x14,0x1, 0xdd,0xe5,
|
||||
0xe0,0x0, 0x1f,0xac,0x17,0x0, 0xa1,0xf, 0xe0,0x0, 0x14,0x60,0x9f,0xb2,0xe7,0x2,
|
||||
0xcf,0x9e,0xb7,0xb2,0xdd,0xb7,0x9f,0xb2,0x17,0x1, 0xe7,0x2, 0xcf,0x9e,0xb7,0xb2,
|
||||
0xdd,0xbd,0x2c,0x7f,0x9, 0x61,0x3f,0xe9,0xc7,0xff,0x3f,0x6f,0xe2,0x1, 0xc7,0x7f,
|
||||
0xe2,0x0, 0xcf,0x6, 0x2, 0x93,0xea,0x3f,0x7f,0xe0,0xe9,0xff,0xc7,0xfc,0x3f,0x9e,
|
||||
0x8f,0xf, 0xe0,0x0, 0x1f,0xc4,0xe1,0x2f,0x3f,0xbe,0xe0,0x0, 0x1f,0x45,0xe1,0x2f,
|
||||
0x3f,0xbe,0xe0,0x0, 0x1f,0x9, 0xb7,0x8e,0x38,0x82,0x17,0x1, 0x0, 0xf3,0xe0,0x0,
|
||||
0x1f,0xa0,0xe0,0xab,0x17,0x2a,0xa7,0x8f,0xe2,0x0, 0xcc,0x7, 0xe0,0x1, 0xb7,0x1f,
|
||||
0x2, 0x85,0x9f,0x3f,0xe7,0x0, 0xcf,0x38,0xb7,0x3f,0x14,0x0, 0x9f,0x5f,0xe7,0xe,
|
||||
0xcf,0x18,0xb7,0x5f,0x9f,0xbf,0xe6,0xfd,0xcf,0xdf,0x3c,0xef,0x0, 0xcd,0xe0,0x0,
|
||||
0x1f,0xa0,0xe0,0xab,0x17,0x2a,0xa7,0x8f,0x16,0x1, 0xe0,0x1, 0xb7,0x1f,0x15,0x80,
|
||||
0x9f,0x5f,0xe7,0x7, 0xcf,0x1c,0xb7,0x5f,0x17,0x0, 0xe0,0x0, 0x1f,0xa7,0xa7,0x8f,
|
||||
0xb7,0x5f,0xe0,0x7, 0x17,0x7f,0xe0,0x1, 0xb7,0x1f,0xe0,0x1, 0x9f,0x7f,0xe0,0x7,
|
||||
0xcf,0x7c,0xe0,0x1, 0xb7,0x7f,0xe0,0x1, 0x9f,0x5f,0xe3,0xf8,0xc7,0x0, 0xe0,0x1,
|
||||
0xb7,0x5f,0x17,0xf, 0xe0,0x2, 0x9e,0x9f,0xe7,0x8, 0xce,0xce,0xe0,0x2, 0xb6,0x9f,
|
||||
0x9e,0x9f,0xe3,0xfd,0xc6,0xff,0xb6,0x9f,0xe0,0x2, 0x9e,0x9f,0xe7,0xc, 0xce,0x9b,
|
||||
0xe0,0x2, 0xb6,0x9f,0xe0,0x1, 0x9e,0xdf,0xe0,0x4, 0xce,0x80,0xe0,0x1, 0xb6,0xdf,
|
||||
0x9e,0xbf,0xce,0xc0,0xb6,0xbf,0x9e,0x9f,0xce,0xc0,0xb6,0x9f,0xe0,0x5, 0x9e,0x9f,
|
||||
0xe7,0x8, 0xce,0xce,0xe0,0x5, 0xb6,0x9f,0xe0,0x5, 0x9e,0x9f,0xe7,0xc, 0xce,0xce,
|
||||
0xe0,0x5, 0xb6,0x9f,0xe0,0x5, 0x9e,0xbf,0xe7,0x0, 0xce,0xce,0xe0,0x5, 0xb6,0xbf,
|
||||
0xe0,0x5, 0x9e,0x9f,0xe7,0x0, 0xce,0xce,0xe0,0x5, 0xb6,0x9f,0xe0,0x2, 0x9f,0x3f,
|
||||
0xe7,0xe, 0xcf,0x1c,0xe0,0x2, 0xb7,0x3f,0x38,0x82,0xe0,0x0, 0x1f,0x9c,0x17,0x0,
|
||||
0xb7,0xf, 0x16,0x81,0xe0,0x0, 0x1f,0xa0,0x16,0x0, 0xa7,0x8f,0x9f,0x5f,0xe7,0x1,
|
||||
0xcf,0x1d,0xb7,0x5f,0xe0,0x0, 0x1f,0xaf,0xa7,0x8f,0x9f,0x7f,0xe7,0x5, 0xcf,0x1c,
|
||||
0xb7,0x7f,0x9f,0x7f,0xe7,0x4, 0xcf,0x1c,0xb7,0x7f,0x16,0x2, 0x9f,0x5f,0xe7,0x0,
|
||||
0xcf,0x2c,0xb7,0x5f,0x17,0x32,0xb7,0x1f,0xa7,0x4f,0x3f,0x4d,0xbf,0x4f,0x9f,0x7f,
|
||||
0xe7,0x4, 0xcf,0x1d,0xb7,0x7f,0xe0,0x61,0x3f,0x82,0xe0,0x8, 0xcf,0x80,0xe0,0x61,
|
||||
0x3f,0x92,0x38,0x82,0xe0,0x0, 0x1f,0x1c,0x9f,0x8e,0xc7,0x81,0xb7,0x8e,0xe0,0x0,
|
||||
0x1f,0xaf,0xa7,0xf, 0xa7,0xce,0xcf,0x81,0xbf,0xce,0x38,0x82,0xe0,0x0, 0x1f,0xa0,
|
||||
0x17,0x1, 0xa7,0x8f,0x16,0x0, 0x9e,0xdf,0xe7,0x2, 0xce,0x9e,0xb6,0xdf,0x9e,0xdf,
|
||||
0xe7,0xd, 0xce,0x9e,0xb6,0xdf,0xe0,0x0, 0x1f,0x9f,0xa7,0x8f,0x9e,0xbf,0xe7,0x0,
|
||||
0xce,0x9e,0xb6,0xbf,0x9e,0x9f,0xe7,0x6, 0xce,0x9c,0xb6,0x9f,0x16,0x2f,0x9e,0xdf,
|
||||
0xe7,0x0, 0xce,0xfc,0xb6,0xdf,0x9e,0xbf,0xe7,0x1, 0xce,0x9e,0xb6,0xbf,0x9e,0xff,
|
||||
0xe7,0x4, 0xce,0x9e,0xb6,0xff,0x9e,0x9f,0xe7,0x6, 0xce,0x9e,0xb6,0x9f,0xe0,0x61,
|
||||
0x3f,0x82,0xe0,0x2, 0xcf,0x80,0xe0,0x61,0x3f,0x92,0x38,0x82,0xe0,0x0, 0x1f,0x9f,
|
||||
0xa7,0x8f,0x9f,0x5f,0xe6,0xf9,0xcf,0x1e,0x27,0xa, 0x9f,0x7f,0x16,0x81,0xe7,0x4,
|
||||
0xcf,0x1d,0xb7,0x7f,0x9f,0x1f,0xe7,0x6, 0xcf,0x1d,0xb7,0x1f,0x38,0x82,0xe0,0x0,
|
||||
0x1f,0x89,0x9f,0x8f,0x3c,0x3f,0xc4,0x7b,0x34,0x4, 0xc4,0x7f,0xe3,0xff,0xcc,0x7f,
|
||||
0x1, 0x82,0x38,0x82,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf1,0xeb,0x0, 0xcf,0x80,0x9f,0x5f,
|
||||
0x16,0x81,0xe7,0x0, 0xcf,0x1d,0xb7,0x5f,0x17,0x0, 0x9e,0xbf,0xe0,0x1, 0x16,0x7f,
|
||||
0xe7,0x4, 0xce,0xae,0xb6,0xbf,0xe0,0x0, 0x1f,0xc6,0x9e,0xbf,0xe7,0x20,0xce,0x8c,
|
||||
0xb6,0xbf,0x9e,0x9f,0xe7,0x1, 0xce,0x9e,0xb6,0x9f,0x9e,0x9f,0xe7,0x0, 0xce,0x9e,
|
||||
0xe0,0x0, 0x1f,0x37,0xb6,0x9f,0x8e,0x8e,0xe2,0x0, 0xce,0x81,0x5, 0x88,0x8f,0xe,
|
||||
0x9e,0xdf,0xe2,0x1, 0xc7,0x7e,0xe7,0x20,0xce,0x8e,0xb6,0xdf,0xe0,0x61,0x3f,0x82,
|
||||
0xcf,0x81,0xe0,0x61,0x3f,0x92,0xe0,0x61,0x3f,0x82,0xcf,0x82,0xe0,0x61,0x3f,0x92,
|
||||
0x38,0x82,0x3f,0xe8,0xc7,0xf8,0x3f,0x6f,0xe2,0x1, 0xc7,0x7f,0x17,0xb5,0xe1,0x2f,
|
||||
0x3f,0xae,0x2f,0x95,0x3f,0xe8,0xc7,0xc1,0x3f,0x6f,0xe2,0x1, 0xc7,0x7f,0x17,0xae,
|
||||
0xe1,0x2f,0x3f,0xae,0x2f,0x8c,0x3f,0xe8,0xe1,0xff,0xc7,0x91,0xe2,0x0, 0xcf,0x86,
|
||||
0x5, 0x86,0xe0,0x0, 0x17,0xf7,0xe0,0x28,0x3c,0xf, 0x38,0x82,0x14,0x1, 0x0, 0xfe,
|
||||
0xe0,0x0, 0x1f,0x10,0xe0,0x0, 0x1e,0x8a,0xe0,0x0, 0x1e,0xf, 0x3f,0xee,0xe6,0xd0,
|
||||
0xce,0x8d,0xe1,0x80,0xbe,0x9e,0x3f,0x7c,0x1, 0xfd,0xe0,0x0, 0x1f,0x21,0xe6,0xd0,
|
||||
0xcf,0xe, 0xe0,0x12,0xbf,0xf, 0xe0,0x0, 0x1f,0x38,0xe6,0xd0,0xcf,0xe, 0xbf,0x1f,
|
||||
0xe0,0x0, 0x1f,0x31,0xe6,0xd0,0xcf,0xe, 0xe0,0xb, 0xbf,0x6f,0xe0,0x0, 0x1f,0x36,
|
||||
0xe6,0xd0,0xcf,0xe, 0xe0,0xc, 0xbf,0x6f,0xe0,0x0, 0x1f,0x5, 0xe6,0xd0,0xcf,0xe,
|
||||
0xe0,0x15,0xbf,0xf, 0xe0,0x0, 0x1f,0xc, 0xe6,0xd0,0xcf,0xe, 0xe0,0xd, 0xbf,0x2f,
|
||||
0x38,0x82,0x8, 0xb4,0xe0,0x0, 0x19,0xc8,0x17,0x3, 0xe0,0x2, 0x9f,0x93,0x11,0x1,
|
||||
0xe7,0x8, 0xcf,0xce,0xe0,0x2, 0xb7,0x93,0xe0,0x2, 0x9f,0xb3,0xe0,0x0, 0x1a,0x37,
|
||||
0xe7,0xf, 0xcf,0x92,0xe0,0x2, 0xb7,0xb3,0xdf,0xbc,0xeb,0x0, 0xcf,0x80,0x9f,0x3f,
|
||||
0xe7,0x6, 0xcf,0x12,0xb7,0x3f,0x17,0x22,0xe0,0x4, 0x9f,0x93,0xe7,0xb, 0xcf,0x92,
|
||||
0xe0,0x0, 0x19,0x49,0xe0,0x4, 0xb7,0x93,0xe0,0xc, 0x9f,0x92,0xe7,0x28,0xcf,0x8e,
|
||||
0xe0,0xc, 0xb7,0x92,0x17,0x0, 0xe0,0xc, 0x9f,0x92,0xe7,0x20,0xcf,0x8e,0xe0,0xc,
|
||||
0xb7,0x92,0x8f,0x84,0xe0,0x8, 0x37,0xc1,0xdf,0x7d,0xe0,0x0, 0x24,0x6c,0x8f,0x84,
|
||||
0xe0,0xd, 0x9f,0x12,0x37,0xc1,0xe2,0x0, 0xc7,0xfe,0xe7,0x0, 0xcf,0x7f,0xe0,0xd,
|
||||
0xb7,0x12,0xe0,0x2, 0xa7,0xe3,0xe6,0xf9,0xca,0x1f,0x3c,0x64,0xdf,0x6b,0x17,0x1,
|
||||
0xe4,0xf, 0x32,0x28,0xe0,0x0, 0x24,0x61,0xe0,0xd, 0x9e,0x92,0xe4,0xf, 0x37,0xc8,
|
||||
0xe7,0xf, 0xce,0x9e,0xe0,0xd, 0xb6,0x92,0xe0,0xd, 0x9f,0x12,0xe7,0x8, 0xcf,0x7f,
|
||||
0xe0,0xd, 0xb7,0x12,0xe0,0x1, 0x17,0x80,0xbf,0xa2,0xe1,0xff,0x17,0xff,0xbf,0x92,
|
||||
0x17,0x0, 0xe0,0x1, 0x9f,0xd2,0xe7,0x8, 0xcf,0x9e,0xe0,0x1, 0xb7,0xd2,0xe1,0x40,
|
||||
0x17,0x94,0xe0,0x4, 0xbf,0x82,0xe1,0x0, 0x17,0x0, 0xe0,0x0, 0x1f,0x84,0xe0,0x4,
|
||||
0xbf,0x52,0xa7,0x8f,0xe0,0x9, 0x9e,0xb2,0xe6,0xef,0xce,0x7f,0xe7,0x0, 0xce,0x9c,
|
||||
0xe0,0x9, 0xb6,0xb2,0x16,0x83,0xe0,0x9, 0xb7,0xd2,0xe0,0x8, 0x17,0xc0,0xe0,0x9,
|
||||
0xb7,0xf2,0xe0,0x4, 0xbf,0x22,0xe0,0x1, 0x9f,0x52,0xe7,0x20,0xcf,0xd, 0xe0,0x1,
|
||||
0xb7,0x52,0xe0,0xd, 0xb7,0xd2,0x17,0xff,0xe0,0xd, 0xb7,0xf2,0xe0,0x12,0x17,0x80,
|
||||
0xe0,0x6, 0xbf,0xd2,0xe0,0xe, 0x17,0x87,0xe0,0x5, 0xbf,0x92,0xe0,0x61,0x3f,0x82,
|
||||
0xe0,0x10,0xcf,0x80,0xe0,0x61,0x3f,0x92,0xe0,0x10,0x17,0x80,0xe0,0x61,0x3f,0x91,
|
||||
0xa, 0x61,0xe0,0xd, 0x9f,0x92,0xe0,0x0, 0x17,0x70,0xe7,0x0, 0xcf,0xfe,0xe0,0xd,
|
||||
0xb7,0x92,0xe7,0xff,0x0, 0x98,0xe0,0xd, 0x9f,0x92,0xe7,0xf, 0xcf,0x9e,0xe0,0xd,
|
||||
0xb7,0x92,0x17,0x8, 0xe0,0xd, 0x9f,0x92,0xe7,0x8, 0xcf,0xfe,0xe0,0xd, 0xb7,0x92,
|
||||
0xe0,0xd, 0x9f,0x92,0xe6,0xf1,0xcf,0x9f,0xe0,0x2, 0xbf,0xe3,0xe7,0xff,0x0, 0x9c,
|
||||
0x2, 0x2, 0x4, 0x4, 0x6, 0x6, 0x8, 0x0, 0x0, 0x4, 0x14,0x0, 0x0, 0x4, 0x10,0x0,
|
||||
0x80,0x0, 0xc, 0x0, 0x80,0x0, 0xf, 0x0, 0x80,0x0, 0xe, 0x0, 0x80,0x0, 0x6, 0x0,
|
||||
0x80,0x0, 0xa, 0x0, 0x80,0x0, 0x2, 0x0, 0x80,0x0, 0x3, 0x0, 0x80,0x0, 0x1, 0x0,
|
||||
0x80,0x0, 0x0, 0x0, 0x46,0x54,0x49,0x43,0x10,0x56,0xe2,0x0, 0x35,0x36,0x36,0x32,
|
||||
0x0, 0x0, 0x0, 0x0, 0x56,0xe2,0x80,0x0, 0x0, 0x4, 0x7, 0x70,0x1, 0xb, 0x3b,0x0,
|
||||
0x0, 0x40,0x3, 0x2, 0x70,0x0, 0x0, 0x0, 0xea,0xea,0xea,0xea,0xea,0x0, 0x0, 0x0,
|
||||
0x0, 0x4, 0x18,0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x4, 0x4, 0x6, 0x0, 0x4, 0x0, 0x2c,0x0, 0x4, 0xc, 0x0, 0x0, 0x4, 0x4, 0x20,
|
||||
0x0, 0x4, 0x4, 0x10,0x0, 0x4, 0x9, 0x7c,0x0, 0x4, 0x0, 0x1c,0x0, 0x4, 0x0, 0x28,
|
||||
0x0, 0x0, 0x20,0x18,0x0, 0x4, 0x4, 0x22,0x0, 0x4, 0x4, 0x8, 0x0, 0x4, 0x5, 0x60,
|
||||
0x0, 0x4, 0x18,0x0, 0x0, 0x4, 0x14,0x0, 0x0, 0x4, 0x0, 0x12,0x0, 0x4, 0x4, 0x2b,
|
||||
0x0, 0x4, 0x4, 0x24,0x0, 0x0, 0x20,0x30,0x0, 0x4, 0x5, 0x64,0x0, 0x0, 0xf, 0x98,
|
||||
0x0, 0x0, 0xe, 0xe4,0x0, 0x4, 0x9, 0xa4,0x0, 0x4, 0x4, 0x14,0x0, 0x4, 0x0, 0x1a,
|
||||
0x0, 0x0, 0x11,0x6, 0x0, 0x4, 0xa, 0x30,0x0, 0x4, 0x4, 0x4, 0x0, 0x0, 0xf, 0xf2,
|
||||
0x0, 0x0, 0x20,0x34,0x0, 0x0, 0x20,0x40,0x0, 0x4, 0x0, 0x10,0x0, 0x4, 0x4, 0x0,
|
||||
0x0, 0x0, 0x20,0x28,0x0, 0x4, 0x4, 0xc, 0x0, 0x4, 0x4, 0xa, 0x0, 0x4, 0x0, 0x1e,
|
||||
0x0, 0x0, 0x20,0x3c,0x0, 0x4, 0x9, 0x80,0x0, 0x4, 0x5, 0x68,0x0, 0x4, 0x4, 0x29,
|
||||
0x0, 0x0, 0x10,0x4e,0x0, 0x0, 0x20,0x24,0x0, 0x4, 0x7, 0x70,0x0, 0x4, 0x4, 0x7,
|
||||
0x0, 0x0, 0x20,0x38,0x0, 0x0, 0x10,0xaa,0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x20,0x2c,
|
||||
0x0, 0x4, 0x0, 0x1f,0x0, 0x4, 0x4, 0x18,0x0, 0x4, 0x9, 0x84,0x0, 0x4, 0x4, 0x2,
|
||||
0x0, 0x4, 0x0, 0x20,0x0, 0x4, 0x0, 0x24,0x0, 0x4, 0x4, 0x2a,0x0, 0x4, 0x4, 0x1c,
|
||||
0x0, 0x0, 0xf, 0x3e,0x0, 0x0, 0x20,0x20,0x0, 0x4, 0x0, 0x19,0x0, 0x4, 0x4, 0x28,
|
||||
0x0, 0x4, 0x9, 0x78,0x0, 0x4, 0x0, 0x18,0x0, 0x0, 0x20,0x1c,0x0, 0x4, 0x18,0x4,
|
||||
0x0, 0x4, 0x0, 0x14,0x3, 0xd0,0x90,0x0, 0x0, 0xf, 0x42,0x40,0x80,0x0, 0xa, 0x0,
|
||||
0x80,0x0, 0x4, 0x0, 0x80,0x0, 0x1, 0x0, 0x80,0x0, 0xc, 0x0,
|
||||
|
|
@ -1,452 +0,0 @@
|
|||
0x2, 0x0, 0x46,0x32,0x0, 0x0, 0xb2,0x0, 0xff,0xff,0xff,0x2, 0x7, 0x45,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0x2, 0xd, 0x9a,0xff,0xff,0xff,0xff,0xff,0x2, 0xb, 0x91,0xff,0xff,
|
||||
0xff,0xff,0xff,0x2, 0x0, 0x3, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0x2, 0xb, 0xdb,0x75,0x84,0x1, 0x7e,0x44,0x1f,0xff,0xe4,0x7a,0x49,
|
||||
0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0x13,0xff,0xd2,0x7, 0xc2,0x8, 0xc2,0x9, 0x75,
|
||||
0x22,0x0, 0x75,0x27,0xff,0xd2,0x0, 0xc2,0x2, 0xc2,0x3, 0xc2,0x4, 0xc2,0x6, 0x7e,
|
||||
0x4, 0x0, 0xff,0x7e,0x14,0x1, 0x45,0xb, 0xa, 0x40,0x5d,0x44,0x68,0x1a,0x69,0x20,
|
||||
0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,0x29,0xb0,0xb, 0x24,
|
||||
0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x19,0x93,0x6d,0x0, 0x74,0x10,0x4d,
|
||||
0x0, 0x78,0xb, 0x4d,0x22,0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,
|
||||
0x7d,0x32,0x6d,0x22,0x2f,0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4,
|
||||
0x9f,0x10,0xb, 0x90,0x14,0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,
|
||||
0x7d,0x13,0x8d,0x24,0x7d,0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4,
|
||||
0xb, 0x14,0x14,0x78,0xf1,0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x1c,0x40,0xe3,0xbf,0x93,0x6c,0xdd,0x22,0xff,0x0, 0xff,0x0, 0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xca,0xf8,0x7f,0x20,0x80,0xa, 0x7e,0x1b,0xf0,0x7a,0x2b,0xf0,0xb, 0x34,0xb, 0x54,
|
||||
0x69,0xff,0xff,0xfc,0x7d,0xef,0x1b,0xe4,0x79,0xef,0xff,0xfc,0x4d,0xff,0x78,0xe6,
|
||||
0x7f,0x10,0xda,0xf8,0x22,0x0, 0x1, 0x2, 0x79,0x0, 0x0, 0xa, 0x2, 0x7a,0x54,0x5b,
|
||||
0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0, 0x1, 0x2, 0x84,0x0, 0x0, 0x1, 0x2,
|
||||
0x85,0xff,0x0, 0x2, 0x2, 0x86,0x0, 0x0, 0x0, 0x1, 0x3, 0x8c,0x0, 0x0, 0x1, 0x2,
|
||||
0x44,0x0, 0x0, 0x1, 0x2, 0x46,0x0, 0x0, 0x2, 0x2, 0x61,0x0, 0x0, 0x0, 0x4, 0x2,
|
||||
0x63,0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, 0x67,0x0, 0x0, 0x0, 0x1, 0x2, 0x69,0x0,
|
||||
0x0, 0x1, 0x2, 0x6a,0xb, 0x0, 0x1, 0x2, 0x6b,0x0, 0x0, 0x0, 0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x56,0x31,0x2e,0x32,0x5f,0x41,0x70,0x72,0x20,0x32,0x37,0x20,0x32,0x30,0x32,0x31,
|
||||
0x46,0x54,0x53,0x35,0x34,0x35,0x32,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x7c,0x97,0x7c,0x8b,0x7f,0x70,0xd2,0xc9,0x7a,0x81,0xf2,0x75,0xf3,0x80,0xa, 0x59,
|
||||
0x1b,0x54,0xf5,0xf4,0x75,0xf5,0x1, 0x6c,0xaa,0x80,0x14,0xe5,0xf5,0x54,0x80,0xb4,
|
||||
0x80,0xf9,0xe5,0xf6,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x7a,0x1b,0xb0,0xb, 0xa0,0xbc,
|
||||
0x9a,0x38,0xe8,0xc2,0xc9,0x22,0xd2,0xcf,0xe5,0xcc,0x54,0xf8,0xf5,0xcc,0xa9,0xd0,
|
||||
0xce,0xa9,0xd2,0xc9,0xa9,0xd0,0xce,0xa9,0xd3,0xc9,0xa9,0xd5,0xca,0x75,0xeb,0x23,
|
||||
0x75,0xed,0xf, 0x75,0xac,0x40,0x75,0xad,0x30,0xd2,0x86,0x75,0xec,0xff,0x75,0xee,
|
||||
0xff,0xa9,0xc1,0xea,0xa9,0xc7,0x94,0xa9,0xc4,0x94,0xc2,0xae,0x7e,0x8, 0x0, 0xc,
|
||||
0x74,0x21,0x7e,0x70,0x1, 0x91,0x20,0xe5,0xc, 0xbe,0xb0,0x9, 0x28,0x5, 0xa9,0xc3,
|
||||
0xe2,0x80,0x3, 0xa9,0xd3,0xe2,0xe5,0xc, 0x7a,0xb3,0x2, 0x7d,0x22,0x7e,0x35,0x25,
|
||||
0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x12,0xb0,0x7e,0x35,0x25,0x7d,
|
||||
0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x12,0xac,0x7e,0x35,0x25,0x2e,0x34,
|
||||
0x0, 0xa, 0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0xa, 0x7a,0x1f,0x10,0xc, 0x7e,0x35,
|
||||
0x25,0x2e,0x34,0x0, 0xa, 0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x12,
|
||||
0xfc,0x22,0x7e,0x34,0x0, 0x4, 0x7e,0x54,0x0, 0x4, 0x7e,0x44,0x0, 0xff,0x69,0x12,
|
||||
0x0, 0x2, 0xb, 0x2a,0x0, 0x79,0x30,0x0, 0x1e,0x7e,0x34,0x1, 0x0, 0x7e,0x24,0x10,
|
||||
0x0, 0x9f,0x0, 0x59,0x12,0x0, 0x2, 0x1b,0x28,0x0, 0xb, 0x26,0x1b,0x34,0x78,0xf3,
|
||||
0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x10,0x1c,
|
||||
0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x10,0x20,
|
||||
0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x11,0x54,
|
||||
0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x12,0xa8,
|
||||
0x7e,0x35,0x25,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x12,0xb0,0x7e,
|
||||
0x35,0x25,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8, 0x7a,0x1f,0x12,0xac,0x7e,0x35,
|
||||
0x25,0x2e,0x34,0x0, 0xa, 0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0xa, 0x7a,0x1f,0x10,
|
||||
0xc, 0x7e,0x35,0x25,0x2e,0x34,0x0, 0xa, 0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x12,0xfc,0x7e,0x34,0x2, 0x63,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x12,0xc0,0x7e,0x34,0x2, 0x7a,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0xa,
|
||||
0x7a,0x1f,0x12,0x40,0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x11,0x84,0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x11,0x7c,0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x11,0x88,0x7e,0x34,0x2, 0x67,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0xa,
|
||||
0x7a,0x1f,0x11,0xa8,0x7e,0x34,0x2, 0x79,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0xa,
|
||||
0x7a,0x1f,0x13,0x30,0x7e,0x34,0x2, 0x79,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0xa,
|
||||
0x7a,0x1f,0x11,0x98,0x7e,0x34,0x2, 0x79,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x11,0x90,0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x11,0x94,0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x10,0x40,0x7e,0x34,0x2, 0x88,0x7d,0x23,0x6d,0x33,0x2e,0x18,0x0, 0x8,
|
||||
0x7a,0x1f,0x10,0x24,0x22,0xa9,0xc4,0xe1,0xa9,0xc0,0xe1,0xa9,0xd0,0xce,0xd2,0xcc,
|
||||
0x7e,0x34,0xff,0xff,0x7e,0x54,0x0, 0x4, 0x7e,0x44,0x0, 0xff,0x69,0x12,0x0, 0x2,
|
||||
0xb, 0x2a,0x0, 0x79,0x30,0x0, 0x6, 0x7e,0x34,0x0, 0x1, 0x1b,0xa, 0x30,0xa9,0xc1,
|
||||
0xe2,0xa9,0xc2,0xe2,0xd2,0x9e,0xc2,0x9d,0x43,0xeb,0xb4,0x7e,0x34,0x0, 0xef,0x7e,
|
||||
0x54,0x0, 0x4, 0x7e,0x44,0x0, 0xff,0x69,0x12,0x0, 0x2, 0xb, 0x2a,0x0, 0x79,0x30,
|
||||
0x0, 0x18,0x2e,0x14,0x0, 0xa, 0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x1b,0xa, 0x30,0x7e,
|
||||
0x34,0x0, 0x3, 0x7e,0x54,0x0, 0x4, 0x7e,0x44,0x0, 0xff,0x69,0x12,0x0, 0x2, 0xb,
|
||||
0x2a,0x0, 0x79,0x30,0x0, 0x8, 0x7e,0x34,0x0, 0x8, 0x79,0x30,0x0, 0x4, 0x91,0xf2,
|
||||
0xd2,0xac,0x22,0xc2,0xad,0x75,0x91,0x0, 0xc2,0x90,0xc2,0x91,0xa9,0xc0,0x93,0x75,
|
||||
0x92,0x70,0xc2,0xc0,0xa9,0xd5,0xb7,0xd2,0xbd,0xd2,0xe8,0xd2,0xad,0x22,0x80,0x14,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xe4,0x22,0xc2,0xa9,0xc2,
|
||||
0x8c,0x43,0x89,0x2, 0x75,0x8c,0x1, 0x75,0x8a,0x0, 0xd2,0xa9,0x22,0xc2,0x8c,0x6d,
|
||||
0x33,0x7a,0x37,0x2, 0x86,0xd2,0x8c,0x22,0x7e,0x37,0x2, 0x86,0xb, 0x34,0x7a,0x37,
|
||||
0x2, 0x86,0x22,0xe1,0x38,0xca,0x39,0xf1,0x38,0xda,0x39,0x32,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x7c,0xab,0x7e,0x70,0xef,0x7e,0xb3,0x2, 0x44,0x24,0xfd,0x68,0x5c,0x1b,0xb1,0x68,
|
||||
0x48,0x24,0x9f,0x68,0x67,0x1b,0xb2,0x68,0x69,0x24,0xda,0x68,0x1f,0x24,0xc4,0x68,
|
||||
0x53,0x1b,0xb2,0x68,0x51,0x24,0xf5,0x78,0x6e,0x7e,0xa3,0x2, 0x6e,0x7c,0xba,0x4,
|
||||
0x7a,0xb3,0x2, 0x6e,0xa, 0x3a,0x9, 0x73,0x2, 0x51,0x80,0x5b,0x4c,0xaa,0x78,0x5,
|
||||
0x7e,0x70,0x54,0x80,0x52,0xbe,0xa0,0x1, 0x78,0x5, 0x7e,0x70,0x5b,0x80,0x48,0xbe,
|
||||
0xa0,0x2, 0x78,0x43,0x7e,0x70,0xaa,0x80,0x3e,0x4c,0xaa,0x78,0x2, 0x80,0x5, 0xbe,
|
||||
0xa0,0x1, 0x78,0x33,0x7e,0x70,0x1, 0x80,0x2e,0xa, 0x3a,0x2e,0x35,0x25,0x9, 0x73,
|
||||
0x0, 0xa, 0x80,0x23,0x80,0x6, 0x7e,0x73,0x3, 0x8c,0x80,0x1b,0x7e,0x73,0x2, 0x79,
|
||||
0x80,0x15,0x4c,0xaa,0x78,0x8, 0x7e,0x37,0x2, 0x67,0xa, 0x36,0x80,0x9, 0xbe,0xa0,
|
||||
0x1, 0x78,0x4, 0x7e,0x37,0x2, 0x67,0x7c,0xb7,0x22,0x7c,0x97,0x7c,0x8b,0xc2,0x2,
|
||||
0x7e,0xb3,0x2, 0x44,0x14,0x78,0x2, 0x41,0xa2,0x1b,0xb1,0x78,0x2, 0x41,0x22,0x1b,
|
||||
0xb1,0x78,0x2, 0x41,0xa2,0x1b,0xb1,0x78,0x2, 0x41,0x65,0x14,0x78,0x2, 0x41,0x81,
|
||||
0x14,0x78,0x2, 0x41,0x87,0x24,0xf9,0x78,0x2, 0x41,0x9d,0x24,0xbb,0x68,0x55,0x24,
|
||||
0xf6,0x78,0x2, 0x61,0x7e,0x1b,0xb1,0x78,0x2, 0x61,0x6c,0x14,0x78,0x2, 0x61,0x76,
|
||||
0x1b,0xb1,0x78,0x2, 0x41,0xa5,0x14,0x78,0x2, 0x41,0xa7,0x14,0x78,0x2, 0x41,0xa2,
|
||||
0x1b,0xb2,0x78,0x2, 0x41,0xa2,0x24,0xda,0x68,0x2e,0x24,0xe6,0x68,0x28,0x24,0xfa,
|
||||
0x68,0x3f,0x24,0xf1,0x68,0x74,0x24,0xf3,0x78,0x2, 0x41,0xa2,0x24,0xec,0x78,0x2,
|
||||
0x61,0x8c,0x24,0x5, 0x68,0x2, 0x61,0x90,0xbe,0x80,0x1, 0x68,0x2, 0x61,0x90,0x7a,
|
||||
0x93,0x2, 0x6e,0x22,0x61,0x86,0x61,0x86,0xbe,0x80,0x4, 0x50,0xb, 0xe4,0x7a,0xb3,
|
||||
0x2, 0x79,0xa, 0x58,0x19,0x95,0x2, 0x47,0x4c,0x88,0x68,0x2, 0x61,0x90,0xd2,0x2,
|
||||
0x22,0x7c,0xb8,0x14,0x68,0xa, 0x14,0x68,0xf, 0x14,0x68,0x1e,0x24,0x3, 0x78,0x2a,
|
||||
0xa, 0x39,0x7d,0x23,0x6d,0x33,0x80,0xc, 0x7c,0x29,0x6c,0x33,0x6d,0x0, 0x7e,0x1f,
|
||||
0x2, 0x63,0x2f,0x10,0x7a,0x1f,0x2, 0x63,0x80,0x10,0xa, 0x19,0x6d,0x0, 0x7e,0x1f,
|
||||
0x2, 0x63,0x2f,0x10,0x7a,0x1f,0x2, 0x63,0xd2,0x3, 0x7c,0xb8,0x14,0x68,0x19,0x14,
|
||||
0x68,0x27,0x14,0x68,0x26,0x14,0x68,0x25,0x14,0x68,0x2a,0x24,0x5, 0x78,0x48,0x20,
|
||||
0x1, 0x2, 0x41,0xcc,0x41,0xc6,0x41,0xcc,0xa, 0x39,0x7d,0x3, 0x6d,0x11,0x7e,0x35,
|
||||
0x25,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x22,0x41,0xef,0x61,0x4, 0x7c,0x69,0x6c,
|
||||
0x77,0x6d,0x22,0x61,0x1c,0xa, 0x59,0x6d,0x44,0x7e,0x25,0x25,0x7d,0x32,0xb, 0x36,
|
||||
0x49,0x13,0x0, 0x2, 0xb, 0x38,0x0, 0x2f,0x2, 0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
|
||||
0x6d,0x33,0x59,0x32,0x0, 0x8, 0x22,0x7e,0xb3,0x2, 0x79,0x6c,0xb9,0x7a,0xb3,0x2,
|
||||
0x79,0x7e,0x25,0x25,0x2e,0x24,0x0, 0x8, 0xb, 0x28,0x50,0x7d,0x35,0xb, 0x34,0x1b,
|
||||
0x28,0x30,0x2e,0x55,0x25,0x19,0x95,0x0, 0xa, 0x7e,0x55,0x25,0x49,0x15,0x0, 0x8,
|
||||
0x6d,0x0, 0x49,0x35,0x0, 0x6, 0x49,0x25,0x0, 0x4, 0xbf,0x1, 0x50,0x2, 0x61,0x90,
|
||||
0x20,0x1, 0x3, 0xd3,0x80,0x1, 0xc3,0x92,0x1, 0x7a,0x55,0x23,0x7e,0x34,0x0, 0x2,
|
||||
0x61,0x67,0x7c,0xb8,0x14,0x68,0x15,0x14,0x68,0x14,0x14,0x68,0x13,0x24,0x3, 0x68,
|
||||
0x2, 0x61,0x90,0x20,0x1, 0x2, 0x41,0xcc,0x41,0xc6,0x41,0xcc,0x41,0xd4,0x41,0xef,
|
||||
0xa, 0x59,0x6d,0x44,0x7e,0x15,0x25,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x2f,0x12,
|
||||
0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x7e,0x35,0x25,0x7a,0x35,0x23,0xd2,0x2, 0x7e,
|
||||
0x34,0x0, 0x1, 0x61,0x67,0x75,0xe6,0x0, 0x75,0xe7,0x0, 0xe4,0x7e,0x34,0x1, 0x6,
|
||||
0x7e,0x24,0x0, 0xff,0x7a,0x1b,0xb0,0x7e,0x34,0x1, 0x7, 0x7a,0x1b,0xb0,0xd2,0x6,
|
||||
0x22,0x75,0xe6,0x0, 0xd2,0x9f,0x22,0xbe,0x80,0x1, 0x78,0x5, 0x7a,0x93,0x2, 0x6a,
|
||||
0x22,0xbe,0x80,0x2, 0x68,0x2, 0x61,0x90,0x7a,0x93,0x2, 0x46,0x22,0x7a,0x93,0x2,
|
||||
0x69,0x22,0xd2,0x2, 0x22,0x61,0x86,0x7c,0xb8,0x14,0x68,0x28,0x14,0x68,0x40,0x14,
|
||||
0x68,0x52,0x14,0x68,0x61,0x14,0x68,0x70,0x14,0x78,0x2, 0x61,0x45,0x24,0x6, 0x68,
|
||||
0x2, 0x61,0x90,0x30,0x1, 0x6, 0x7e,0x34,0x0, 0x28,0x80,0x4, 0x7e,0x34,0x1, 0x36,
|
||||
0x7a,0x35,0x25,0x22,0xa, 0x39,0x6d,0x22,0x7e,0x15,0x25,0x59,0x31,0x0, 0x2, 0x1b,
|
||||
0x18,0x20,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x7d,0x23,0x6d,0x33,0x80,0x4e,0xa,
|
||||
0x59,0x7c,0xab,0xe4,0x6d,0x44,0x7e,0x15,0x25,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,
|
||||
0x2f,0x12,0x80,0x39,0xa, 0x59,0x6d,0x44,0x7e,0x15,0x25,0x49,0x31,0x0, 0x2, 0xb,
|
||||
0x18,0x20,0x2f,0x12,0x80,0x27,0xa, 0x39,0x7d,0x23,0x6d,0x33,0x7e,0x15,0x25,0x59,
|
||||
0x31,0x0, 0x6, 0x59,0x21,0x0, 0x4, 0x22,0xa, 0x59,0x7c,0xab,0xe4,0x6d,0x44,0x7e,
|
||||
0x15,0x25,0xb, 0x16,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x2f,0x12,0x59,0x31,0x0,
|
||||
0x2, 0x1b,0x18,0x20,0x22,0xa, 0x59,0x6d,0x44,0x7e,0x35,0x25,0x7d,0x23,0xb, 0x26,
|
||||
0x49,0x12,0x0, 0x2, 0xb, 0x28,0x0, 0x2f,0x2, 0x59,0x12,0x0, 0x2, 0x1b,0x28,0x0,
|
||||
0x7a,0x35,0x23,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0x2, 0x61,0x22,0x7e,0x34,0x0, 0x4,
|
||||
0x7a,0x37,0x2, 0x61,0x80,0x10,0xe4,0x7c,0x78,0x7c,0x69,0x2, 0x18,0x0, 0x7e,0x34,
|
||||
0x0, 0x5, 0x7a,0x37,0x2, 0x61,0xe4,0x7a,0xb3,0x2, 0x79,0x22,0x7a,0x93,0x2, 0x84,
|
||||
0x22,0xca,0x7b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xd2,0x0, 0x30,0x90,0x22,0xc2,0x90,
|
||||
0x7e,0x71,0x91,0x7e,0xb3,0x2, 0x6b,0x70,0x4, 0x7a,0x73,0x2, 0x44,0x11,0x9a,0x7e,
|
||||
0xb3,0x2, 0x6b,0x4, 0x7a,0xb3,0x2, 0x6b,0x30,0x2, 0x5, 0xe4,0x11,0x0, 0xf5,0x91,
|
||||
0x30,0x91,0xf, 0xc2,0x91,0x7e,0xb3,0x2, 0x6b,0x4, 0x7a,0xb3,0x2, 0x6b,0x11,0x0,
|
||||
0xf5,0x91,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,
|
||||
0xe4,0x7a,0xb3,0x2, 0x6b,0xda,0xb8,0x32,0x7c,0x7b,0x2e,0x70,0xf9,0x78,0x2, 0x81,
|
||||
0xe0,0x1b,0x70,0x78,0x2, 0x81,0xfc,0x1b,0x70,0x78,0x2, 0xa1,0x2, 0x2e,0x70,0xf9,
|
||||
0x78,0x2, 0xa1,0x13,0x2e,0x70,0xb1,0x78,0x2, 0xa1,0x8c,0x1b,0x71,0x78,0x2, 0xa1,
|
||||
0x79,0x1b,0x70,0x78,0x2, 0xa1,0x83,0x1b,0x71,0x78,0x2, 0xa1,0x1c,0x1b,0x70,0x78,
|
||||
0x2, 0xa1,0x1e,0x2e,0x70,0xd5,0x68,0x1f,0x2e,0x70,0xe6,0x68,0x1a,0x1b,0x70,0x68,
|
||||
0x29,0x1b,0x70,0x78,0x2, 0x81,0xb8,0x1b,0x72,0x68,0xe, 0x2e,0x70,0xf1,0x68,0x32,
|
||||
0x2e,0x70,0x6a,0x68,0x2, 0xa1,0x99,0xa1,0x94,0x7e,0x1f,0x2, 0x63,0x7c,0x76,0x7c,
|
||||
0x65,0xa, 0x24,0x7a,0x1f,0x2, 0x63,0xd2,0x3, 0x22,0x7e,0x15,0x25,0x49,0x31,0x0,
|
||||
0x2, 0xb, 0x18,0x20,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x59,0x31,0x0, 0x2, 0x1b,0x18,
|
||||
0x20,0x22,0x7e,0x14,0x0, 0x4, 0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x2, 0xb, 0xa,
|
||||
0x20,0x69,0x11,0x0, 0x10,0x6d,0x0, 0x7e,0x35,0x25,0x59,0x13,0x0, 0x6, 0x59,0x3,
|
||||
0x0, 0x4, 0x7a,0x35,0x23,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0x2, 0x61,0x20,0x1, 0x3,
|
||||
0xd3,0x80,0x1, 0xc3,0x92,0x1, 0x30,0x1, 0x6, 0x7e,0x34,0x0, 0x28,0x80,0x4, 0x7e,
|
||||
0x34,0x1, 0x36,0x7a,0x35,0x25,0x80,0x25,0x7e,0x15,0x25,0x49,0x31,0x0, 0x2, 0xb,
|
||||
0x18,0x20,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x7e,
|
||||
0x35,0x25,0x7a,0x35,0x23,0x7e,0x34,0x0, 0x1, 0x7a,0x37,0x2, 0x61,0x2, 0x4, 0xad,
|
||||
0x75,0xe6,0x0, 0x75,0xe7,0x0, 0xe4,0x7e,0x34,0x1, 0x6, 0x7e,0x24,0x0, 0xff,0x7a,
|
||||
0x1b,0xb0,0x7e,0x34,0x1, 0x7, 0x7a,0x1b,0xb0,0xd2,0x6, 0x22,0x75,0xe6,0x0, 0xd2,
|
||||
0x9f,0x22,0x7e,0x73,0x2, 0x88,0x7a,0x73,0x2, 0x6a,0x7e,0x73,0x2, 0x89,0x7a,0x73,
|
||||
0x2, 0x46,0x22,0x7e,0x73,0x2, 0x88,0x7a,0x73,0x2, 0x69,0x22,0x80,0x76,0x7e,0x73,
|
||||
0x2, 0x89,0xa, 0x37,0x6d,0x22,0x7c,0x67,0x6c,0x77,0x7e,0x33,0x2, 0x88,0xa, 0x13,
|
||||
0x7d,0x1, 0x6d,0x11,0x2f,0x1, 0x7e,0x73,0x2, 0x8a,0xa, 0x37,0x2f,0x10,0x7e,0x15,
|
||||
0x23,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x7e,0x73,0x2, 0x8c,0xa, 0x37,0x6d,0x22,
|
||||
0x7c,0x67,0x6c,0x77,0x7e,0x13,0x2, 0x8b,0xa, 0x51,0x7d,0x45,0x6d,0x55,0x2f,0x21,
|
||||
0x7e,0x73,0x2, 0x8d,0xa, 0x37,0x2f,0x12,0x59,0x31,0x0, 0x6, 0x59,0x21,0x0, 0x4,
|
||||
0x7e,0x34,0x0, 0x3, 0x7a,0x37,0x2, 0x61,0x22,0x7e,0x34,0x0, 0x4, 0x7a,0x37,0x2,
|
||||
0x61,0x80,0x11,0x74,0x1, 0x6c,0x77,0x6c,0x66,0x2, 0x18,0x0, 0x7e,0x34,0x0, 0x5,
|
||||
0x7a,0x37,0x2, 0x61,0xe4,0x7a,0xb3,0x2, 0x79,0x22,0xca,0x7b,0xca,0x2b,0xca,0x1b,
|
||||
0xca,0xb, 0xc2,0x0, 0x7e,0x14,0x0, 0x4, 0x7e,0x4, 0x0, 0xff,0x69,0x50,0x0, 0x2,
|
||||
0xb, 0xa, 0x40,0xb, 0x2a,0x30,0x4e,0x70,0x80,0x1b,0x2a,0x30,0x69,0x30,0x0, 0x2,
|
||||
0xb, 0xa, 0x20,0x69,0x11,0x0, 0x2, 0x5e,0x14,0xff,0x0, 0x68,0x3f,0xb, 0x1a,0x10,
|
||||
0x4e,0x30,0x8, 0x1b,0x1a,0x10,0x7e,0x14,0x0, 0x4, 0x7e,0x4, 0x0, 0xff,0x69,0x50,
|
||||
0x0, 0x2, 0xb, 0xa, 0x40,0x69,0x12,0x0, 0x2, 0xa, 0x2, 0x1e,0x4, 0x1e,0x4, 0x5e,
|
||||
0x4, 0x0, 0x1, 0x78,0xc, 0xa, 0x12,0x1e,0x14,0x5e,0x14,0x0, 0x1, 0x78,0x2, 0xc1,
|
||||
0x96,0xb, 0x2a,0x10,0x4e,0x30,0x4, 0x1b,0x2a,0x10,0xc1,0x96,0x69,0x11,0x0, 0x2,
|
||||
0x1e,0x14,0x1e,0x14,0x1e,0x14,0x5e,0x14,0x0, 0x1, 0x68,0x6, 0x69,0x51,0x0, 0xe,
|
||||
0x71,0xe8,0x7e,0x34,0x0, 0x4, 0x7e,0x24,0x0, 0xff,0x69,0x11,0x0, 0x2, 0xb, 0x1a,
|
||||
0x0, 0x69,0x30,0x0, 0x2, 0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,0x9, 0xb,
|
||||
0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0x34,0x0, 0x4, 0x7e,0x24,0x0, 0xff,
|
||||
0x69,0x11,0x0, 0x2, 0xb, 0x1a,0x0, 0x69,0x30,0x0, 0x2, 0x1e,0x34,0x5e,0x34,0x0,
|
||||
0x1, 0x68,0xd, 0x2e,0x14,0x0, 0x6, 0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa, 0x30,
|
||||
0x7e,0x34,0x0, 0x4, 0x7e,0x24,0x0, 0xff,0x69,0x11,0x0, 0x2, 0xb, 0x1a,0x0, 0x69,
|
||||
0x30,0x0, 0x2, 0x5e,0x34,0x0, 0x1, 0x68,0xd, 0x2e,0x14,0x0, 0x6, 0xb, 0xa, 0x30,
|
||||
0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x7e,0x34,0xff,0xff,0x7e,0x54,0x0, 0x4, 0x7e,0x44,
|
||||
0x0, 0xff,0x69,0x12,0x0, 0x2, 0xb, 0x2a,0x0, 0x79,0x30,0x0, 0x6, 0xb, 0xa, 0x30,
|
||||
0x5e,0x34,0x0, 0x3, 0x1b,0xa, 0x30,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x7b,0x32,
|
||||
0x7f,0x50,0x7f,0x41,0x6c,0xaa,0xbe,0x58,0x0, 0x0, 0x38,0x3a,0x7e,0x58,0xff,0xff,
|
||||
0x7e,0xa0,0x1, 0x80,0x31,0x7e,0x18,0x0, 0x80,0x7a,0x1d,0x10,0x7f,0x14,0x7e,0x8,
|
||||
0x3, 0x8d,0x12,0x14,0x93,0x9e,0x58,0x0, 0x80,0x2e,0x48,0x0, 0x80,0x6d,0x44,0x9,
|
||||
0x34,0x3, 0x8d,0x7e,0x1d,0xc, 0x7e,0x1b,0xb0,0x6c,0xb3,0x7a,0x1b,0xb0,0xb, 0x44,
|
||||
0xbe,0x44,0x0, 0x80,0x78,0xe9,0xbe,0x58,0x0, 0x80,0x38,0xc9,0x4c,0xaa,0x68,0x2,
|
||||
0xb, 0x5c,0x7a,0x5d,0x10,0x7f,0x14,0x7e,0x8, 0x3, 0x8d,0x12,0x14,0x93,0x6d,0x44,
|
||||
0x80,0x11,0x9, 0x64,0x3, 0x8d,0x7e,0xd, 0xc, 0x7e,0xb, 0x70,0x6c,0x76,0x7a,0xb,
|
||||
0x70,0xb, 0x44,0x7d,0x34,0x6d,0x22,0xbf,0x15,0x40,0xe7,0x22,0xca,0x3b,0x7f,0x60,
|
||||
0x7f,0x71,0x7e,0x3d,0xc, 0x75,0x14,0x0, 0xa2,0x3, 0xe4,0x33,0x78,0xc, 0x7a,0x3d,
|
||||
0x15,0x7f,0x17,0x7f,0x6, 0x12,0x11,0x6e,0xe1,0xf6,0x7f,0x57,0x7f,0x7, 0x2f,0x3,
|
||||
0x7a,0xd, 0x10,0x7e,0x1f,0x2, 0x63,0xbf,0x1, 0x28,0x2, 0xe1,0xf6,0x4d,0xef,0x78,
|
||||
0x3, 0x75,0x27,0x0, 0xe5,0x27,0xbe,0xb0,0x4, 0x50,0x46,0xe5,0x27,0xa, 0x2b,0x7e,
|
||||
0x34,0x0, 0x4, 0x9d,0x32,0x7a,0x71,0x14,0xa, 0x37,0x6d,0x22,0xbf,0x13,0x28,0x4,
|
||||
0x7c,0xbf,0xf5,0x14,0xe5,0x14,0xa, 0x3b,0xca,0x39,0xe5,0x27,0xa, 0x1b,0x2e,0x14,
|
||||
0x2, 0x6f,0x6d,0x0, 0x7f,0x16,0x12,0x1, 0x20,0x1b,0xfd,0xe5,0x14,0x25,0x27,0xf5,
|
||||
0x27,0xe5,0x14,0xa, 0x3b,0x6d,0x22,0x2f,0x51,0xe5,0x14,0xa, 0x1b,0x2d,0xd1,0x9f,
|
||||
0x31,0xbe,0x38,0x0, 0x0, 0x28,0xa, 0x7a,0x3d,0x15,0x7f,0x15,0x7f,0x6, 0x12,0x11,
|
||||
0x6e,0x7e,0xf, 0x2, 0x63,0x7e,0x1d,0x10,0xbf,0x10,0x78,0x1a,0xe5,0x27,0xb4,0x4,
|
||||
0x15,0x7e,0x18,0x0, 0x4, 0x7a,0x1d,0x15,0x9f,0x11,0x7e,0x8, 0x2, 0x6f,0x12,0x11,
|
||||
0x6e,0x75,0x27,0xff,0xc2,0x3, 0xda,0x3b,0x22,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xa9,0xc2,0xb4,0x74,0x9f,0x11,0x68,0x7e,0x8, 0x0, 0xc, 0x7e,0x18,0x0, 0x1, 0x11,
|
||||
0x83,0xa9,0xd2,0xb4,0xe5,0xc, 0x60,0x5, 0xe5,0xc, 0xb4,0xff,0x2, 0xc3,0x22,0xd3,
|
||||
0x22,0xd2,0xc8,0x43,0xed,0xf, 0xc2,0xea,0x75,0xb3,0x13,0xa9,0xd1,0xb4,0xa9,0xc0,
|
||||
0xb4,0x22,0xca,0xf8,0x7e,0xf0,0x10,0x7e,0x34,0x15,0x0, 0xc2,0xa, 0x7d,0x23,0x1b,
|
||||
0x34,0x4d,0x22,0x78,0xf8,0x11,0x0, 0x92,0xa, 0x20,0xa, 0x19,0x75,0xed,0x9f,0xd2,
|
||||
0x8, 0xa9,0xd1,0xea,0xa9,0xd5,0xca,0xa9,0xc1,0xea,0x80,0x1, 0x0, 0x7c,0xaf,0x1b,
|
||||
0xf0,0x4c,0xaa,0x78,0xf7,0xda,0xf8,0x22,0x7c,0x7b,0x7a,0x71,0xb5,0xa9,0x36,0xb3,
|
||||
0xfc,0xa9,0xc6,0xb3,0xd3,0x22,0x75,0xb5,0x0, 0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,
|
||||
0xe5,0xb5,0x22,0x7f,0x61,0x7f,0x70,0x9f,0x11,0x80,0x13,0x75,0xb5,0x0, 0xa9,0x36,
|
||||
0xb3,0xfc,0xa9,0xc6,0xb3,0xe5,0xb5,0x7a,0x7b,0xb0,0xb, 0xf4,0xb, 0x1c,0xbf,0x16,
|
||||
0x40,0xe9,0x22,0xa9,0xc2,0xb4,0x30,0xa, 0x6, 0x74,0x6, 0x11,0x68,0x80,0x4, 0x74,
|
||||
0x4, 0x11,0x68,0xa9,0xd2,0xb4,0x22,0xa9,0xc2,0xb4,0x74,0x5, 0x11,0x68,0x11,0x76,
|
||||
0xa9,0xd2,0xb4,0x30,0xe0,0x2, 0xd3,0x22,0xc3,0x22,0xca,0xf8,0x7f,0x1, 0x7c,0xfb,
|
||||
0x7c,0xb1,0xf5,0x1f,0x7c,0xb2,0xf5,0x1e,0x7c,0xb3,0xf5,0x1d,0xa9,0xc2,0xb4,0x7c,
|
||||
0xbf,0x11,0x68,0xe5,0x1f,0x11,0x68,0xe5,0x1e,0x11,0x68,0xe5,0x1d,0x11,0x68,0xda,
|
||||
0xf8,0x22,0x7f,0x70,0x7f,0x61,0xe5,0x22,0xb4,0x1, 0x1d,0x7e,0x34,0xf0,0x0, 0x7e,
|
||||
0x24,0x0, 0x1, 0xbf,0x61,0x50,0x11,0x7e,0xd, 0x19,0x2f,0x6, 0x7e,0x34,0xe0,0x0,
|
||||
0x7e,0x24,0x0, 0x1, 0xbf,0x1, 0x38,0x55,0xd2,0xa, 0x11,0xa3,0x74,0x2, 0x7f,0x16,
|
||||
0x11,0xca,0x9f,0x11,0x80,0x14,0x7d,0x13,0x2d,0x1f,0x7d,0xe, 0x7e,0xb, 0xb0,0xf5,
|
||||
0xb5,0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0xb, 0x1c,0x7e,0xd, 0x19,0xbf,0x10,0x40,
|
||||
0xe5,0xa9,0xd2,0xb4,0x12,0x7, 0x2d,0x11,0xb7,0x50,0xa, 0x7e,0x37,0x2, 0x86,0xbe,
|
||||
0x34,0x1, 0xf4,0x28,0xf2,0x7e,0x37,0x2, 0x86,0xbe,0x34,0x1, 0xf4,0x38,0x3, 0x2,
|
||||
0x7, 0x43,0xc2,0x86,0x7e,0x34,0x13,0x88,0x12,0x6, 0xfe,0xd2,0x86,0x22,0xca,0x3b,
|
||||
0x7f,0x30,0x7f,0x51,0x7e,0x4d,0x15,0x7f,0x15,0x5e,0x34,0x0, 0x7f,0x7d,0x53,0x7e,
|
||||
0x44,0x0, 0x80,0x9d,0x45,0x7d,0x34,0x6d,0x22,0xbf,0x14,0x40,0xc, 0x7a,0x4d,0x19,
|
||||
0x7f,0x15,0x7f,0x3, 0x11,0xf2,0xd3,0x80,0x48,0x7d,0x34,0x6d,0x22,0x7a,0x1d,0x19,
|
||||
0x7f,0x15,0x7f,0x3, 0x11,0xf2,0x7d,0x34,0x6d,0x22,0x9f,0x41,0x2f,0x51,0x2d,0x74,
|
||||
0x80,0x19,0x7e,0x18,0x0, 0x80,0x7a,0x1d,0x19,0x7f,0x15,0x7f,0x3, 0x11,0xf2,0x9e,
|
||||
0x48,0x0, 0x80,0x2e,0x74,0x0, 0x80,0x2e,0x58,0x0, 0x80,0xbe,0x48,0x0, 0x80,0x50,
|
||||
0xe1,0xbe,0x48,0x0, 0x0, 0x68,0x9, 0x7a,0x4d,0x19,0x7f,0x15,0x7f,0x3, 0x11,0xf2,
|
||||
0xd3,0xda,0x3b,0x22,0x7c,0x6b,0xd2,0xa, 0x11,0xa3,0x74,0x20,0xca,0xb8,0xa, 0x36,
|
||||
0x6d,0x22,0x74,0xc, 0x2f,0x11,0x14,0x78,0xfb,0xda,0xb8,0x11,0xca,0xa9,0xd2,0xb4,
|
||||
0x12,0x7, 0x2d,0x11,0xb7,0x50,0xa, 0x7e,0x37,0x2, 0x86,0xbe,0x34,0x1, 0xf4,0x28,
|
||||
0xf2,0x7e,0x37,0x2, 0x86,0xbe,0x34,0x1, 0xf4,0x38,0x5, 0x12,0x7, 0x43,0xd3,0x22,
|
||||
0xc2,0x86,0x7e,0x34,0x13,0x88,0x12,0x6, 0xfe,0xd2,0x86,0xc3,0x22,0xd2,0xa, 0x11,
|
||||
0xa3,0xa9,0xc2,0xb4,0x74,0x60,0x11,0x68,0xa9,0xd2,0xb4,0x11,0xb7,0x40,0xfc,0xd3,
|
||||
0x22,0x7c,0x7b,0xa9,0xc2,0xb4,0xa9,0xc6,0xb3,0x75,0xb5,0x5, 0xa9,0x36,0xb3,0xfc,
|
||||
0xa9,0xc6,0xb3,0x75,0xb5,0x0, 0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0x75,0xb5,0x0,
|
||||
0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0x7a,0x71,0xb5,0xa9,0x36,0xb3,0xfc,0xa9,0xc6,
|
||||
0xb3,0x75,0xb5,0x0, 0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0x75,0xb5,0x0, 0xa9,0x36,
|
||||
0xb3,0xfc,0xa9,0xc6,0xb3,0x7e,0x61,0xb5,0x75,0xb5,0x0, 0xa9,0x36,0xb3,0xfc,0xa9,
|
||||
0xc6,0xb3,0x7e,0x71,0xb5,0xa9,0xd2,0xb4,0x7c,0x46,0x7c,0x64,0x22,0x7d,0x43,0x7c,
|
||||
0x5b,0xa, 0x58,0x7d,0x34,0x7c,0x47,0xa9,0xc2,0xb4,0xa9,0xc6,0xb3,0x75,0xb5,0x1,
|
||||
0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0x75,0xb5,0x0, 0xa9,0x36,0xb3,0xfc,0xa9,0xc6,
|
||||
0xb3,0x75,0xb5,0x0, 0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0x7a,0x51,0xb5,0xa9,0x36,
|
||||
0xb3,0xfc,0xa9,0xc6,0xb3,0xf5,0xb5,0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0x7a,0x41,
|
||||
0xb5,0xa9,0x36,0xb3,0xfc,0xa9,0xc6,0xb3,0xa9,0xd2,0xb4,0x22,0x7c,0x7b,0xbe,0x70,
|
||||
0x0, 0x28,0x2, 0x61,0x22,0x74,0x1, 0x7e,0x34,0xdf,0xff,0x51,0x9d,0x74,0x6, 0x51,
|
||||
0x41,0x7d,0x13,0x6c,0x33,0x7d,0x31,0x51,0x9d,0x74,0x6, 0x7d,0x31,0x51,0x9d,0x74,
|
||||
0x6, 0x7d,0x31,0x51,0x9d,0x74,0x2, 0x51,0x41,0x7d,0x13,0x4e,0x30,0x1, 0x7d,0x31,
|
||||
0x41,0x9d,0x74,0x6, 0x51,0x41,0x7d,0x13,0x7e,0x30,0xa5,0x7d,0x31,0x51,0x9d,0x7e,
|
||||
0x30,0xf, 0x74,0x6, 0x7d,0x31,0x51,0x9d,0x7e,0x30,0x6a,0x74,0x6, 0x7d,0x31,0x51,
|
||||
0x9d,0x7e,0x34,0x0, 0x5, 0x2, 0x6, 0xfe,0xca,0x79,0x7c,0xf7,0x7c,0xeb,0x74,0x1,
|
||||
0x51,0xec,0x74,0x1, 0x6d,0x33,0x51,0x9d,0xe4,0x51,0x41,0x7d,0x13,0x5e,0x14,0x80,
|
||||
0x0, 0x7c,0xf, 0x6c,0x11,0x3e,0x4, 0x4d,0x10,0x7d,0x31,0x51,0x9d,0x6d,0x0, 0xbe,
|
||||
0xe0,0x1, 0x78,0x6, 0x7e,0x14,0x0, 0x8, 0x80,0x2, 0x7d,0x10,0x74,0x4, 0x7d,0x31,
|
||||
0x51,0x9d,0x4e,0x30,0x10,0x4e,0x30,0x40,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,
|
||||
0x0, 0x19,0x12,0x6, 0xfe,0x4e,0x30,0x1, 0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,
|
||||
0xa2,0x1c,0x12,0x6, 0xfe,0x5e,0x30,0xbf,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,
|
||||
0x0, 0x19,0x12,0x6, 0xfe,0x5e,0x30,0xfe,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,
|
||||
0x0, 0x19,0x12,0x6, 0xfe,0x5e,0x30,0xef,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,
|
||||
0x0, 0x5, 0x12,0x6, 0xfe,0xe4,0x51,0xec,0x7e,0x34,0xff,0xf7,0x74,0x4, 0x51,0x9d,
|
||||
0xda,0x79,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x1, 0x51,0xec,0xe4,0x6d,0x33,0x51,0x9d,
|
||||
0x74,0x1, 0x6d,0x33,0x51,0x9d,0x6d,0x0, 0xbe,0xf0,0x1, 0x78,0x6, 0x7e,0x14,0x0,
|
||||
0x8, 0x80,0x2, 0x7d,0x10,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x4e,0x30,0x10,0x4e,0x30,
|
||||
0x40,0x4e,0x30,0x4, 0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,0x0, 0x19,0x12,0x6,
|
||||
0xfe,0x4e,0x30,0x1, 0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,0xa2,0x1c,0x12,0x6,
|
||||
0xfe,0x5e,0x30,0xbf,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,0x0, 0xa0,0x12,0x6,
|
||||
0xfe,0x5e,0x30,0xfe,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,0x0, 0x19,0x12,0x6,
|
||||
0xfe,0x5e,0x30,0xef,0x74,0x4, 0x7d,0x31,0x51,0x9d,0x7e,0x34,0x0, 0x1, 0x12,0x6,
|
||||
0xfe,0xe4,0x51,0xec,0x7e,0x34,0xff,0xf7,0x74,0x4, 0x51,0x9d,0xda,0xf8,0x22,0x7f,
|
||||
0x1, 0x7c,0xb1,0xf5,0x16,0x7c,0xb2,0xf5,0x15,0x7c,0xb3,0xf5,0x14,0xa9,0xc2,0xb4,
|
||||
0x74,0xb, 0x11,0x68,0xe5,0x16,0x11,0x68,0xe5,0x15,0x11,0x68,0xe5,0x14,0x11,0x68,
|
||||
0xe4,0x1, 0x68,0x7f,0x70,0x7f,0x1, 0x91,0x6f,0x7f,0x7, 0x7e,0x1d,0x10,0x11,0x83,
|
||||
0xa9,0xd2,0xb4,0xd3,0x22,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0x7c,0xa7,0xa, 0xf6,0x6d,0xee,0x60,0x2, 0x1, 0xb0,0x1b,0xa0,0x68,0x23,0x1b,0xa0,
|
||||
0x68,0x2e,0x1b,0xa0,0x68,0x3a,0x1b,0xa0,0x68,0x44,0x1b,0xa0,0x68,0x50,0x1b,0xa0,
|
||||
0x68,0x6d,0x2e,0xa0,0x6, 0x68,0x2, 0x21,0x15,0x7e,0x34,0x0, 0x28,0x7a,0x35,0x25,
|
||||
0x22,0x7d,0xf, 0x6d,0x11,0x7e,0x35,0x25,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x22,
|
||||
0x7d,0x4e,0x7c,0x89,0x7d,0x5f,0x7c,0x9a,0x7c,0xab,0xe4,0x7e,0x15,0x25,0x80,0x2e,
|
||||
0x7e,0x15,0x25,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x2f,0x17,0x80,0x29,0x7d,0x2f,
|
||||
0x6d,0x33,0x7e,0x15,0x25,0x59,0x31,0x0, 0x6, 0x59,0x21,0x0, 0x4, 0x22,0x7d,0x4e,
|
||||
0x7c,0x89,0x7d,0x5f,0x7c,0x9a,0x7c,0xab,0xe4,0x7e,0x15,0x25,0xb, 0x16,0x49,0x31,
|
||||
0x0, 0x2, 0xb, 0x18,0x20,0x2f,0x12,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
|
||||
0x35,0x25,0x7d,0x23,0xb, 0x26,0x49,0x12,0x0, 0x2, 0xb, 0x28,0x0, 0x2f,0x7, 0x59,
|
||||
0x12,0x0, 0x2, 0x1b,0x28,0x0, 0x7e,0x24,0x0, 0x6, 0x7a,0x27,0x2, 0x61,0x80,0x5d,
|
||||
0x7e,0x73,0x2, 0x89,0xa, 0x37,0x6d,0x22,0x7c,0x67,0x6c,0x77,0x7e,0x33,0x2, 0x88,
|
||||
0xa, 0x13,0x7d,0x1, 0x6d,0x11,0x2f,0x1, 0x7e,0x73,0x2, 0x8a,0xa, 0x37,0x2f,0x10,
|
||||
0x7e,0x15,0x25,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x7e,0x73,0x2, 0x8c,0xa, 0x37,
|
||||
0x6d,0x22,0x7c,0x67,0x6c,0x77,0x7e,0x13,0x2, 0x8b,0xa, 0x51,0x7d,0x45,0x6d,0x55,
|
||||
0x2f,0x21,0x7e,0x73,0x2, 0x8d,0xa, 0x37,0x2f,0x12,0x59,0x31,0x0, 0x6, 0x59,0x21,
|
||||
0x0, 0x4, 0x7e,0x34,0x0, 0x6, 0x7a,0x37,0x2, 0x61,0x7e,0x35,0x25,0x7a,0x35,0x23,
|
||||
0xe4,0x7a,0xb3,0x2, 0x79,0x22,0x75,0xa8,0x0, 0x75,0xdf,0x0, 0x12,0x4, 0x56,0x12,
|
||||
0x6, 0x65,0x12,0x10,0x21,0xd2,0x7, 0x12,0x10,0x32,0x12,0x6, 0xe3,0x12,0x7, 0x1d,
|
||||
0xd2,0xaf,0x22,0x7e,0xb3,0x2, 0x69,0xb4,0xc, 0xb, 0xc2,0x86,0x7e,0x34,0x0, 0x64,
|
||||
0x12,0x6, 0xfe,0xd2,0x86,0x22,0x7e,0xa3,0x2, 0x6a,0xbe,0xa0,0xb, 0x78,0x3a,0x7e,
|
||||
0x1f,0x2, 0x63,0xbe,0x18,0x0, 0x0, 0x68,0x12,0x7e,0x14,0xe0,0x0, 0x7e,0x4, 0x0,
|
||||
0x1, 0xbf,0x10,0x38,0x6, 0xa2,0x3, 0xe4,0x33,0x78,0x3, 0x74,0x1, 0x22,0x7e,0x45,
|
||||
0x23,0x49,0xf4,0x0, 0x6, 0x49,0xe4,0x0, 0x4, 0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
|
||||
0x2f,0x17,0xbf,0x10,0x40,0xb, 0x74,0x1, 0x22,0xbe,0xa0,0xa, 0x68,0x3, 0x74,0x1,
|
||||
0x22,0xe4,0x22,0x6d,0x33,0x7a,0x37,0x2, 0x61,0x7e,0x34,0x0, 0x28,0x7a,0x35,0x25,
|
||||
0x31,0x16,0x7e,0x37,0x2, 0x61,0x1b,0x34,0x68,0x6d,0x1b,0x35,0x78,0x2, 0x41,0x4f,
|
||||
0x1b,0x34,0x78,0x2, 0x41,0x81,0x1b,0x34,0x78,0x2, 0x61,0x3f,0x1b,0x34,0x78,0x2,
|
||||
0x61,0x70,0xb, 0x36,0x68,0x2, 0x81,0x27,0x6d,0x33,0x7a,0x37,0x2, 0x61,0x7a,0x37,
|
||||
0x2, 0x67,0x31,0x46,0x60,0x2, 0x81,0x27,0x7e,0x15,0x23,0x49,0x31,0x0, 0x6, 0x49,
|
||||
0x21,0x0, 0x4, 0x7a,0x1d,0xc, 0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x2e,0x14,0x0,
|
||||
0xa, 0x6d,0x0, 0x12,0xf, 0x3c,0x7e,0x55,0x23,0x49,0x15,0x0, 0x6, 0x49,0x5, 0x0,
|
||||
0x4, 0x49,0x35,0x0, 0x2, 0xb, 0x58,0x20,0x12,0x0, 0x9d,0x2e,0x34,0x10,0x0, 0x7a,
|
||||
0x37,0x2, 0x67,0x31,0x33,0x81,0x27,0x6d,0x33,0x7a,0x37,0x2, 0x61,0x7a,0x37,0x2,
|
||||
0x67,0x7e,0x18,0x1, 0x0, 0x7a,0x1d,0x10,0x7e,0x15,0x23,0x49,0x31,0x0, 0x2, 0xb,
|
||||
0x18,0x20,0x2e,0x14,0x0, 0xa, 0x6d,0x0, 0x12,0x14,0x93,0x30,0x0, 0x9, 0x7e,0x35,
|
||||
0x23,0x9, 0xb3,0x0, 0xa, 0xf5,0x91,0x31,0x33,0x7e,0x34,0xf0,0x88,0x80,0x2c,0x6d,
|
||||
0x33,0x7a,0x37,0x2, 0x61,0x7a,0x37,0x2, 0x67,0x7e,0x18,0x2, 0x79,0x7a,0x1d,0xc,
|
||||
0x7e,0x55,0x23,0x49,0x35,0x0, 0x2, 0xb, 0x58,0x20,0x49,0x15,0x0, 0x6, 0x49,0x5,
|
||||
0x0, 0x4, 0x12,0xe, 0xc0,0x31,0x33,0x7e,0x34,0xf0,0x55,0x7a,0x37,0x2, 0x67,0x81,
|
||||
0x27,0x75,0x22,0x0, 0x6d,0x33,0x7a,0x37,0x2, 0x61,0x7a,0x37,0x2, 0x67,0x7e,0xb3,
|
||||
0x2, 0x6a,0xb4,0xa, 0xe, 0x30,0x8, 0x6, 0xe4,0x12,0x13,0xe3,0x81,0x1d,0x12,0x12,
|
||||
0x2d,0x81,0x1d,0x7e,0xb3,0x2, 0x6a,0xb4,0xb, 0x67,0x7e,0x1f,0x2, 0x63,0xbe,0x18,
|
||||
0x0, 0x0, 0x78,0x2, 0x81,0x27,0x7e,0x14,0xe0,0x0, 0x7e,0x4, 0x0, 0x1, 0xbf,0x10,
|
||||
0x28,0x2, 0x81,0x27,0xa2,0x3, 0xe4,0x33,0x78,0x2, 0x81,0x27,0x7d,0x13,0x5e,0x14,
|
||||
0xf, 0xff,0x78,0x14,0x74,0xc, 0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,
|
||||
0x80,0x14,0x78,0xf4,0x7c,0xb3,0x80,0x12,0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3,
|
||||
0x4e,0x60,0x80,0x14,0x78,0xf4,0x7f,0x21,0xb, 0x2c,0xf5,0xb, 0x75,0xa, 0x0, 0x80,
|
||||
0x7, 0xe5,0xa, 0x12,0x11,0xe4,0x5, 0xa, 0xe5,0xb, 0xbe,0xb1,0xa, 0x38,0xf2,0x81,
|
||||
0x1d,0x20,0x8, 0x2, 0x81,0x1d,0x7e,0x73,0x2, 0x6a,0xa, 0x57,0x9e,0x54,0x0, 0x80,
|
||||
0xf5,0x8, 0x6d,0x66,0x80,0xd, 0xe4,0x7e,0xa1,0x8, 0xa, 0x3a,0x2d,0x36,0x12,0x13,
|
||||
0x48,0xb, 0x64,0x7e,0x73,0x2, 0x46,0xa, 0x37,0xbd,0x36,0x18,0xe9,0x81,0x1d,0x75,
|
||||
0x22,0x1, 0x6d,0x33,0x7a,0x37,0x2, 0x61,0x6d,0x22,0x7a,0x27,0x2, 0x67,0x30,0x8,
|
||||
0x2, 0x81,0x1d,0x7d,0x63,0xbe,0x64,0x0, 0x1e,0x48,0x6, 0xbe,0x64,0x0, 0x1f,0x48,
|
||||
0x5, 0x7c,0xbd,0x12,0x11,0xe4,0xb, 0x64,0xbe,0x64,0x0, 0x20,0x78,0xe7,0x81,0x1d,
|
||||
0x6d,0x33,0x7a,0x37,0x2, 0x61,0x7a,0x37,0x2, 0x67,0x30,0x8, 0x2, 0x81,0x1d,0x7e,
|
||||
0x15,0x23,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x7d,0x3, 0x5e,0x4, 0xf, 0xff,0x68,
|
||||
0x2, 0x81,0x27,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x4d,0x23,0x78,0x2, 0x81,
|
||||
0x27,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3,
|
||||
0x4e,0x60,0x80,0x14,0x78,0xf4,0x7c,0xb7,0xf5,0x8, 0x49,0x31,0x0, 0x6, 0x49,0x21,
|
||||
0x0, 0x4, 0x7d,0x3, 0x5e,0x4, 0xf, 0xff,0x78,0x1a,0x49,0x31,0x0, 0x6, 0x49,0x21,
|
||||
0x0, 0x4, 0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,
|
||||
0x7c,0xe7,0x80,0x1a,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x74,0xc, 0x1e,0x34,
|
||||
0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7c,0xe7,0xb, 0xe0,0xa, 0x2e,
|
||||
0xe5,0x8, 0xa, 0x3b,0x2d,0x32,0xbe,0x34,0x0, 0x1f,0x18,0x1b,0x6c,0xff,0x80,0x9,
|
||||
0xe5,0x8, 0x2c,0xbf,0x12,0x11,0xe4,0xb, 0xf0,0xbc,0xef,0x38,0xf3,0x7e,0x34,0xf0,
|
||||
0xaa,0x7a,0x37,0x2, 0x67,0x31,0x33,0x20,0x6, 0x2, 0x21,0xa2,0x7e,0x34,0x13,0x88,
|
||||
0x12,0x6, 0xfe,0x7e,0x34,0x13,0x88,0x12,0x6, 0xfe,0x75,0xe9,0xff,0x21,0xa2,0xff,
|
||||
|
|
@ -244,12 +244,8 @@ static void fast_smmu_unmap_page(struct device *dev, dma_addr_t iova,
|
|||
}
|
||||
|
||||
spin_lock_irqsave(&mapping->lock, flags);
|
||||
|
||||
if (unlikely(!av8l_fast_unmap_public(mapping->pgtbl_ops, iova, len)))
|
||||
goto fail;
|
||||
|
||||
av8l_fast_unmap_public(mapping->pgtbl_ops, iova, len);
|
||||
__fast_smmu_free_iova(mapping, iova, len);
|
||||
fail:
|
||||
spin_unlock_irqrestore(&mapping->lock, flags);
|
||||
|
||||
trace_unmap(to_msm_iommu_domain(mapping->domain), iova - offset, len,
|
||||
|
|
@ -389,8 +385,7 @@ static void fast_smmu_unmap_sg(struct device *dev,
|
|||
len = ALIGN(sg_dma_address(sg) + sg_dma_len(sg) - (start - offset),
|
||||
FAST_PAGE_SIZE);
|
||||
|
||||
if (unlikely(!av8l_fast_unmap_public(mapping->pgtbl_ops, start, len)))
|
||||
return;
|
||||
av8l_fast_unmap_public(mapping->pgtbl_ops, start, len);
|
||||
|
||||
spin_lock_irqsave(&mapping->lock, flags);
|
||||
__fast_smmu_free_iova(mapping, start, len);
|
||||
|
|
@ -658,10 +653,7 @@ static void fast_smmu_free(struct device *dev, size_t size,
|
|||
size = ALIGN(size, FAST_PAGE_SIZE);
|
||||
|
||||
spin_lock_irqsave(&mapping->lock, flags);
|
||||
|
||||
if (unlikely(!av8l_fast_unmap_public(mapping->pgtbl_ops, dma_handle, size)))
|
||||
goto fail;
|
||||
|
||||
av8l_fast_unmap_public(mapping->pgtbl_ops, dma_handle, size);
|
||||
__fast_smmu_free_iova(mapping, dma_handle, size);
|
||||
spin_unlock_irqrestore(&mapping->lock, flags);
|
||||
|
||||
|
|
@ -682,11 +674,6 @@ static void fast_smmu_free(struct device *dev, size_t size,
|
|||
|
||||
if (page)
|
||||
dma_free_contiguous(dev, page, size);
|
||||
|
||||
return;
|
||||
|
||||
fail:
|
||||
spin_unlock_irqrestore(&mapping->lock, flags);
|
||||
}
|
||||
|
||||
static int fast_smmu_mmap_attrs(struct device *dev, struct vm_area_struct *vma,
|
||||
|
|
|
|||
|
|
@ -127,14 +127,7 @@
|
|||
|
||||
#define PTE_SH_IDX(pte) (pte & AV8L_FAST_PTE_SH_MASK)
|
||||
|
||||
#define iopte_pmd_offset(pmds, base, iova) \
|
||||
({ \
|
||||
typeof(iova) __iova = (iova); \
|
||||
typeof(base) __base = (base); \
|
||||
typeof(pmds) __pmds = (pmds); \
|
||||
(__iova < __base) ? ERR_PTR(-EINVAL) : \
|
||||
__pmds + ((__iova - ALIGN_DOWN(__base, SZ_2M)) >> AV8L_FAST_PAGE_SHIFT); \
|
||||
})
|
||||
#define iopte_pmd_offset(pmds, base, iova) (pmds + ((iova - base) >> 12))
|
||||
|
||||
static inline dma_addr_t av8l_dma_addr(void *addr)
|
||||
{
|
||||
|
|
@ -209,12 +202,6 @@ void av8l_fast_clear_stale_ptes(struct io_pgtable_ops *ops, u64 base,
|
|||
struct io_pgtable *iop = iof_pgtable_ops_to_pgtable(ops);
|
||||
av8l_fast_iopte *pmdp = iopte_pmd_offset(data->pmds, data->base, base);
|
||||
|
||||
if (IS_ERR(pmdp)) {
|
||||
pr_err("Invalid iova : 0x%lx, as it is less than base : 0x%llx\n",
|
||||
iova, data->base);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = base >> AV8L_FAST_PAGE_SHIFT;
|
||||
i <= (end >> AV8L_FAST_PAGE_SHIFT); ++i) {
|
||||
if (!(*pmdp & AV8L_FAST_PTE_VALID)) {
|
||||
|
|
@ -267,12 +254,6 @@ static int av8l_fast_map(struct io_pgtable_ops *ops, unsigned long iova,
|
|||
unsigned long i, nptes = size >> AV8L_FAST_PAGE_SHIFT;
|
||||
av8l_fast_iopte pte;
|
||||
|
||||
if (IS_ERR(ptep)) {
|
||||
pr_err("Invalid iova : 0x%lx, as it is less than base : 0x%llx\n",
|
||||
iova, data->base);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
pte = av8l_fast_prot_to_pte(data, prot);
|
||||
paddr &= AV8L_FAST_PTE_ADDR_MASK;
|
||||
for (i = 0; i < nptes; i++, paddr += SZ_4K) {
|
||||
|
|
@ -305,12 +286,6 @@ __av8l_fast_unmap(struct io_pgtable_ops *ops, unsigned long iova,
|
|||
ptep = iopte_pmd_offset(data->pmds, data->base, iova);
|
||||
nptes = size >> AV8L_FAST_PAGE_SHIFT;
|
||||
|
||||
if (IS_ERR(ptep)) {
|
||||
pr_err("Invalid iova : 0x%lx, as it is less than base : 0x%llx\n",
|
||||
iova, data->base);
|
||||
return 0;
|
||||
}
|
||||
|
||||
memset(ptep, val, sizeof(*ptep) * nptes);
|
||||
av8l_clean_range(&iop->cfg, ptep, ptep + nptes);
|
||||
if (!allow_stale_tlb)
|
||||
|
|
@ -320,10 +295,10 @@ __av8l_fast_unmap(struct io_pgtable_ops *ops, unsigned long iova,
|
|||
}
|
||||
|
||||
/* caller must take care of tlb cache maintenance */
|
||||
size_t av8l_fast_unmap_public(struct io_pgtable_ops *ops, unsigned long iova,
|
||||
void av8l_fast_unmap_public(struct io_pgtable_ops *ops, unsigned long iova,
|
||||
size_t size)
|
||||
{
|
||||
return __av8l_fast_unmap(ops, iova, size, true);
|
||||
__av8l_fast_unmap(ops, iova, size, true);
|
||||
}
|
||||
|
||||
static size_t av8l_fast_unmap(struct io_pgtable_ops *ops, unsigned long iova,
|
||||
|
|
@ -408,12 +383,6 @@ static bool av8l_fast_iova_coherent(struct io_pgtable_ops *ops,
|
|||
struct av8l_fast_io_pgtable *data = iof_pgtable_ops_to_data(ops);
|
||||
av8l_fast_iopte *ptep = iopte_pmd_offset(data->pmds, data->base, iova);
|
||||
|
||||
if (IS_ERR(ptep)) {
|
||||
pr_err("Invalid iova : 0x%lx, as it is less than base : 0x%llx\n",
|
||||
iova, data->base);
|
||||
return false;
|
||||
}
|
||||
|
||||
return ((PTE_MAIR_IDX(*ptep) == AV8L_FAST_MAIR_ATTR_IDX_CACHE) &&
|
||||
((PTE_SH_IDX(*ptep) == AV8L_FAST_PTE_SH_OS) ||
|
||||
(PTE_SH_IDX(*ptep) == AV8L_FAST_PTE_SH_IS)));
|
||||
|
|
|
|||
1
drivers/kernelsu
Symbolic link
1
drivers/kernelsu
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../KernelSU/kernel
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/debugfs.h>
|
||||
|
|
@ -135,8 +135,6 @@ static int msm_cvp_initialize_core(struct platform_device *pdev,
|
|||
INIT_LIST_HEAD(&core->instances);
|
||||
mutex_init(&core->lock);
|
||||
mutex_init(&core->clk_lock);
|
||||
mutex_init(&core->idr_mtx);
|
||||
idr_init(&core->sess_idr);
|
||||
|
||||
core->state = CVP_CORE_UNINIT;
|
||||
for (i = SYS_MSG_INDEX(SYS_MSG_START);
|
||||
|
|
@ -508,8 +506,6 @@ static int msm_cvp_remove(struct platform_device *pdev)
|
|||
msm_cvp_free_platform_resources(&core->resources);
|
||||
sysfs_remove_group(&pdev->dev.kobj, &msm_cvp_core_attr_group);
|
||||
dev_set_drvdata(&pdev->dev, NULL);
|
||||
idr_destroy(&core->sess_idr);
|
||||
mutex_destroy(&core->idr_mtx);
|
||||
mutex_destroy(&core->lock);
|
||||
mutex_destroy(&core->clk_lock);
|
||||
kfree(core);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
||||
*/
|
||||
|
||||
#include <asm/memory.h>
|
||||
|
|
@ -30,7 +29,6 @@
|
|||
#include "cvp_hfi_helper.h"
|
||||
#include "cvp_hfi_io.h"
|
||||
#include "msm_cvp_dsp.h"
|
||||
#include "msm_cvp.h"
|
||||
|
||||
#define FIRMWARE_SIZE 0X00A00000
|
||||
#define REG_ADDR_OFFSET_BITMASK 0x000FFFFF
|
||||
|
|
@ -471,7 +469,6 @@ static int __dsp_suspend(struct iris_hfi_device *device, bool force, u32 flags)
|
|||
{
|
||||
int rc;
|
||||
struct cvp_hal_session *temp;
|
||||
struct msm_cvp_inst *inst = NULL;
|
||||
|
||||
if (msm_cvp_dsp_disable)
|
||||
return 0;
|
||||
|
|
@ -483,10 +480,9 @@ static int __dsp_suspend(struct iris_hfi_device *device, bool force, u32 flags)
|
|||
|
||||
/* don't suspend if cvp session is not paused */
|
||||
if (!(temp->flags & SESSION_PAUSE)) {
|
||||
inst = (struct msm_cvp_inst *)temp->session_id;
|
||||
dprintk(CVP_DSP,
|
||||
"%s: cvp session %x not paused\n",
|
||||
__func__, inst->sess_id);
|
||||
__func__, hash32_ptr(temp));
|
||||
return -EBUSY;
|
||||
}
|
||||
}
|
||||
|
|
@ -2228,17 +2224,12 @@ static void __session_clean(struct cvp_hal_session *session)
|
|||
{
|
||||
struct cvp_hal_session *temp, *next;
|
||||
struct iris_hfi_device *device;
|
||||
struct msm_cvp_core *core = NULL;
|
||||
struct msm_cvp_inst *inst = NULL;
|
||||
void *tmp = NULL;
|
||||
|
||||
if (!session || !session->device) {
|
||||
dprintk(CVP_WARN, "%s: invalid params\n", __func__);
|
||||
return;
|
||||
}
|
||||
device = session->device;
|
||||
core = list_first_entry(&cvp_driver->cores, struct msm_cvp_core, list);
|
||||
inst = (struct msm_cvp_inst *) session->session_id;
|
||||
dprintk(CVP_SESS, "deleted the session: %pK\n", session);
|
||||
/*
|
||||
* session might have been removed from the device list in
|
||||
|
|
@ -2250,13 +2241,6 @@ static void __session_clean(struct cvp_hal_session *session)
|
|||
break;
|
||||
}
|
||||
}
|
||||
/* Remove the IDR id assigned to this session */
|
||||
mutex_lock(&core->idr_mtx);
|
||||
tmp = idr_remove(&core->sess_idr, inst->sess_id);
|
||||
if (tmp != session)
|
||||
dprintk(CVP_WARN, "%s: session\n", __func__);
|
||||
mutex_unlock(&core->idr_mtx);
|
||||
|
||||
/* Poison the session handle with zeros */
|
||||
*session = (struct cvp_hal_session){ {0} };
|
||||
kfree(session);
|
||||
|
|
@ -2294,9 +2278,6 @@ static int iris_hfi_session_init(void *device, void *session_id,
|
|||
struct cvp_hfi_cmd_sys_session_init_packet pkt;
|
||||
struct iris_hfi_device *dev;
|
||||
struct cvp_hal_session *s;
|
||||
struct msm_cvp_core *core;
|
||||
struct msm_cvp_inst *inst;
|
||||
int id = 0;
|
||||
|
||||
if (!device || !new_session) {
|
||||
dprintk(CVP_ERR, "%s - invalid input\n", __func__);
|
||||
|
|
@ -2304,8 +2285,6 @@ static int iris_hfi_session_init(void *device, void *session_id,
|
|||
}
|
||||
|
||||
dev = device;
|
||||
core = list_first_entry(&cvp_driver->cores, struct msm_cvp_core, list);
|
||||
inst = session_id;
|
||||
mutex_lock(&dev->lock);
|
||||
|
||||
s = kzalloc(sizeof(*s), GFP_KERNEL);
|
||||
|
|
@ -2316,35 +2295,15 @@ static int iris_hfi_session_init(void *device, void *session_id,
|
|||
|
||||
s->session_id = session_id;
|
||||
s->device = dev;
|
||||
|
||||
mutex_lock(&core->idr_mtx);
|
||||
idr_preload(GFP_KERNEL);
|
||||
|
||||
/* Need to think if we can use core->lock or dev->lock or need a
|
||||
* different new lock for this?
|
||||
*/
|
||||
id = idr_alloc(&core->sess_idr, (void *)s, 0x7FFF0000, INT_MAX, GFP_NOWAIT);
|
||||
idr_preload_end();
|
||||
mutex_unlock(&core->idr_mtx);
|
||||
if (id < 0) {
|
||||
dprintk(CVP_ERR,
|
||||
"%s: idr allocation failed for session %pK of inst %pK\n",
|
||||
__func__, s, session_id);
|
||||
goto err_session_init_fail;
|
||||
}
|
||||
|
||||
dprintk(CVP_SESS,
|
||||
"%s: inst %pK, session %pK, idr_id = 0x%x\n", __func__, session_id, s, id);
|
||||
"%s: inst %pK, session %pK\n", __func__, session_id, s);
|
||||
|
||||
list_add_tail(&s->list, &dev->sess_head);
|
||||
|
||||
__set_default_sys_properties(device);
|
||||
|
||||
inst->sess_id = id;
|
||||
|
||||
if (call_hfi_pkt_op(dev, session_init, &pkt, s)) {
|
||||
dprintk(CVP_ERR, "session_init: failed to create packet\n");
|
||||
inst->sess_id = 0x0000DEAD;
|
||||
goto err_session_init_fail;
|
||||
}
|
||||
|
||||
|
|
@ -2358,7 +2317,6 @@ static int iris_hfi_session_init(void *device, void *session_id,
|
|||
err_session_init_fail:
|
||||
if (s)
|
||||
__session_clean(s);
|
||||
inst->sess_id = 0;
|
||||
*new_session = NULL;
|
||||
mutex_unlock(&dev->lock);
|
||||
return -EINVAL;
|
||||
|
|
@ -2920,11 +2878,9 @@ static struct cvp_hal_session *__get_session(struct iris_hfi_device *device,
|
|||
u32 session_id)
|
||||
{
|
||||
struct cvp_hal_session *temp = NULL;
|
||||
struct msm_cvp_inst *inst = NULL;
|
||||
|
||||
list_for_each_entry(temp, &device->sess_head, list) {
|
||||
inst = (struct msm_cvp_inst *)temp->session_id;
|
||||
if (session_id == inst->sess_id)
|
||||
if (session_id == hash32_ptr(temp))
|
||||
return temp;
|
||||
}
|
||||
|
||||
|
|
@ -3103,7 +3059,6 @@ static int __response_handler(struct iris_hfi_device *device)
|
|||
/* Process the packet types that we're interested in */
|
||||
process_system_msg(info, device, raw_packet);
|
||||
|
||||
/* This session_id is a double pointer to the idr_id of session */
|
||||
session_id = get_session_id(info);
|
||||
/*
|
||||
* hfi_process_msg_packet provides a session_id that's a hashed
|
||||
|
|
@ -3115,6 +3070,11 @@ static int __response_handler(struct iris_hfi_device *device)
|
|||
if (session_id) {
|
||||
struct cvp_hal_session *session = NULL;
|
||||
|
||||
if (upper_32_bits((uintptr_t)*session_id) != 0) {
|
||||
dprintk(CVP_ERR,
|
||||
"Upper 32-bits != 0 for sess_id=%pK\n",
|
||||
*session_id);
|
||||
}
|
||||
session = __get_session(device,
|
||||
(u32)(uintptr_t)*session_id);
|
||||
if (!session) {
|
||||
|
|
|
|||
|
|
@ -357,8 +357,10 @@ struct cvp_hfi_device {
|
|||
int (*validate_session)(void *sess, const char *func);
|
||||
};
|
||||
|
||||
typedef void (*hfi_cmd_response_callback) (u32 cmd, void *data);
|
||||
typedef void (*msm_cvp_callback) (u32 response, void *callback);
|
||||
typedef void (*hfi_cmd_response_callback) (enum hal_command_response cmd,
|
||||
void *data);
|
||||
typedef void (*msm_cvp_callback) (enum hal_command_response response,
|
||||
void *callback);
|
||||
|
||||
struct cvp_hfi_device *cvp_hfi_initialize(enum msm_cvp_hfi_type hfi_type,
|
||||
u32 device_id, struct msm_cvp_platform_resources *res,
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue